gnu: emacs-transient: Update to 0.3.2.
[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, 2020 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, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
9 ;;; Copyright © 2015, 2016, 2018, 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
12 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
13 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
16 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
17 ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019, 2020, 2021 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, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
29 ;;; Copyright © 2017, 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
30 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019, 2020, 2021 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, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019, 2020 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, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019, 2020, 2021 Brett Gilio <brettg@gnu.org>
45 ;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019, 2020, 2021 Joseph LaFreniere <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org>
55 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
57 ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
58 ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
59 ;;; Copyright © 2019 David Wilson <david@daviwil.com>
60 ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
61 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
62 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
63 ;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo>
64 ;;; Copyright © 2020, 2021 Martin Becze <mjbecze@riseup.net>
65 ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
66 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
67 ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc>
68 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
69 ;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
70 ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
71 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
72 ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc>
73 ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
74 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
75 ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
76 ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com>
77 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
78 ;;; Copyright © 2020 Eric Bavier <bavier@posteo.net>
79 ;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
80 ;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com>
81 ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net>
82 ;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com>
83 ;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
84 ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
85 ;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
86 ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
87 ;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
88 ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
89 ;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com>
90 ;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com>
91 ;;; Copyright © 2020, 2021 Noah Evans <noah@nevans.me>
92 ;;; Copyright © 2020 Brit Butler <brit@kingcons.io>
93 ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org>
94 ;;; Copyright © 2021 Yurii Kholodkov <urist.mckorobochka@gmail.com>
95 ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
96 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
97 ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
98 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
99 ;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
100 ;;;
101 ;;; This file is part of GNU Guix.
102 ;;;
103 ;;; GNU Guix is free software; you can redistribute it and/or modify it
104 ;;; under the terms of the GNU General Public License as published by
105 ;;; the Free Software Foundation; either version 3 of the License, or (at
106 ;;; your option) any later version.
107 ;;;
108 ;;; GNU Guix is distributed in the hope that it will be useful, but
109 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
110 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
111 ;;; GNU General Public License for more details.
112 ;;;
113 ;;; You should have received a copy of the GNU General Public License
114 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
115
116 (define-module (gnu packages emacs-xyz)
117 #:use-module ((guix licenses) #:prefix license:)
118 #:use-module (guix packages)
119 #:use-module (guix cvs-download)
120 #:use-module (guix download)
121 #:use-module (guix bzr-download)
122 #:use-module (guix git-download)
123 #:use-module (guix hg-download)
124 #:use-module (guix build-system gnu)
125 #:use-module (guix build-system cmake)
126 #:use-module (guix build-system copy)
127 #:use-module (guix build-system emacs)
128 #:use-module (guix build-system glib-or-gtk)
129 #:use-module (guix build-system perl)
130 #:use-module (guix build-system trivial)
131 #:use-module (gnu packages)
132 #:use-module (gnu packages admin)
133 #:use-module (gnu packages audio)
134 #:use-module (gnu packages bash)
135 #:use-module (gnu packages cmake)
136 #:use-module (gnu packages code)
137 #:use-module (gnu packages cpp)
138 #:use-module (gnu packages curl)
139 #:use-module (gnu packages databases)
140 #:use-module (gnu packages dictionaries)
141 #:use-module (gnu packages djvu)
142 #:use-module (gnu packages ebook)
143 #:use-module (gnu packages emacs)
144 #:use-module (gnu packages golang)
145 #:use-module (gnu packages guile)
146 #:use-module (gnu packages gtk)
147 #:use-module (gnu packages gnome)
148 #:use-module (gnu packages haskell-apps)
149 #:use-module (gnu packages ibus)
150 #:use-module (gnu packages java)
151 #:use-module (gnu packages ncurses)
152 #:use-module (gnu packages python)
153 #:use-module (gnu packages python-xyz)
154 #:use-module (gnu packages telephony)
155 #:use-module (gnu packages terminals)
156 #:use-module (gnu packages tex)
157 #:use-module (gnu packages texinfo)
158 #:use-module (gnu packages tcl)
159 #:use-module (gnu packages tls)
160 #:use-module (gnu packages pkg-config)
161 #:use-module (gnu packages xorg)
162 #:use-module (gnu packages lesstif)
163 #:use-module (gnu packages llvm)
164 #:use-module (gnu packages image)
165 #:use-module (gnu packages linux)
166 #:use-module (gnu packages libevent)
167 #:use-module (gnu packages lisp-xyz)
168 #:use-module (gnu packages lua)
169 #:use-module (gnu packages music)
170 #:use-module (gnu packages version-control)
171 #:use-module (gnu packages imagemagick)
172 #:use-module (gnu packages w3m)
173 #:use-module (gnu packages web)
174 #:use-module (gnu packages wget)
175 #:use-module (gnu packages autotools)
176 #:use-module (gnu packages base)
177 #:use-module (gnu packages compression)
178 #:use-module (gnu packages node)
179 #:use-module (gnu packages xml)
180 #:use-module (gnu packages glib)
181 #:use-module (gnu packages acl)
182 #:use-module (gnu packages mail)
183 #:use-module (gnu packages messaging)
184 #:use-module (gnu packages package-management)
185 #:use-module (gnu packages perl)
186 #:use-module (gnu packages pdf)
187 #:use-module (gnu packages ruby)
188 #:use-module (gnu packages rust-apps)
189 #:use-module (gnu packages scheme)
190 #:use-module (gnu packages speech)
191 #:use-module (gnu packages xiph)
192 #:use-module (gnu packages mp3)
193 #:use-module (gnu packages gettext)
194 #:use-module (gnu packages fribidi)
195 #:use-module (gnu packages gd)
196 #:use-module (gnu packages fontutils)
197 #:use-module (gnu packages password-utils)
198 #:use-module (gnu packages pulseaudio)
199 #:use-module (gnu packages sphinx)
200 #:use-module (gnu packages xdisorg)
201 #:use-module (gnu packages shells)
202 #:use-module (gnu packages sqlite)
203 #:use-module (gnu packages ghostscript)
204 #:use-module (gnu packages gnupg)
205 #:use-module (gnu packages video)
206 #:use-module (gnu packages haskell-xyz)
207 #:use-module (gnu packages wordnet)
208 #:use-module (gnu packages photo)
209 #:use-module (gnu packages uml)
210 #:use-module (gnu packages finance)
211 #:use-module (guix utils)
212 #:use-module (srfi srfi-1)
213 #:use-module (ice-9 match))
214
215 ;;;
216 ;;; Emacs hacking.
217 ;;;
218
219 (define-public emacs-geiser
220 (package
221 (name "emacs-geiser")
222 (version "0.12")
223 (source
224 (origin
225 (method git-fetch)
226 (uri (git-reference
227 (url "https://gitlab.com/jaor/geiser/")
228 (commit version)))
229 (file-name (git-file-name name version))
230 (sha256
231 (base32 "0n718xpys7v94zaf9lpmsx97qgn6qxif1acr718wyvpmfr4hiv08"))))
232 (build-system gnu-build-system)
233 (arguments
234 '(#:phases
235 (modify-phases %standard-phases
236 (add-after 'install 'post-install
237 (lambda* (#:key outputs #:allow-other-keys)
238 (symlink "geiser-install.el"
239 (string-append (assoc-ref outputs "out")
240 "/share/emacs/site-lisp/"
241 "geiser-autoloads.el"))
242 #t)))))
243 (inputs
244 `(("guile" ,guile-2.2)))
245 (native-inputs
246 `(("emacs" ,emacs-minimal)
247 ("autoconf" ,autoconf)
248 ("automake" ,automake)
249 ("texinfo" ,texinfo)))
250 (home-page "https://nongnu.org/geiser/")
251 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
252 (description
253 "Geiser is a collection of Emacs major and minor modes that conspire with
254 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
255 continuously running Scheme interpreter takes the center of the stage in
256 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
257 implementation, Emacs and, ultimately, the schemer, giving them access to live
258 metadata.")
259 (license license:bsd-3)))
260
261 (define-public emacs-ac-geiser
262 (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
263 (revision "0"))
264 (package
265 (name "emacs-ac-geiser")
266 (version (git-version "0.1" revision commit))
267 (source
268 (origin
269 (uri (git-reference
270 (url "https://github.com/xiaohanyu/ac-geiser")
271 (commit commit)))
272 (method git-fetch)
273 (sha256
274 (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw"))
275 (file-name (git-file-name name version))))
276 (build-system emacs-build-system)
277 (propagated-inputs
278 `(("geiser" ,emacs-geiser)
279 ("auto-complete" ,emacs-auto-complete)))
280 (synopsis "Auto-complete backend for geiser")
281 (description
282 "This package provides an auto-complete source for Scheme projects
283 using geiser.")
284 (license license:bsd-3)
285 (home-page "https://github.com/xiaohanyu/ac-geiser"))))
286
287 (define-public emacs-geiser-gauche
288 (package
289 (name "emacs-geiser-gauche")
290 (version "0.0.2")
291 (source
292 (origin
293 (method git-fetch)
294 (uri (git-reference
295 (url "https://gitlab.com/emacs-geiser/gauche.git")
296 (commit version)))
297 (file-name (git-file-name name version))
298 (sha256
299 (base32 "0rxncnzx7qgcpvc8nz0sd8r0hwrplazzraahdwhbpq0q6z8ywqgg"))))
300 (build-system emacs-build-system)
301 (arguments
302 `(#:phases
303 (modify-phases %standard-phases
304 (add-after 'install 'install-scheme
305 (lambda* (#:key outputs #:allow-other-keys)
306 (install-file
307 "geiser-gauche.scm"
308 (string-append
309 (assoc-ref outputs "out")
310 "/share/emacs/site-lisp"))
311 #t)))))
312 (native-inputs
313 `(("geiser" ,emacs-geiser)))
314 (home-page "https://gitlab.com/emacs-geiser/gauche")
315 (synopsis "Gauche Scheme support for Geiser")
316 (description
317 "This package adds support for the Gauche Scheme implementation to Geiser,
318 a generic Scheme interaction mode for the GNU Emacs editor.")
319 (license license:expat)))
320
321 (define-public emacs-vc-hgcmd
322 (package
323 (name "emacs-vc-hgcmd")
324 (version "1.13")
325 (source (origin
326 (method git-fetch)
327 (uri (git-reference
328 (url "https://github.com/muffinmad/emacs-vc-hgcmd")
329 (commit (string-append "v" version))))
330 (file-name (git-file-name name version))
331 (sha256
332 (base32
333 "14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"))))
334 (build-system emacs-build-system)
335 (home-page "https://github.com/muffinmad/emacs-vc-hgcmd")
336 (synopsis "Version control (VC) backend for the Mercurial command server")
337 (description
338 "This package provides an Emacs VC backend to work with Mercurial
339 repositories through the
340 @uref{https://www.mercurial-scm.org/wiki/CommandServer,Mercurial command
341 server}. The main advantage compared to @code{vc-hg} is speed.")
342 (license license:gpl3+)))
343
344 (define-public emacs-hyperbole
345 (package
346 (name "emacs-hyperbole")
347 (version "7.1.3")
348 (source
349 (origin
350 (method url-fetch)
351 (uri (string-append "https://elpa.gnu.org/packages/"
352 "hyperbole-" version ".tar"))
353 (sha256
354 (base32 "0bizibn4qgxqp89fyik6p47s9hss1g932mg8k7pznn3kkhj5c8rh"))
355 (patches
356 (search-patches "emacs-hyperbole-toggle-messaging.patch"))))
357 (build-system emacs-build-system)
358 (arguments
359 `(#:include '("DEMO"
360 "DEMO-ROLO.otl"
361 "HY-ABOUT"
362 "\\.el$"
363 "\\.info$"
364 "\\.kotl$")
365 #:phases
366 (modify-phases %standard-phases
367 ;; Fix build issues about missing "domainname" and "hpmap:dir-user"
368 ;; parent dir.
369 (add-after 'unpack 'fix-build
370 (lambda* (#:key inputs #:allow-other-keys)
371 (substitute* "hypb.el"
372 (("/bin/domainname")
373 (string-append (assoc-ref inputs "inetutils")
374 "/bin/dnsdomainname")))
375 (substitute* "hyperbole.el"
376 (("\\(hyperb:check-dir-user\\)") ""))
377 #t)))))
378 (inputs
379 `(("inetutils" ,inetutils)))
380 (home-page "https://www.gnu.org/software/hyperbole/")
381 (synopsis "The Everyday Hypertextual Information Manager")
382 (description
383 "GNU Hyperbole, or just Hyperbole, is a programmable hypertextual
384 information management system. It offers rapid views and interlinking of all
385 kinds of textual information, utilizing Emacs for editing. In particular,
386 Hyperbole lets you quickly create and activate hyperlink buttons, build
387 outlines, manage all your contacts, your windows and frames, and search across
388 buffers, directory trees, or the web.")
389 (license license:gpl3+)))
390
391 (define-public emacs-paredit
392 (package
393 (name "emacs-paredit")
394 (version "24")
395 (source (origin
396 (method url-fetch)
397 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
398 version ".el"))
399 (sha256
400 (base32
401 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
402 (build-system emacs-build-system)
403 (home-page "http://mumble.net/~campbell/emacs/paredit/")
404 (synopsis "Emacs minor mode for editing parentheses")
405 (description
406 "ParEdit (paredit.el) is a minor mode for performing structured editing
407 of S-expression data. The typical example of this would be Lisp or Scheme
408 source code.
409
410 ParEdit helps **keep parentheses balanced** and adds many keys for moving
411 S-expressions and moving around in S-expressions. Its behavior can be jarring
412 for those who may want transient periods of unbalanced parentheses, such as
413 when typing parentheses directly or commenting out code line by line.")
414 (license license:gpl3+)))
415
416 (define-public emacs-project
417 (package
418 (name "emacs-project")
419 (version "0.5.4")
420 (source
421 (origin
422 (method url-fetch)
423 (uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar"))
424 (sha256
425 (base32 "0arjvhzzcf8b80w94yvpgfdlhsjwf5jk1r7vcai5a4dg3bi9cxyb"))))
426 (build-system emacs-build-system)
427 (propagated-inputs `(("emacs-xref" ,emacs-xref)))
428 (home-page "http://elpa.gnu.org/packages/project.html")
429 (synopsis "Operations on the current project")
430 (description
431 "This library contains generic infrastructure for dealing with projects,
432 some utility functions, and commands using that infrastructure.")
433 (license license:gpl3+)))
434
435 (define-public git-modes
436 (package
437 (name "emacs-git-modes")
438 (version "1.2.8")
439 (source (origin
440 (method git-fetch)
441 (uri (git-reference
442 (url "https://github.com/magit/git-modes")
443 (commit version)))
444 (file-name (git-file-name name version))
445 (sha256
446 (base32
447 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
448 (build-system emacs-build-system)
449 (home-page "https://github.com/magit/git-modes")
450 (synopsis "Emacs major modes for Git configuration files")
451 (description
452 "This package provides Emacs major modes for editing various Git
453 configuration files, such as .gitattributes, .gitignore, and .git/config.")
454 (license license:gpl3+)))
455
456 (define-public emacs-with-editor
457 (package
458 (name "emacs-with-editor")
459 (version "3.0.2")
460 (source
461 (origin
462 (method git-fetch)
463 (uri (git-reference
464 (url "https://github.com/magit/with-editor")
465 (commit (string-append "v" version))))
466 (file-name (git-file-name name version))
467 (sha256
468 (base32 "0hw6i5r3adkm4988badi94825lywkrh3sddiff4z04kj1nj15d0k"))))
469 (build-system emacs-build-system)
470 (arguments
471 `(#:phases
472 (modify-phases %standard-phases
473 (add-before 'install 'make-info
474 (lambda _
475 (invoke "makeinfo" "--no-split"
476 "-o" "with-editor.info" "with-editor.texi"))))))
477 (native-inputs
478 `(("texinfo" ,texinfo)))
479 (propagated-inputs
480 `(("emacs-async" ,emacs-async)))
481 (home-page "https://github.com/magit/with-editor")
482 (synopsis "Emacs library for using Emacsclient as EDITOR")
483 (description
484 "This package provides an Emacs library to use the Emacsclient as
485 @code{$EDITOR} of child processes, making sure they know how to call home.
486 For remote processes a substitute is provided, which communicates with Emacs
487 on stdout instead of using a socket as the Emacsclient does.")
488 (license license:gpl3+)))
489
490 (define-public emacs-libgit
491 (let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a")
492 (revision "1"))
493 (package
494 (name "emacs-libgit")
495 (version (git-version "20200515" revision commit))
496 (source (origin
497 (method git-fetch)
498 (uri (git-reference
499 (url "https://github.com/magit/libegit2")
500 (commit commit)))
501 (file-name (git-file-name name version))
502 (sha256
503 (base32
504 "0pnjr3bg6y6354dfjjxfj0g51swzgl1fncpprah75x4k94rd369f"))
505 (patches (search-patches
506 ;; Submitted for inclusion upstream (see:
507 ;; https://github.com/magit/libegit2/pull/96).
508 "emacs-libgit-use-system-libgit2.patch"))))
509 ;; Use the cmake-build-system as it provides support for cross builds.
510 (build-system cmake-build-system)
511 (arguments
512 `(#:configure-flags '("-DUSE_SYSTEM_LIBGIT2=x")
513 ;; Add the emacs-build-system byte compilation and install phases.
514 #:imported-modules (,@%cmake-build-system-modules
515 (guix build emacs-build-system)
516 (guix build emacs-utils))
517 #:modules ((guix build cmake-build-system)
518 ((guix build emacs-build-system) #:prefix emacs:)
519 (guix build emacs-utils)
520 (guix build utils))
521 #:phases
522 (modify-phases %standard-phases
523 (add-after 'unpack 'set-libgit--module-file
524 (lambda* (#:key outputs #:allow-other-keys)
525 (let ((out (assoc-ref outputs "out")))
526 (make-file-writable "libgit.el")
527 (emacs-substitute-variables "libgit.el"
528 ("libgit--module-file"
529 (string-append out "/share/emacs/site-lisp/libegit2.so")))
530 #t)))
531 (add-before 'install 'prepare-for-install
532 (lambda _
533 (let ((s (string-append "../" ,name "-" ,version "-checkout")))
534 (copy-file "libegit2.so" (string-append s "/libegit2.so"))
535 (chdir s)
536 #t)))
537 (replace 'install
538 (lambda* (#:key outputs #:allow-other-keys)
539 (let ((install (assoc-ref emacs:%standard-phases 'install)))
540 (install #:outputs outputs
541 #:include (cons "\\.so$"
542 emacs:%default-include)))))
543 (add-after 'install 'make-autoloads
544 (assoc-ref emacs:%standard-phases 'make-autoloads))
545 (add-after 'make-autoloads 'enable-autoloads-compilation
546 (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
547 (add-after 'enable-autoloads-compilation 'patch-el-files
548 (assoc-ref emacs:%standard-phases 'patch-el-files))
549 (add-after 'patch-el-files 'emacs-build
550 (assoc-ref emacs:%standard-phases 'build))
551 (add-after 'emacs-build 'validate-compiled-autoloads
552 (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
553 (native-inputs
554 `(("pkg-config" ,pkg-config)
555 ("emacs" ,emacs-no-x)
556 ("git" ,git-minimal)))
557 (inputs
558 `(("libgit2" ,libgit2)))
559 (home-page "https://github.com/magit/libegit2")
560 (synopsis "Emacs bindings for libgit2")
561 (description "This is an experimental module written in C providing
562 libgit2 bindings for Emacs, intended to boost the performance of Magit.")
563 ;; The LICENSE file says GPL v2+, but libgit.el says GPL v3+.
564 (license license:gpl3+))))
565
566 (define-public emacs-magit
567 ;; There hasn't been an official release since 2018-11-16.
568 (let ((commit "7f486d47fe7042edba8d9a855a4c2c301a30bc6b")
569 (revision "6"))
570 (package
571 (name "emacs-magit")
572 (version (git-version "2.90.1" revision commit))
573 (source
574 (origin
575 (method git-fetch)
576 (uri (git-reference
577 (url "https://github.com/magit/magit")
578 (commit commit)))
579 (file-name (git-file-name name version))
580 (sha256
581 (base32 "05kyc5y5wa1p3h8j7mbgvfc4zcj998zi26lnnmksj9wnvahzxfms"))))
582 (build-system emacs-build-system)
583 (arguments
584 `(#:emacs ,emacs-no-x ;module support is required
585 #:tests? #t
586 #:test-command '("make" "test")
587 #:phases
588 (modify-phases %standard-phases
589 (add-after 'unpack 'build-info-manual
590 (lambda _
591 (invoke "make" "info")
592 ;; Copy info files to the lisp directory, which acts as
593 ;; the root of the project for the emacs-build-system.
594 (for-each (lambda (f)
595 (install-file f "lisp"))
596 (find-files "Documentation" "\\.info$"))
597 (chdir "lisp")
598 #t))
599 (add-after 'build-info-manual 'set-magit-version
600 (lambda _
601 (make-file-writable "magit.el")
602 (emacs-substitute-variables "magit.el"
603 ("magit-version" ,version))
604 #t))
605 (add-after 'set-magit-version 'patch-exec-paths
606 (lambda* (#:key inputs #:allow-other-keys)
607 (let ((perl (assoc-ref inputs "perl")))
608 (make-file-writable "magit-sequence.el")
609 (emacs-substitute-variables "magit-sequence.el"
610 ("magit-perl-executable" (string-append perl "/bin/perl")))
611 #t)))
612 (add-before 'check 'configure-git
613 (lambda _
614 ;; Otherwise some tests fail with error "unable to auto-detect
615 ;; email address".
616 (setenv "HOME" (getcwd))
617 (invoke "git" "config" "--global" "user.name" "toto")
618 (invoke "git" "config" "--global" "user.email"
619 "toto@toto.com")))
620 (add-after 'configure-git 'disable-tramp-test
621 (lambda _
622 ;; There is an issue causing TRAMP to fail in the build
623 ;; environment. Setting the tramp-remote-shell parameter of
624 ;; the sudo-method to the file name of the shell didn't help.
625 (chdir "..")
626 (substitute* "t/magit-tests.el"
627 (("^\\(ert-deftest magit-toplevel:tramp.*" all)
628 (string-append all " (skip-unless nil)")))
629 #t))
630 (add-before 'install 'enter-lisp-directory
631 (lambda _
632 (chdir "lisp")
633 #t)))))
634 (native-inputs
635 `(("texinfo" ,texinfo)))
636 (inputs
637 `(("git" ,git)
638 ("perl" ,perl)))
639 (propagated-inputs
640 `(("emacs-dash" ,emacs-dash)
641 ("emacs-libgit" ,emacs-libgit)
642 ("emacs-transient" ,emacs-transient)
643 ("emacs-with-editor" ,emacs-with-editor)))
644 (home-page "https://magit.vc/")
645 (synopsis "Emacs interface for the Git version control system")
646 (description
647 "With Magit, you can inspect and modify your Git repositories
648 with Emacs. You can review and commit the changes you have made to
649 the tracked files, for example, and you can browse the history of past
650 changes. There is support for cherry picking, reverting, merging,
651 rebasing, and other common Git operations.")
652 (license license:gpl3+))))
653
654 (define-public emacs-magit-svn
655 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
656 (package
657 (name "emacs-magit-svn")
658 (version (git-version "2.2.1" "2" commit))
659 (source (origin
660 (method git-fetch)
661 (uri (git-reference
662 (url "https://github.com/magit/magit-svn")
663 (commit commit)))
664 (file-name (git-file-name name version))
665 (sha256
666 (base32
667 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
668 (build-system emacs-build-system)
669 (propagated-inputs `(("dash" ,emacs-dash)
670 ("with-editor" ,emacs-with-editor)
671 ("magit" ,emacs-magit)
672 ("transient" ,emacs-transient)))
673 (home-page "https://github.com/magit/magit-svn")
674 (synopsis "Git-SVN extension to Magit")
675 (description
676 "This package is an extension to Magit, the Git Emacs mode, providing
677 support for Git-SVN.")
678 (license license:gpl3+))))
679
680 (define-public emacs-magit-popup
681 (package
682 (name "emacs-magit-popup")
683 (version "2.13.3")
684 (source
685 (origin
686 (method git-fetch)
687 (uri (git-reference
688 (url "https://github.com/magit/magit-popup")
689 (commit (string-append "v" version))))
690 (file-name (git-file-name name version))
691 (sha256
692 (base32 "0znp6gx6vpcsybg774ab06mdgxb7sfk3gki1yp2qhkanav13i6q1"))))
693 (build-system emacs-build-system)
694 (arguments
695 `(#:phases
696 (modify-phases %standard-phases
697 (add-before 'install 'make-info
698 (lambda _
699 (invoke "make" "info"))))))
700 (native-inputs
701 `(("texinfo" ,texinfo)))
702 (propagated-inputs
703 `(("emacs-dash" ,emacs-dash)))
704 (home-page "https://github.com/magit/magit-popup")
705 (synopsis "Define prefix-infix-suffix command combos")
706 (description
707 "This library implements a generic interface for toggling switches and
708 setting options and then invoking an Emacs command which does something with
709 these arguments. The prototypical use is for the command to call an external
710 process, passing on the arguments as command line arguments.")
711 (license license:gpl3+)))
712
713 (define-public emacs-magit-annex
714 (let ((commit "ef5dce6267e9118a5eca82a22bcad0b67826c23a")
715 (revision "1"))
716 (package
717 (name "emacs-magit-annex")
718 (version (git-version "1.7.1" revision commit))
719 (source (origin
720 (method git-fetch)
721 (uri (git-reference
722 (url "https://github.com/magit/magit-annex")
723 (commit commit)))
724 (file-name (git-file-name name version))
725 (sha256
726 (base32
727 "0vzkydgl889cq173zjl89g2vrddb9abc4a8gljiz3b4a7n5b1nrd"))))
728 (build-system emacs-build-system)
729 (propagated-inputs
730 `(("magit" ,emacs-magit)
731 ("transient" ,emacs-transient)))
732 (home-page "https://github.com/magit/magit-annex/")
733 (synopsis "Git-annex support for Magit")
734 (description
735 "Magit-annex adds a few git-annex operations to the Magit interface.")
736 (license license:gpl3+))))
737
738 (define-public emacs-minions
739 (package
740 (name "emacs-minions")
741 (version "0.3.4")
742 (source
743 (origin
744 (method git-fetch)
745 (uri (git-reference
746 (url "https://github.com/tarsius/minions")
747 (commit (string-append "v" version))))
748 (file-name (git-file-name name version))
749 (sha256
750 (base32 "1rvsfg9aabvyzzxd38kvjwkm9675zcmrfhzj5x6wj0ba3n0k34q5"))))
751 (build-system emacs-build-system)
752 (propagated-inputs
753 `(("emacs-dash" ,emacs-dash)))
754 (home-page "https://github.com/tarsius/minions")
755 (synopsis "Minor-mode menu for the mode line")
756 (description
757 "This package implements a menu that lists enabled minor-modes, as well
758 as commonly but not currently enabled minor-modes. It can be used to toggle
759 local and global minor-modes, to access mode-specific menus, and to get help
760 about modes.
761
762 This menu is intended as a replacement for the incomplete yet wide list of
763 enabled minor-modes that is displayed in the mode line by default. To use the
764 menu like this, enable Minions mode.
765
766 Alternatively the menu can be bound globally, for example:
767 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
768 (license license:gpl3+)))
769
770 (define-public emacs-moody
771 (package
772 (name "emacs-moody")
773 (version "0.5.4")
774 (source
775 (origin
776 (method git-fetch)
777 (uri (git-reference
778 (url "https://github.com/tarsius/moody")
779 (commit (string-append "v" version))))
780 (file-name (git-file-name name version))
781 (sha256
782 (base32 "0n8p864yj5m3n7f9qiq9hy24dwfvv0a0wchx2818rppff6vfq3hf"))))
783 (build-system emacs-build-system)
784 (home-page "https://github.com/tarsius/moody")
785 (synopsis "Tabs and ribbons for Emacs mode-line")
786 (description
787 "@code{emacs-moody} provides utilities for displaying elements of
788 the mode line as tabs and ribbons. It also provides replacements for a few
789 built-in elements. The biggest difference to similar packages is that
790 this one is much simpler and much more consistent. When using this package,
791 then only the color of the mode line changes when a window becomes in-/active.")
792 (license license:gpl3+)))
793
794 (define-public emacs-theme-magic
795 ;; No tagged release upstream, but the commit below correspond to the 0.2.3
796 ;; release.
797 (let ((commit "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3")
798 (revision "0"))
799 (package
800 (name "emacs-theme-magic")
801 (version "0.2.3")
802 (source
803 (origin
804 (method git-fetch)
805 (uri (git-reference
806 (url "https://github.com/jcaw/theme-magic")
807 (commit commit)))
808 (file-name (git-file-name name version))
809 (sha256
810 (base32 "10gkg7jh1s1484gm66a87zr7x8vmv00s7gfd0w2pj47nqf98g8hz"))))
811 (build-system emacs-build-system)
812 (arguments
813 `(
814 ;; Include Pywal interaction scripts.
815 #:include (cons "^python/" %default-include)
816 #:phases
817 (modify-phases %standard-phases
818 (add-after 'unpack 'patch-exec-paths
819 (lambda* (#:key inputs #:allow-other-keys)
820 (let ((files '("theme-magic.el" "python/wal_change_colors.py"))
821 (python (assoc-ref inputs "python"))
822 (python-pywal (assoc-ref inputs "python-pywal")))
823 (substitute* files
824 (("\"python\"") (string-append "\"" python "/bin/python3\""))
825 (("\"wal\"") (string-append "\"" python-pywal "/bin/wal\""))))
826 #t)))))
827 (inputs
828 `(("python" ,python)
829 ("python-pywal" ,python-pywal)))
830 (home-page "https://github.com/jcaw/theme-magic")
831 (synopsis "Generate and apply color palettes based on your Emacs theme")
832 (description
833 "This package provides a command to extract the colors from your Emacs
834 theme and apply them to the rest of Linux with Pywal. Pywal only applies your
835 theme to the current session.")
836 (license license:gpl3+))))
837
838 (define-public emacs-theme-sorcery
839 (let ((revision "0")
840 (commit "5a1c4445b9e6e09589a299a9962a6973272a0c2f"))
841 (package
842 (name "emacs-theme-sorcery")
843 (version "1.0")
844 (source
845 (origin
846 (method git-fetch)
847 (uri (git-reference
848 (url "https://github.com/mtreca/emacs-theme-sorcery")
849 (commit commit)))
850 (file-name (git-file-name name version))
851 (sha256
852 (base32 "1b858049n6nw4qf60fmszjrhl80x7ssh32f7glj722kwy7404kdh"))))
853 (build-system emacs-build-system)
854 (propagated-inputs
855 `(("emacs-autothemer" ,emacs-autothemer)))
856 (home-page "https://github.com/mtreca/emacs-theme-sorcery")
857 (synopsis "Dark and low-contrast Emacs theme")
858 (description "Sorcery is a dark and low-contrast Emacs theme inspired by
859 Apprentice and Sourcerer.")
860 (license license:gpl3+))))
861
862 (define-public emacs-treepy
863 (package
864 (name "emacs-treepy")
865 (version "0.1.2")
866 (source (origin
867 (method git-fetch)
868 (uri (git-reference
869 (url "https://github.com/volrath/treepy.el")
870 (commit version)))
871 (file-name (git-file-name name version))
872 (sha256
873 (base32
874 "0pmrpij80m5kgcr8bw36r8wllgppasw08vn3ghwvis9srpaq75cn"))))
875 (build-system emacs-build-system)
876 (home-page
877 "https://github.com/volrath/treepy.el")
878 (synopsis "Tree traversal tools")
879 (description
880 "Generic tools for recursive and iterative tree traversal based on
881 clojure.walk and clojure.zip respectively.")
882 (license license:gpl3+)))
883
884 (define-public emacs-typing
885 (let ((commit "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa")
886 (revision "0"))
887 (package
888 (name "emacs-typing")
889 (version (git-version "1.1.4" revision commit))
890 (source
891 (origin
892 (method git-fetch)
893 (uri (git-reference
894 (url "https://github.com/kensanata/typing")
895 (commit commit)))
896 (file-name (git-file-name name version))
897 (sha256
898 (base32
899 "1dbh0srbf54lgd60ia79y9cfnq3kxlgw01qzdjs9mk3nfazzpgnv"))))
900 (build-system emacs-build-system)
901 (home-page "https://github.com/kensanata/typing/")
902 (synopsis "Emacs game where you have to type fast")
903 (description "The Typing of Emacs is a game for Emacs that
904 forces you to type words correctly as fast as possible, otherwise
905 you will die. The game builds the list of words from the active buffer.")
906 (license license:gpl2+))))
907
908 (define-public emacs-graphql
909 (package
910 (name "emacs-graphql")
911 (version "0.1.1")
912 (source (origin
913 (modules '((guix build utils)))
914 ;; Remove examples file with references to external packages as
915 ;; they do not exist at compilation time.
916 (snippet
917 '(begin (delete-file "examples.el")
918 #t))
919 (method git-fetch)
920 (uri (git-reference
921 (url "https://github.com/vermiculus/graphql.el")
922 (commit version)))
923 (file-name (git-file-name name version))
924 (sha256
925 (base32
926 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
927 (build-system emacs-build-system)
928 (home-page
929 "https://github.com/vermiculus/graphql.el")
930 (synopsis "GraphQL utilities")
931 (description
932 "GraphQL.el provides a generally-applicable domain-specific language for
933 creating and executing GraphQL queries against your favorite web services.
934 GraphQL is a data query language and runtime designed and used to request and
935 deliver data to mobile and web apps.")
936 (license license:gpl3+)))
937
938 (define-public emacs-graphql-mode
939 ;; No tagged commit. No "Version" keyword either.
940 (let ((commit "9bed568ec86242dbe30bdbab324aa0eb2cd9bf08")
941 (revision "1"))
942 (package
943 (name "emacs-graphql-mode")
944 (version (git-version "0" revision commit))
945 (source
946 (origin
947 (method git-fetch)
948 (uri (git-reference
949 (url "https://github.com/davazp/graphql-mode")
950 (commit commit)))
951 (file-name (git-file-name name version))
952 (sha256
953 (base32 "0x9y7qq6y0zg8ncamzvk68ccmdyzh7xsj0xs0ykyl20d5wdpplj4"))))
954 (build-system emacs-build-system)
955 (home-page "https://github.com/davazp/graphql-mode")
956 (synopsis "Emacs mode to edit GraphQL schema and queries")
957 (description
958 "This package implements a major mode to edit GraphQL schemas and
959 query. The basic functionality includes syntax highlight and indentation.
960 Additionally, it is able to send GraphQL queries to an end-point URL.
961
962 Files with the @file{.graphql} and @file{.gql} extensions are
963 automatically opened with this mode.")
964 (license license:gpl3+))))
965
966 (define-public emacs-ghq
967 (package
968 (name "emacs-ghq")
969 (version "0.1.2")
970 (source
971 (origin
972 (method git-fetch)
973 (uri (git-reference
974 (url "https://github.com/rcoedo/emacs-ghq")
975 (commit (string-append "v" version))))
976 (file-name (git-file-name name version))
977 (sha256
978 (base32 "0rh2k93c3a0vl073a3s3a3h6gkw454v1lyd7y8l3pd24vw9hc628"))))
979 (build-system emacs-build-system)
980 (propagated-inputs
981 `(("ghq" ,ghq)))
982 (home-page "https://github.com/rcoedo/emacs-ghq")
983 (synopsis "Emacs interface for @code{ghq} tool")
984 (description
985 "This package provides a set of functions wrapping @code{ghq}, a tool for
986 organizing remote Go repository clones.")
987 (license license:gpl3+)))
988
989 (define-public emacs-ghub
990 (package
991 (name "emacs-ghub")
992 (version "3.4.1")
993 (source
994 (origin
995 (method git-fetch)
996 (uri (git-reference
997 (url "https://github.com/magit/ghub")
998 (commit (string-append "v" version))))
999 (file-name (git-file-name name version))
1000 (sha256
1001 (base32 "07iy4203ppvzkh67sb0v968hnypnvy4dpfy0qpqrp8zmc455dxq5"))))
1002 (build-system emacs-build-system)
1003 (arguments
1004 `(#:phases
1005 (modify-phases %standard-phases
1006 (add-before 'install 'make-info
1007 (lambda _
1008 (invoke "make" "info"))))))
1009 (native-inputs
1010 `(("texinfo" ,texinfo)))
1011 (propagated-inputs
1012 `(("dash" ,emacs-dash)
1013 ("emacs-let-alist" ,emacs-let-alist)
1014 ("treepy" ,emacs-treepy)))
1015 (home-page "https://github.com/magit/ghub")
1016 (synopsis "Emacs client libraries for the APIs of various Git forges")
1017 (description
1018 "Ghub provides basic support for using the APIs of various Git forges from
1019 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
1020 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
1021 handful of functions that are not resource-specific.")
1022 (license license:gpl3+)))
1023
1024 (define-public emacs-typit
1025 ;; Last release is from 2017.
1026 (let ((commit "231cb7df43253b84323520b8ed70f128d37003af")
1027 (revision "1"))
1028 (package
1029 (name "emacs-typit")
1030 (version (git-version "0.2.1" revision commit))
1031 (source
1032 (origin
1033 (method git-fetch)
1034 (uri (git-reference
1035 (url "https://github.com/mrkkrp/typit")
1036 (commit commit)))
1037 (file-name (git-file-name name version))
1038 (sha256
1039 (base32 "1savrxs7xl92ifyxpxkkzv2didr7lb405h0dwz1bs1wldr5fb53f"))))
1040 (build-system emacs-build-system)
1041 (arguments
1042 `(#:phases
1043 (modify-phases %standard-phases
1044 (add-after 'install 'install-dictionaries
1045 (lambda* (#:key outputs #:allow-other-keys)
1046 (let* ((out (assoc-ref outputs "out"))
1047 (site-lisp
1048 (string-append
1049 out "/share/emacs/site-lisp/dict")))
1050 (mkdir-p site-lisp)
1051 (copy-recursively "dict" site-lisp)
1052 #t))))))
1053 (propagated-inputs
1054 `(("emacs-f" ,emacs-f)
1055 ("emacs-mmt" ,emacs-mmt)))
1056 (home-page "https://github.com/mrkkrp/typit")
1057 (synopsis "Typing game for Emacs with two difficulties")
1058 (description "Emacs Typit is a typing game for Emacs. Words that are
1059 picked randomly from the most frequent words in language you're practicing,
1060 until time is up.")
1061 (license license:gpl3+))))
1062
1063 (define-public emacs-scribble-mode
1064 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
1065 (revision "2"))
1066 (package
1067 (name "emacs-scribble-mode")
1068 (version (git-version "0.1" revision commit))
1069 (source (origin
1070 (method git-fetch)
1071 (uri (git-reference
1072 (url "https://github.com/emacs-pe/scribble-mode")
1073 (commit commit)))
1074 (file-name (git-file-name name version))
1075 (sha256
1076 (base32
1077 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
1078 (build-system emacs-build-system)
1079 (home-page "https://github.com/emacs-pe/scribble-mode")
1080 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
1081 (description
1082 "This package provides basic syntax highlighting and editing support
1083 for editing Racket's Scribble documentation syntax in Emacs.")
1084 (license license:gpl3+))))
1085
1086 (define-public emacs-shroud
1087 (package
1088 (name "emacs-shroud")
1089 (version "1.105")
1090 (source
1091 (origin
1092 (method git-fetch)
1093 (uri (git-reference
1094 (url "https://git.savannah.gnu.org/git/emacs-shroud.git")
1095 (commit version)))
1096 (file-name (git-file-name name version))
1097 (sha256
1098 (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
1099 (build-system gnu-build-system)
1100 (native-inputs
1101 `(("autoconf" ,autoconf)
1102 ("automake" ,automake)
1103 ("texinfo" ,texinfo)
1104 ("perl" ,perl)
1105 ("emacs-minimal" ,emacs-minimal)))
1106 (propagated-inputs
1107 `(("emacs-bui" ,emacs-bui)
1108 ("emacs-dash" ,emacs-dash)
1109 ("emacs-f" ,emacs-f)
1110 ("emacs-s" ,emacs-s)
1111 ("gnupg" ,gnupg)
1112 ("shroud" ,shroud)))
1113 (home-page "https://www.nongnu.org/emacs-shroud")
1114 (synopsis "Emacs interface to the Shroud password manager")
1115 (description
1116 "This package provides an Emacs interface to the Shroud password manager,
1117 using the Buffers User Interface library. You can view, copy, and edit secrets
1118 from within Emacs.")
1119 (license license:gpl3+)))
1120
1121 (define-public emacs-solidity
1122 ;; This commit fixes a spacing issue and adds new keywords.
1123 (let ((commit "d166a86b83907e0cfd64c191e9dfce4b44a9843e")
1124 (revision "0"))
1125 (package
1126 (name "emacs-solidity")
1127 (version (git-version "0.1.10" revision commit))
1128 (source
1129 (origin
1130 (method git-fetch)
1131 (uri (git-reference
1132 (url "https://github.com/ethereum/emacs-solidity")
1133 (commit commit)))
1134 (file-name (git-file-name name version))
1135 (sha256
1136 (base32 "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq"))))
1137 (build-system emacs-build-system)
1138 (propagated-inputs
1139 `(("emacs-company" ,emacs-company)
1140 ("emacs-flycheck" ,emacs-flycheck)))
1141 (home-page "https://github.com/ethereum/emacs-solidity")
1142 (synopsis "Major mode for writing Solidity code")
1143 (description
1144 "This is a simple language mode for the Solidity language. It is
1145 a constant work in progress as the language itself also progresses.")
1146 (license license:gpl3+))))
1147
1148 (define-public emacs-unpackaged-el
1149 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
1150 (revision "3"))
1151 (package
1152 (name "emacs-unpackaged-el")
1153 (version (git-version "0" revision commit))
1154 (source
1155 (origin
1156 (method git-fetch)
1157 (uri (git-reference
1158 (url "https://github.com/alphapapa/unpackaged.el")
1159 (commit commit)))
1160 (file-name (git-file-name name version))
1161 (sha256
1162 (base32
1163 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
1164 (build-system emacs-build-system)
1165 (propagated-inputs
1166 `(("emacs-dash" ,emacs-dash)
1167 ("emacs-org" ,emacs-org)
1168 ("emacs-s" ,emacs-s)
1169 ("emacs-hydra" ,emacs-hydra)
1170 ("emacs-use-package" ,emacs-use-package)))
1171 (arguments
1172 `(#:phases
1173 (modify-phases %standard-phases
1174 (add-after 'unpack 'require-hydra
1175 (lambda _
1176 (substitute* "unpackaged.el"
1177 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
1178 #t)))))
1179 (home-page "https://github.com/alphapapa/unpackaged.el")
1180 (synopsis "Useful snippets of Emacs Lisp code")
1181 (description "This package provides Emacs Lisp utilities for a variety
1182 of tasks, including version control, task management, and regex-based
1183 replacement.")
1184 (license license:gpl3+))))
1185
1186 (define-public emacs-haskell-mode
1187 (package
1188 (name "emacs-haskell-mode")
1189 (version "17.2")
1190 (source
1191 (origin
1192 (method git-fetch)
1193 (uri (git-reference
1194 (url "https://github.com/haskell/haskell-mode")
1195 (commit version)))
1196 (file-name (git-file-name name version))
1197 (sha256
1198 (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
1199 (propagated-inputs
1200 `(("emacs-dash" ,emacs-dash)))
1201 (native-inputs
1202 `(("emacs" ,emacs-minimal)
1203 ("emacs-el-search" ,emacs-el-search)
1204 ("emacs-stream" ,emacs-stream)
1205 ("texinfo" ,texinfo)))
1206 (build-system gnu-build-system)
1207 (arguments
1208 `(#:make-flags (list (string-append "EMACS="
1209 (assoc-ref %build-inputs "emacs")
1210 "/bin/emacs"))
1211 #:modules ((ice-9 match)
1212 (srfi srfi-26)
1213 ,@%gnu-build-system-modules)
1214 #:phases
1215 (modify-phases %standard-phases
1216 (delete 'configure)
1217 (add-before 'build 'pre-build
1218 (lambda* (#:key inputs #:allow-other-keys)
1219 (define (el-dir store-dir)
1220 (match (find-files store-dir "\\.el$")
1221 ((f1 f2 ...) (dirname f1))
1222 (_ "")))
1223
1224 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
1225 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
1226
1227 (setenv "SHELL" "sh")
1228 (setenv "EMACSLOADPATH"
1229 (string-concatenate
1230 (map (match-lambda
1231 (((? emacs-prefix? name) . dir)
1232 (string-append (el-dir dir) ":"))
1233 (_ ""))
1234 inputs)))
1235 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
1236 #t)))
1237 (add-before 'check 'delete-failing-tests
1238 ;; XXX: these tests require GHC executable, which would be a big
1239 ;; native input.
1240 (lambda _
1241 (with-directory-excursion "tests"
1242 ;; File `haskell-indent-tests.el' fails with
1243 ;; `haskell-indent-put-region-in-literate-2'
1244 ;; on Emacs 27.1+
1245 ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
1246 (for-each delete-file
1247 '("haskell-indent-tests.el"
1248 "haskell-customize-tests.el"
1249 "inferior-haskell-tests.el")))
1250 #t))
1251 (replace 'install
1252 (lambda* (#:key outputs #:allow-other-keys)
1253 (let* ((out (assoc-ref outputs "out"))
1254 (el-dir (string-append out "/share/emacs/site-lisp"))
1255 (doc (string-append
1256 out "/share/doc/haskell-mode-" ,version))
1257 (info (string-append out "/share/info")))
1258 (define (copy-to-dir dir files)
1259 (for-each (lambda (f)
1260 (install-file f dir))
1261 files))
1262
1263 (with-directory-excursion "doc"
1264 (invoke "makeinfo" "haskell-mode.texi")
1265 (install-file "haskell-mode.info" info))
1266 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
1267 (copy-to-dir el-dir (find-files "." "\\.elc?"))
1268 #t))))))
1269 (home-page "https://github.com/haskell/haskell-mode")
1270 (synopsis "Haskell mode for Emacs")
1271 (description
1272 "This is an Emacs mode for editing, debugging and developing Haskell
1273 programs.")
1274 (license license:gpl3+)))
1275
1276 (define-public emacs-dante
1277 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
1278 (revision "1"))
1279 (package
1280 (name "emacs-dante")
1281 (version (git-version "1.6" revision commit))
1282 (source (origin
1283 (method git-fetch)
1284 (uri (git-reference
1285 (url "https://github.com/jyp/dante")
1286 (commit commit)))
1287 (sha256
1288 (base32
1289 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
1290 (file-name (git-file-name name version))))
1291 (build-system emacs-build-system)
1292 (propagated-inputs
1293 `(("emacs-dash" ,emacs-dash)
1294 ("emacs-f" ,emacs-f)
1295 ("emacs-flycheck" ,emacs-flycheck)
1296 ("emacs-haskell-mode" ,emacs-haskell-mode)
1297 ("emacs-s" ,emacs-s)
1298 ("emacs-company" ,emacs-company)
1299 ("emacs-lcr" ,emacs-lcr)))
1300 (home-page "https://github.com/jyp/dante")
1301 (synopsis "Minor mode for interactive Haskell")
1302 (description
1303 "This package provides a minor mode for Haskell development that
1304 supports type hints, definition-jumping, completion, and more.")
1305 (license license:gpl3+))))
1306
1307 (define-public emacs-flycheck
1308 ;; Last release version was more than 500 commits ago.
1309 (let ((commit "9bcf6b665e15db94870bebc81dc8248c3eec20d3")
1310 (revision "2"))
1311 (package
1312 (name "emacs-flycheck")
1313 (version (git-version "31" revision commit))
1314 (source
1315 (origin
1316 (method git-fetch)
1317 (uri (git-reference
1318 (url "https://github.com/flycheck/flycheck/")
1319 (commit commit)))
1320 (sha256
1321 (base32 "015ixss5bjr7gvhj8mkw5x2x1hy6fvvsjarr2xpv0gskkkngs7pg"))
1322 (file-name (git-file-name name version))))
1323 (build-system emacs-build-system)
1324 (propagated-inputs
1325 `(("emacs-dash" ,emacs-dash)))
1326 (native-inputs
1327 `(("emacs-shut-up" ,emacs-shut-up)))
1328 (arguments
1329 `(#:phases
1330 (modify-phases %standard-phases
1331 (add-after 'unpack 'change-flycheck-version
1332 (lambda _
1333 (substitute* "flycheck.el"
1334 (("\\(pkg-info-version-info 'flycheck\\)")
1335 (string-append "\"" ,version "\"")))
1336 #t)))
1337 ;; TODO: many failing tests
1338 #:tests? #f
1339 #:test-command '("emacs" "-Q" "--batch" "-L" "."
1340 "--load" "test/flycheck-test"
1341 "--load" "test/run.el"
1342 "-f" "flycheck-run-tests-main")))
1343 (home-page "https://www.flycheck.org")
1344 (synopsis "On-the-fly syntax checking")
1345 (description
1346 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
1347 replacement for the older Flymake extension which is part of GNU Emacs, with
1348 many improvements and additional features.
1349
1350 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
1351 checking for over 30 programming and markup languages with more than 70
1352 different tools. It highlights errors and warnings inline in the buffer, and
1353 provides an optional IDE-like error list.")
1354 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
1355
1356 (define-public emacs-flymake-shellcheck
1357 ;; No tag, version grabbed from source .el file.
1358 (let ((commit "ac534e9ef15c82ac86ae65fe5004d29dbc8c92c7")
1359 (revision "1"))
1360 (package
1361 (name "emacs-flymake-shellcheck")
1362 (version (git-version "0.1" revision commit))
1363 (source
1364 (origin
1365 (method git-fetch)
1366 (uri (git-reference
1367 (url "https://github.com/federicotdn/flymake-shellcheck")
1368 (commit commit)))
1369 (file-name (git-file-name name version))
1370 (sha256
1371 (base32 "04yfb4sy41spjzk9mhm4gy0h8vnjx09p2g6nm1yzgd9a5ph9sqgl"))))
1372 (build-system emacs-build-system)
1373 (home-page "https://github.com/federicotdn/flymake-shellcheck")
1374 (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
1375 (description
1376 "This package provides a backend for Flymake to use the
1377 tool ShellCheck for static analyzing @command{bash} and @command{sh}
1378 scripts.")
1379 (license license:gpl3+))))
1380
1381 (define-public emacs-a
1382 (package
1383 (name "emacs-a")
1384 (version "0.1.1")
1385 (source (origin
1386 (method git-fetch)
1387 (uri (git-reference
1388 (url "https://github.com/plexus/a.el")
1389 (commit (string-append "v" version))))
1390 (file-name (git-file-name name version))
1391 (sha256
1392 (base32
1393 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
1394 (build-system emacs-build-system)
1395 (home-page "https://github.com/plexus/a.el/")
1396 (synopsis
1397 "Emacs library for dealing with association lists and hash tables")
1398 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
1399 with associative structures in a uniform and functional way. These functions
1400 can take association lists, hash tables, and in some cases vectors (where the
1401 index is considered the key).")
1402 (license license:gpl3+)))
1403
1404 (define-public emacs-ace-jump-mode
1405 (package
1406 (name "emacs-ace-jump-mode")
1407 (version "2.0")
1408 (home-page "https://github.com/winterTTr/ace-jump-mode")
1409 (source (origin
1410 (method git-fetch)
1411 (uri (git-reference
1412 (url home-page)
1413 (commit (string-append "v" version))))
1414 (sha256
1415 (base32
1416 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
1417 (file-name (git-file-name name version))))
1418 (build-system emacs-build-system)
1419 (synopsis "Cursor location minor mode for fast navigation")
1420 (description "Ace-jump-mode is a fast/direct cursor location minor
1421 mode. It creates an N-Branch search tree internally and marks all
1422 the possible position with predefined keys in within the whole Emacs
1423 view. This allows you to move to the character, word, or line almost
1424 directly.")
1425 (license license:gpl3+)))
1426
1427 (define-public emacs-anaphora
1428 (package
1429 (name "emacs-anaphora")
1430 (version "1.0.4")
1431 (source
1432 (origin
1433 (method git-fetch)
1434 (uri (git-reference
1435 (url "https://github.com/rolandwalker/anaphora")
1436 (commit (string-append "v" version))))
1437 (file-name (git-file-name name version))
1438 (sha256
1439 (base32
1440 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
1441 (build-system emacs-build-system)
1442 (home-page "https://github.com/rolandwalker/anaphora/")
1443 (synopsis "Anaphoric expressions for Emacs Lisp")
1444 (description "@code{emacs-anaphora} implements anaphoric expressions for
1445 Emacs Lisp.
1446
1447 Anaphoric expressions implicitly create one or more temporary variables which
1448 can be referred to during the expression. This technique can improve clarity
1449 in certain cases. It also enables recursion for anonymous functions.")
1450 (license license:public-domain)))
1451
1452 (define-public emacs-xr
1453 (package
1454 (name "emacs-xr")
1455 (version "1.21")
1456 (source
1457 (origin
1458 (method url-fetch)
1459 (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
1460 (sha256
1461 (base32 "0mc10d33lsqs0ihcja8w78jzh2pk0dfm9m86kap6r3hi6wkr1cmi"))))
1462 (build-system emacs-build-system)
1463 (home-page "https://elpa.gnu.org/packages/xr.html")
1464 (synopsis "Convert string regexp to rx notation")
1465 (description
1466 "This is an inverse companion to the @code{rx} package for translating
1467 regexps in string form to the @code{rx} notation. Its chief uses are:
1468
1469 @itemize
1470 @item Migrating existing code to @code{rx} form, for better readability and
1471 maintainability
1472 @item Understanding complex regexp strings and finding errors in them
1473 @end itemize
1474
1475 In addition to Emacs regexps, this package can also parse and troubleshoot
1476 skip set strings, which are arguments to @code{skip-chars-forward} and
1477 @code{skip-chars-backward}.")
1478 (license license:gpl3+)))
1479
1480 (define-public emacs-ample-regexps
1481 (let ((commit "153969ce547afe410b8986f01c9ed4087c9cd20b")
1482 (revision "2"))
1483 (package
1484 (name "emacs-ample-regexps")
1485 (version (git-version "0.1" revision commit))
1486 (source
1487 (origin
1488 (method git-fetch)
1489 (uri (git-reference
1490 (url "https://github.com/immerrr/ample-regexps.el")
1491 (commit commit)))
1492 (file-name (git-file-name name version))
1493 (sha256
1494 (base32
1495 "0dkp7bcd7h2ds40wyszy11nmh7c2jxrwy04ayz7pbxh53ir7s2k0"))))
1496 (build-system emacs-build-system)
1497 (native-inputs
1498 `(("ert-runner" ,emacs-ert-runner)))
1499 (arguments
1500 `(#:tests? #t
1501 #:test-command '("ert-runner" "-l" "ample-regexps")))
1502 (home-page "https://github.com/immerrr/ample-regexps.el")
1503 (synopsis "Compose and reuse Emacs regexps")
1504 (description
1505 "This package allows common parts of regexps to be easily picked out
1506 and reused.")
1507 (license license:gpl3+))))
1508
1509 (define-public emacs-airline-themes
1510 (package
1511 (name "emacs-airline-themes")
1512 (version "1.8")
1513 (source
1514 (origin
1515 (method git-fetch)
1516 (uri (git-reference
1517 (url "https://github.com/AnthonyDiGirolamo/airline-themes")
1518 (commit version)))
1519 (file-name (git-file-name name version))
1520 (sha256
1521 (base32 "1jx17g8a6pxkw4zlx3fwhqgxfzcf3019k8fklykamfrkharzsc2l"))))
1522 (build-system emacs-build-system)
1523 (propagated-inputs
1524 `(("emacs-powerline" ,emacs-powerline)))
1525 (home-page "https://github.com/AnthonyDiGirolamo/airline-themes")
1526 (synopsis "Vim-airline themes for Emacs Powerline")
1527 (description
1528 "This is a port of the themes in Vim-airline to Emacs Powerline.")
1529 (license license:expat)))
1530
1531 (define-public emacs-ample-theme
1532 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
1533 (revision "1"))
1534 (package
1535 (name "emacs-ample-theme")
1536 (version (git-version "0.0.0" revision commit))
1537 (source (origin
1538 (method git-fetch)
1539 (uri (git-reference
1540 (url "https://github.com/jordonbiondo/ample-theme")
1541 (commit commit)))
1542 (file-name (git-file-name name version))
1543 (sha256
1544 (base32
1545 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
1546 (build-system emacs-build-system)
1547 (home-page "https://github.com/jordonbiondo/ample-theme")
1548 (synopsis "Theme for Emacs providing dark, light, and flat versions")
1549 (description "Ample themes is a collection of three themes sharing a
1550 similar pallet with a light, dark and flat versions with a focus on being easy
1551 on the eyes during night and day. They only support GUI and 256 colour
1552 terminals.")
1553 (license license:gpl3+))))
1554
1555 (define-public emacs-reformatter
1556 (package
1557 (name "emacs-reformatter")
1558 (version "0.6")
1559 (source
1560 (origin
1561 (method git-fetch)
1562 (uri (git-reference
1563 (url "https://github.com/purcell/reformatter.el")
1564 (commit version)))
1565 (file-name (git-file-name name version))
1566 (sha256
1567 (base32 "1dfn7c3gpavpiwd73v2pasd8wd8b62dczhg9iv1cgh8vaqlsf92x"))))
1568 (build-system emacs-build-system)
1569 (home-page "https://github.com/purcell/reformatter.el")
1570 (synopsis "Define commands which run reformatters on the current buffer")
1571 (description
1572 "This library lets elisp authors easily define an idiomatic command to
1573 reformat the current buffer using a command-line program, together with an
1574 optional minor mode which can apply this command automatically on save.")
1575 (license license:gpl3+)))
1576
1577 (define-public emacs-relative-buffers
1578 (let ((release "0.0.1")
1579 (revision "0")
1580 (commit "9762fe268e9ff150dcec2e2e45d862d82d5c4008"))
1581 (package
1582 (name "emacs-relative-buffers")
1583 (version (git-version release revision commit))
1584 (source
1585 (origin
1586 (method git-fetch)
1587 (uri (git-reference
1588 (url "https://github.com/emacsattic/relative-buffers")
1589 (commit commit)))
1590 (file-name (git-file-name name version))
1591 (sha256
1592 (base32 "0fzhwbpyndwrmxip9zlcwkrr675l5pzwcygi45hv7w1hn39w0hxp"))
1593 (snippet
1594 '(begin
1595 ;; Delete the Cask test runners.
1596 (for-each delete-file '("Cask" "test/test-helper.el"))
1597 #t))))
1598 (build-system emacs-build-system)
1599 (arguments
1600 `(#:tests? #t
1601 #:test-command '("ert-runner")))
1602 (native-inputs
1603 `(("ert-runner" ,emacs-ert-runner)))
1604 (propagated-inputs
1605 `(("emacs-dash" ,emacs-dash)
1606 ("emacs-f" ,emacs-f)
1607 ("emacs-s" ,emacs-s)))
1608 (home-page "https://github.com/emacsattic/relative-buffers")
1609 (synopsis "Minor mode to rename buffers by project structure")
1610 (description
1611 "This package provides a minor mode for renaming buffers according to
1612 project structure. For Python buffers, that will be the whole module name.
1613 For temporary files and directories, that will be the relative path from the
1614 project root.")
1615 (license license:gpl3+))))
1616
1617 (define-public emacs-relint
1618 (package
1619 (name "emacs-relint")
1620 (version "1.19")
1621 (source
1622 (origin
1623 (method url-fetch)
1624 (uri (string-append "https://elpa.gnu.org/packages/"
1625 "relint-" version ".tar"))
1626 (sha256
1627 (base32 "14z3i01pq5ljhjf5yfcjw7hxljcrwjnizkrdc1qyh9b6h3ic1bbi"))))
1628 (build-system emacs-build-system)
1629 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1630 (home-page "https://github.com/mattiase/relint")
1631 (synopsis "Elisp regexp mistake finder")
1632 (description
1633 "Relint (regular expression lint) scans Elisp files for mistakes in
1634 regexps, including deprecated syntax and bad practice. It also checks the
1635 regexp-like arguments to @code{skip-chars-forward} and
1636 @code{skip-chars-backward}.")
1637 (license license:gpl3+)))
1638
1639 (define-public emacs-bug-hunter
1640 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1641 (revision "1"))
1642 (package
1643 (name "emacs-bug-hunter")
1644 (version (git-version "1.3.1" revision commit))
1645 (source
1646 (origin
1647 (method git-fetch)
1648 (uri (git-reference
1649 (url "https://github.com/Malabarba/elisp-bug-hunter")
1650 (commit commit)))
1651 (file-name (git-file-name name commit))
1652 (sha256
1653 (base32
1654 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1655 (build-system emacs-build-system)
1656 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1657 (synopsis "Hunt down errors by bisecting elisp files")
1658 (description
1659 "The Bug Hunter is an Emacs library that finds the source of an error
1660 or unexpected behavior inside an elisp configuration file (typically
1661 @file{init.el} or @file{.emacs}).")
1662 (license license:gpl3+))))
1663
1664 \f
1665 ;;;
1666 ;;; Web browsing.
1667 ;;;
1668
1669 (define-public emacs-w3m
1670 ;; Emacs-w3m follows a "rolling release" model.
1671 (package
1672 (name "emacs-w3m")
1673 (version "2018-11-11")
1674 (source (origin
1675 (method cvs-fetch)
1676 (uri (cvs-reference
1677 (root-directory
1678 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1679 (module "emacs-w3m")
1680 (revision version)))
1681 (file-name (string-append name "-" version "-checkout"))
1682 (sha256
1683 (base32
1684 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1685 (build-system gnu-build-system)
1686 (native-inputs `(("autoconf" ,autoconf)
1687 ("texinfo" ,texinfo)
1688 ("emacs" ,emacs-minimal)))
1689 (inputs `(("w3m" ,w3m)
1690 ("imagemagick" ,imagemagick)))
1691 (arguments
1692 `(#:modules ((guix build gnu-build-system)
1693 (guix build utils)
1694 (guix build emacs-utils))
1695 #:imported-modules (,@%gnu-build-system-modules
1696 (guix build emacs-utils))
1697 #:configure-flags
1698 (let ((out (assoc-ref %outputs "out")))
1699 (list (string-append "--with-lispdir="
1700 out "/share/emacs/site-lisp")
1701 (string-append "--with-icondir="
1702 out "/share/images/emacs-w3m")
1703 ;; Leave .el files uncompressed, otherwise GC can't
1704 ;; identify run-time dependencies. See
1705 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1706 "--without-compress-install"))
1707 #:tests? #f ; no check target
1708 #:phases
1709 (modify-phases %standard-phases
1710 (add-after 'unpack 'autoconf
1711 (lambda _
1712 (invoke "autoconf")))
1713 (add-before 'configure 'support-emacs!
1714 (lambda _
1715 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1716 ;; unsupported.
1717 (substitute* "configure"
1718 (("EMACS_FLAVOR=unsupported")
1719 "EMACS_FLAVOR=emacs"))
1720 #t))
1721 (add-before 'build 'patch-exec-paths
1722 (lambda* (#:key inputs outputs #:allow-other-keys)
1723 (let ((out (assoc-ref outputs "out"))
1724 (w3m (assoc-ref inputs "w3m"))
1725 (imagemagick (assoc-ref inputs "imagemagick"))
1726 (coreutils (assoc-ref inputs "coreutils")))
1727 (make-file-writable "w3m.el")
1728 (emacs-substitute-variables "w3m.el"
1729 ("w3m-command" (string-append w3m "/bin/w3m"))
1730 ("w3m-touch-command"
1731 (string-append coreutils "/bin/touch"))
1732 ("w3m-icon-directory"
1733 (string-append out "/share/images/emacs-w3m")))
1734 (make-file-writable "w3m-image.el")
1735 (emacs-substitute-variables "w3m-image.el"
1736 ("w3m-imagick-convert-program"
1737 (string-append imagemagick "/bin/convert"))
1738 ("w3m-imagick-identify-program"
1739 (string-append imagemagick "/bin/identify")))
1740 #t)))
1741 (replace 'install
1742 (lambda* (#:key outputs #:allow-other-keys)
1743 (invoke "make" "install" "install-icons")
1744 (with-directory-excursion
1745 (string-append (assoc-ref outputs "out")
1746 "/share/emacs/site-lisp")
1747 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1748 (symlink "w3m-load.el" "w3m-autoloads.el")
1749 #t))))))
1750 (home-page "http://emacs-w3m.namazu.org/")
1751 (synopsis "Simple Web browser for Emacs based on w3m")
1752 (description
1753 "Emacs-w3m is an emacs interface for the w3m web browser.")
1754 (license license:gpl2+)))
1755
1756 (define-public emacs-wget
1757 (package
1758 (name "emacs-wget")
1759 (version "0.5.0")
1760 (source (origin
1761 (method url-fetch)
1762 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1763 version ".orig.tar.gz"))
1764 (sha256
1765 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1766 (build-system gnu-build-system)
1767 (inputs `(("wget" ,wget)))
1768 (native-inputs `(("emacs" ,emacs-minimal)))
1769 (arguments
1770 `(#:modules ((guix build gnu-build-system)
1771 (guix build utils)
1772 (guix build emacs-utils))
1773 #:imported-modules (,@%gnu-build-system-modules
1774 (guix build emacs-utils))
1775 #:tests? #f ; no check target
1776 #:phases
1777 (modify-phases %standard-phases
1778 (replace 'configure
1779 (lambda* (#:key outputs #:allow-other-keys)
1780 (substitute* "Makefile"
1781 (("/usr/local") (assoc-ref outputs "out"))
1782 (("/site-lisp/emacs-wget") "/site-lisp"))
1783 #t))
1784 (add-before 'build 'patch-exec-paths
1785 (lambda* (#:key inputs outputs #:allow-other-keys)
1786 (let ((wget (assoc-ref inputs "wget")))
1787 (emacs-substitute-variables "wget.el"
1788 ("wget-command" (string-append wget "/bin/wget"))))
1789 #t))
1790 (add-after 'install 'post-install
1791 (lambda* (#:key outputs #:allow-other-keys)
1792 (emacs-generate-autoloads
1793 "wget" (string-append (assoc-ref outputs "out")
1794 "/share/emacs/site-lisp/"))
1795 #t)))))
1796 (home-page "https://www.emacswiki.org/emacs/EmacsWget")
1797 (synopsis "Simple file downloader for Emacs based on wget")
1798 (description
1799 "Emacs-wget is an emacs interface for the wget file downloader.")
1800 (license license:gpl2+)))
1801
1802 (define-public emacs-eww-lnum
1803 (package
1804 (name "emacs-eww-lnum")
1805 (version "1.1")
1806 (source (origin
1807 (method git-fetch)
1808 (uri (git-reference
1809 (url "https://github.com/m00natic/eww-lnum")
1810 (commit version)))
1811 (file-name (git-file-name name version))
1812 (sha256
1813 (base32
1814 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
1815 (build-system emacs-build-system)
1816 (home-page "https://github.com/m00natic/eww-lnum")
1817 (synopsis "Conkeror-like functionality for Eww")
1818 (description "This is extension to the Emacs browser Eww that adds
1819 Conkeror-like functionality. In short, currently visible links, forms,
1820 buttons are temporarily assigned numbers with which the former can be
1821 immediately activated. Also filtering can be applied so selection can be
1822 incrementally confined in Isearch manner.")
1823 (license license:gpl3+)))
1824
1825
1826 \f
1827 ;;;
1828 ;;; Multimedia.
1829 ;;;
1830
1831 (define emacs-emms-print-metadata
1832 (package
1833 (name "emacs-emms-print-metadata")
1834 (version "7.1")
1835 (source
1836 (origin
1837 (method url-fetch)
1838 (uri (string-append "https://elpa.gnu.org/packages/"
1839 "emms-" version ".tar"))
1840 (sha256
1841 (base32 "1dng8dy0w0wsdvvnjnrllwv5a8wq3kj20jik994b7prdx5dn6y52"))))
1842 (build-system gnu-build-system)
1843 (arguments
1844 `(#:make-flags '("emms-print-metadata")
1845 #:tests? #f ; No tests.
1846 #:phases
1847 (modify-phases %standard-phases
1848 (delete 'configure)
1849 (replace 'install
1850 (lambda* (#:key outputs #:allow-other-keys)
1851 (let* ((out (assoc-ref outputs "out")))
1852 (install-file "src/emms-print-metadata"
1853 (string-append out "/bin"))
1854 (install-file "emms-print-metadata.1"
1855 (string-append out "/share/man/man1"))
1856 #t))))))
1857 (inputs
1858 `(("taglib" ,taglib)))
1859 (home-page "https://www.gnu.org/software/emms/")
1860 (synopsis "The Emacs Multimedia System")
1861 (description
1862 "EMMS is the Emacs Multimedia System. It is a small front-end which
1863 can control one of the supported external players. Thus, it supports
1864 whatever formats are supported by your music player. It also
1865 supports tagging and playlist management, all behind a clean and
1866 light user interface.")
1867 (license license:gpl3+)))
1868
1869 (define-public emacs-emms
1870 (package
1871 (inherit emacs-emms-print-metadata)
1872 (name "emacs-emms")
1873 (build-system emacs-build-system)
1874 (arguments
1875 `(#:phases
1876 (modify-phases %standard-phases
1877 (add-after 'unpack 'set-external-programs
1878 ;; Specify the absolute file names of the various programs
1879 ;; so that everything works out-of-the-box. (tinytag missing)
1880 (lambda* (#:key inputs outputs #:allow-other-keys)
1881 (let ((out (assoc-ref outputs "out"))
1882 (emms-print-metadata (assoc-ref inputs "emms-print-metadata"))
1883 (flac (assoc-ref inputs "flac"))
1884 (vorbis (assoc-ref inputs "vorbis-tools"))
1885 (alsa (assoc-ref inputs "alsa-utils"))
1886 (mpg321 (assoc-ref inputs "mpg321"))
1887 (mp3info (assoc-ref inputs "mp3info"))
1888 (mutagen (assoc-ref inputs "mutagen"))
1889 (exiftool (assoc-ref inputs "perl-image-exiftool"))
1890 (opus (assoc-ref inputs "opus-tools")))
1891 (emacs-substitute-variables "emms-player-mpg321-remote.el"
1892 ("emms-player-mpg321-remote-command"
1893 (string-append mpg321 "/bin/mpg321")))
1894 (substitute* "emms-player-simple.el"
1895 (("\"ogg123\"")
1896 (string-append "\"" vorbis "/bin/ogg123\"")))
1897 (substitute* "emms-player-simple.el"
1898 (("\"mpg321\"")
1899 (string-append "\"" mpg321 "/bin/mpg321\"")))
1900 (emacs-substitute-variables "emms-info-ogginfo.el"
1901 ("emms-info-ogginfo-program-name"
1902 (string-append vorbis "/bin/ogginfo")))
1903 (emacs-substitute-variables "emms-info-opusinfo.el"
1904 ("emms-info-opusinfo-program-name"
1905 (string-append opus "/bin/opusinfo")))
1906 (emacs-substitute-variables "emms-info-libtag.el"
1907 ("emms-info-libtag-program-name"
1908 (string-append emms-print-metadata "/bin/emms-print-metadata")))
1909 (emacs-substitute-variables "emms-info-mp3info.el"
1910 ("emms-info-mp3info-program-name"
1911 (string-append mp3info "/bin/mp3info")))
1912 (emacs-substitute-variables "emms-info-metaflac.el"
1913 ("emms-info-metaflac-program-name"
1914 (string-append flac "/bin/metaflac")))
1915 (emacs-substitute-variables "emms-source-file.el"
1916 ("emms-source-file-gnu-find" (which "find")))
1917 (substitute* "emms-volume-amixer.el"
1918 (("\"amixer\"")
1919 (string-append "\"" alsa "/bin/amixer\"")))
1920 (substitute* "emms-tag-editor.el"
1921 (("\"mid3v2\"")
1922 (string-append "\"" mutagen "/bin/mid3v2\""))
1923 (("\"vorbiscomment\"")
1924 (string-append "\"" vorbis "/bin/vorbiscomment\"")))
1925 (substitute* "emms-info-exiftool.el"
1926 (("\"exiftool\"")
1927 (string-append "\"" exiftool "/bin/exiftool\"")))
1928 #t))))))
1929 (inputs
1930 `(("emms-print-metadata" ,emacs-emms-print-metadata)
1931 ("alsa-utils" ,alsa-utils)
1932 ("flac" ,flac) ;for metaflac
1933 ("vorbis-tools" ,vorbis-tools)
1934 ("mpg321" ,mpg321)
1935 ("mp3info" ,mp3info)
1936 ("mutagen" ,python-mutagen)
1937 ("perl-image-exiftool" ,perl-image-exiftool)
1938 ("opus-tools" ,opus-tools)))))
1939
1940 (define-public emacs-emms-mode-line-cycle
1941 (package
1942 (name "emacs-emms-mode-line-cycle")
1943 (version "0.2.5")
1944 (source
1945 (origin
1946 (method git-fetch)
1947 (uri (git-reference
1948 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1949 (commit version)))
1950 (file-name (git-file-name name version))
1951 (sha256
1952 (base32
1953 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1954 (build-system emacs-build-system)
1955 (propagated-inputs
1956 `(("emms" ,emacs-emms)))
1957 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1958 (synopsis "Display the EMMS mode line as a ticker")
1959 (description
1960 "This is a minor mode for updating the EMMS mode-line string cyclically
1961 within a specified width. It is useful for displaying long track titles.")
1962 (license license:gpl3+)))
1963
1964 \f
1965 ;;;
1966 ;;; Miscellaneous.
1967 ;;;
1968
1969 (define-public emacs-ace-link
1970 (package
1971 (name "emacs-ace-link")
1972 (version "0.5.0")
1973 (source
1974 (origin
1975 (method git-fetch)
1976 (uri (git-reference
1977 (url "https://github.com/abo-abo/ace-link")
1978 (commit version)))
1979 (file-name (git-file-name name version))
1980 (sha256
1981 (base32
1982 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1983 (build-system emacs-build-system)
1984 (propagated-inputs
1985 `(("emacs-avy" ,emacs-avy)))
1986 (home-page "https://github.com/abo-abo/ace-link")
1987 (synopsis "Quickly follow links in Emacs")
1988 (description
1989 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1990 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1991 @code{goto-address-mode} buffer, you can tab through the links to select the
1992 one you want. This is an O(N) operation, where the N is the amount of links.
1993 This package turns this into an O(1) operation. It does so by assigning a
1994 letter to each link using avy.")
1995 (license license:gpl3+)))
1996
1997 (define-public emacs-auto-sudoedit
1998 (package
1999 (name "emacs-auto-sudoedit")
2000 (version "1.0.0")
2001 (source
2002 (origin
2003 (method git-fetch)
2004 (uri (git-reference
2005 (url "https://github.com/ncaq/auto-sudoedit")
2006 (commit (string-append "v" version))))
2007 (file-name (git-file-name name version))
2008 (sha256
2009 (base32 "10p0hc95j382km8655pqld9wxg10j1f36czzppkdd6a55cxarv9f"))))
2010 (propagated-inputs
2011 `(("emacs-f" ,emacs-f)))
2012 (build-system emacs-build-system)
2013 (home-page "https://github.com/ncaq/auto-sudoedit")
2014 (synopsis "Automatically re-open read-only files with sudo")
2015 (description
2016 "This package automatically reopens a file or directory with
2017 @command{sudo} if it cannot write to it.")
2018 (license license:expat)))
2019
2020 (define-public emacs-bbdb
2021 (package
2022 (name "emacs-bbdb")
2023 (version "3.2")
2024 (source
2025 (origin
2026 (method url-fetch)
2027 (uri (string-append "https://elpa.gnu.org/packages/"
2028 "bbdb-" version ".tar"))
2029 (sha256
2030 (base32 "1p56dg0mja2b2figy7yhdx714zd5j6njzn0k07zjka3jc06izvjx"))))
2031 (build-system emacs-build-system)
2032 (arguments
2033 ;; XXX: The following file cannot be byte-compiled, because et requires
2034 ;; `vm-autoloads', from the VM package, with is neither in Emacs nor
2035 ;; packaged in Guix. So, don't bother for now.
2036 `(#:exclude '("bbdb-vm\\.el")))
2037 (home-page "http://elpa.gnu.org/packages/bbdb.html")
2038 (synopsis "Contact management utility for Emacs")
2039 (description
2040 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
2041 an address book for email and snail mail addresses, phone numbers and the
2042 like. It can be linked with various Emacs mail clients (Message and Mail
2043 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
2044 (license license:gpl3+)))
2045
2046 (define-public emacs-counsel-bbdb
2047 (package
2048 (name "emacs-counsel-bbdb")
2049 (version "0.0.4")
2050 (source
2051 (origin
2052 (method git-fetch)
2053 (uri (git-reference
2054 (url "https://github.com/redguardtoo/counsel-bbdb")
2055 (commit version)))
2056 (file-name (git-file-name name version))
2057 (sha256
2058 (base32 "0bki658mvlchqf3prkzxz4217a95cxm58c1qmf84yp2n8h6gd0d8"))))
2059 (build-system emacs-build-system)
2060 (propagated-inputs `(("emacs-ivy" ,emacs-ivy)))
2061 (home-page "https://github.com/redguardtoo/counsel-bbdb")
2062 (synopsis "Ivy interface for BBDB")
2063 (description "This Ivy extension enables the use of @code{ivy-mode} to input
2064 email addresses from BBDB efficiently. The main functions are:
2065 @table @code
2066 @item counsel-bbdb-complete-mail to input email addresses;
2067 @item counsel-bbdb-reload' to reload contacts from BBDB database;
2068 @item counsel-bbdb-expand-mail-alias to expand mail alias.
2069 @end table
2070 Since @code{counsel-bbdb} is based on @code{ivy-mode}, all Ivy key bindings
2071 are supported. For example, after @samp{C-u M-x counsel-bbdb-complete-mail},
2072 you can press @samp{C-M-n} to input multiple email addresses.")
2073 (license license:gpl3+)))
2074
2075 (define-public emacs-bluetooth
2076 (package
2077 (name "emacs-bluetooth")
2078 (version "0.2")
2079 (source
2080 (origin
2081 (method url-fetch)
2082 (uri (string-append "https://elpa.gnu.org/packages/"
2083 "bluetooth-" version ".el"))
2084 (sha256
2085 (base32 "1dq04p6ms0zx4awlypp4crkz7dzal4xg8ac7p8fqacz196rczssp"))))
2086 (build-system emacs-build-system)
2087 (inputs
2088 `(("bluez" ,bluez)
2089 ("dbus" ,dbus)))
2090 (propagated-inputs
2091 `(("emacs-dash" ,emacs-dash)))
2092 (home-page "https://gitlab.com/rstocker/emacs-bluetooth")
2093 (synopsis "Manage Bluetooth devices using Emacs")
2094 (description
2095 "This package implements basic Bluetooth management functionality, such
2096 as connecting and disconnecting devices, setting properties and aliases,
2097 putting the adapter in discovery mode and controlling its power supply. It
2098 also includes a pairing agent.")
2099 (license license:gpl3+)))
2100
2101 (define-public emacs-aggressive-indent
2102 (package
2103 (name "emacs-aggressive-indent")
2104 (version "1.8.3")
2105 (source (origin
2106 (method url-fetch)
2107 (uri (string-append "https://elpa.gnu.org/packages/"
2108 "aggressive-indent-" version ".el"))
2109 (sha256
2110 (base32
2111 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
2112 (build-system emacs-build-system)
2113 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
2114 (synopsis "Minor mode to aggressively keep your code always indented")
2115 (description
2116 "@code{aggressive-indent-mode} is a minor mode that keeps your code
2117 always indented. It reindents after every change, making it more reliable
2118 than @code{electric-indent-mode}.")
2119 (license license:gpl2+)))
2120
2121 (define-public emacs-gcmh
2122 ;; No tagged release upstream, but the commit below correspond to the 0.2.1
2123 ;; release.
2124 (let ((commit "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9"))
2125 (package
2126 (name "emacs-gcmh")
2127 (version "0.2.1")
2128 (source
2129 (origin
2130 (method git-fetch)
2131 (uri (git-reference
2132 (url "https://gitlab.com/koral/gcmh")
2133 (commit commit)))
2134 (sha256
2135 (base32 "0yh1ap8phv3x44rp0yr6z884xqw2apanbx4c0acqglvj0gaaqx25"))
2136 (file-name (git-file-name name version))))
2137 (build-system emacs-build-system)
2138 (home-page "https://gitlab.com/koral/gcmh")
2139 (synopsis "Emacs Garbage Collector Magic Hack")
2140 (description
2141 "This package enforces a sneaky @dfn{garbage collector} (GC) strategy
2142 to minimize GC interference with the activity. During normal use a high GC
2143 threshold is set. When idling GC is immediately triggered and a low threshold
2144 is set.")
2145 (license license:gpl3+))))
2146
2147 (define-public emacs-ctrlf
2148 (package
2149 (name "emacs-ctrlf")
2150 (version "1.3")
2151 (source
2152 (origin
2153 (method git-fetch)
2154 (uri (git-reference
2155 (url "https://github.com/raxod502/ctrlf")
2156 (commit (string-append "v" version))))
2157 (file-name (git-file-name name version))
2158 (sha256
2159 (base32 "06wq6scqy2ax0h6aahy2r7hn3bbmkzl4w99bkrc3cqd4ij78sc8g"))))
2160 (build-system emacs-build-system)
2161 (home-page "https://github.com/raxod502/ctrlf/")
2162 (synopsis "Single-buffer text search in Emacs")
2163 (description "CTRLF (pronounced @emph{control F}) is an intuitive and
2164 efficient solution for single-buffer text search in Emacs, replacing packages
2165 such as Isearch, Swiper, and helm-swoop. It takes inspiration from the
2166 widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as
2167 web browsers, but follows the flow and keybindings of Isearch.")
2168 (license license:expat)))
2169
2170 (define-public emacs-dhall-mode
2171 ;; There is no proper release. The base version is extracted from the
2172 ;; "Version" keyword in the main file.
2173 (let ((revision "1")
2174 (commit "484bcf8f78f1183ef45c3b04a362bb73690c6b9b"))
2175 (package
2176 (name "emacs-dhall-mode")
2177 (version (git-version "0.1.3" revision commit))
2178 (source
2179 (origin
2180 (method git-fetch)
2181 (uri
2182 (git-reference
2183 (url "https://github.com/psibi/dhall-mode")
2184 (commit commit)))
2185 (file-name (git-file-name name version))
2186 (sha256
2187 (base32 "1wggg8jlzg9rph4jhxp6yiri178rnasbv38838i973kjgqjxrl76"))))
2188 (build-system emacs-build-system)
2189 (propagated-inputs
2190 `(("emacs-reformatter" ,emacs-reformatter)))
2191 (home-page "https://github.com/psibi/dhall-mode")
2192 (synopsis "Major mode for working with Dhall configuration language")
2193 (description
2194 "Dhall-mode provides an Emacs Major mode for working with the Dhall
2195 configuration language. It features:
2196
2197 @itemize
2198 @item Syntax highlighting
2199 @item Multiline support for String
2200 @item Basic indentation, commenting
2201 @item Automatic formatting on save using dhall-format.
2202 @item Error highlighting.
2203 @end itemize")
2204 (license license:gpl3+))))
2205
2206 (define-public emacs-link-hint
2207 ;; Last release was in 2015.
2208 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
2209 (revision "1"))
2210 (package
2211 (name "emacs-link-hint")
2212 (version (git-version "0.1" revision commit))
2213 (source
2214 (origin
2215 (method git-fetch)
2216 (uri (git-reference
2217 (url "https://github.com/noctuid/link-hint.el")
2218 (commit commit)))
2219 (file-name (git-file-name name version))
2220 (sha256
2221 (base32
2222 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
2223 (build-system emacs-build-system)
2224 (propagated-inputs
2225 `(("emacs-avy" ,emacs-avy)))
2226 (home-page "https://github.com/noctuid/link-hint.el")
2227 (synopsis "Vimperator-style link-hinting in Emacs")
2228 (description "This package provides commands for visiting and acting on
2229 links.")
2230 (license license:gpl3+))))
2231
2232 (define-public emacs-ag
2233 (package
2234 (name "emacs-ag")
2235 (version "0.48")
2236 (source (origin
2237 (method git-fetch)
2238 (uri (git-reference
2239 (url "https://github.com/Wilfred/ag.el")
2240 (commit version)))
2241 (file-name (git-file-name name version))
2242 (sha256
2243 (base32
2244 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
2245 (build-system emacs-build-system)
2246 (arguments
2247 `(#:phases
2248 (modify-phases %standard-phases
2249 (add-before 'install 'make-info
2250 (lambda _
2251 (with-directory-excursion "docs"
2252 (invoke "make" "info"))))
2253 (add-after 'install 'install-info
2254 (lambda* (#:key outputs #:allow-other-keys)
2255 (let* ((out (assoc-ref outputs "out"))
2256 (info (string-append out "/share/info")))
2257 (install-file "docs/_build/texinfo/agel.info" info)
2258 #t))))))
2259 (native-inputs
2260 `(("python-sphinx" ,python-sphinx)
2261 ("texinfo" ,texinfo)))
2262 (propagated-inputs
2263 `(("dash" ,emacs-dash)
2264 ("s" ,emacs-s)
2265 ;; We need to use 'ag' as the executable on remote systems.
2266 ("the-silver-searcher" ,the-silver-searcher)))
2267 (home-page "https://github.com/Wilfred/ag.el")
2268 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
2269 (description "This package provides the ability to use the silver
2270 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
2271 include version control system awareness, use of Perl compatible regular
2272 expressions, editing the search results directly and searching file names
2273 rather than the contents of files.")
2274 (license license:gpl3+)))
2275
2276 (define-public emacs-async
2277 (package
2278 (name "emacs-async")
2279 (home-page "https://github.com/jwiegley/emacs-async")
2280 (version "1.9.4")
2281 (source (origin
2282 (method git-fetch)
2283 (uri (git-reference
2284 (url home-page)
2285 (commit (string-append "v" version))))
2286 (file-name (git-file-name name version))
2287 (sha256
2288 (base32
2289 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
2290 (build-system emacs-build-system)
2291 (synopsis "Asynchronous processing in Emacs")
2292 (description
2293 "This package provides the ability to call asynchronous functions and
2294 processes. For example, it can be used to run dired commands (for copying,
2295 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
2296 as a library for other Emacs packages.")
2297 (license license:gpl3+)))
2298
2299 (define-public emacs-auctex
2300 (package
2301 (name "emacs-auctex")
2302 (version "13.0.8")
2303 (source
2304 (origin
2305 (method url-fetch)
2306 (uri (string-append "https://elpa.gnu.org/packages/"
2307 "auctex-" version ".tar"))
2308 (sha256
2309 (base32 "0rl85hwk91c88l1fzycyiz68v1b72l1mr32km3wk1jms8166bc2f"))))
2310 (build-system emacs-build-system)
2311 ;; We use 'emacs' because AUCTeX requires dbus at compile time
2312 ;; ('emacs-minimal' does not provide dbus).
2313 (arguments
2314 `(#:emacs ,emacs
2315 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
2316 #:exclude '("^tests/" "^latex/README")
2317 #:phases
2318 (modify-phases %standard-phases
2319 (add-after 'unpack 'configure
2320 (lambda* (#:key inputs #:allow-other-keys)
2321 (emacs-substitute-variables "preview.el"
2322 ("preview-gs-command"
2323 (string-append (assoc-ref inputs "ghostscript") "/bin/gs")))
2324 (substitute* "preview.el"
2325 (("\"dvipng ")
2326 (string-append "\"" (assoc-ref inputs "texlive")
2327 "/bin/dvipng "))
2328 (("\"dvips ")
2329 (string-append "\"" (assoc-ref inputs "texlive")
2330 "/bin/dvips "))
2331 (("\"pdf2dsc ")
2332 (string-append "\"" (assoc-ref inputs "ghostscript")
2333 "/bin/pdf2dsc ")))))
2334 (add-after 'install 'install-doc
2335 (lambda* (#:key outputs #:allow-other-keys)
2336 (let* ((out (assoc-ref outputs "out"))
2337 (etc-dir (string-append out "/share/" ,name "/"
2338 ,version "/etc")))
2339 (with-directory-excursion "doc"
2340 (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm
2341 (invoke "pdftex" "tex-ref")
2342 (install-file "tex-ref.pdf"
2343 (string-append etc-dir "/refcards")))
2344 #t))))))
2345 (native-inputs
2346 `(("perl" ,perl)))
2347 (inputs
2348 `(("ghostscript" ,ghostscript)
2349 ("texlive" ,(texlive-union (list texlive-amsfonts)))))
2350 (home-page "https://www.gnu.org/software/auctex/")
2351 (synopsis "Integrated environment for TeX")
2352 (description
2353 "AUCTeX is a comprehensive customizable integrated environment for
2354 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
2355 or XEmacs.")
2356 (license license:gpl3+)))
2357
2358 (define-public emacs-autothemer
2359 (package
2360 (name "emacs-autothemer")
2361 (version "0.2.2")
2362 (source
2363 (origin
2364 (method git-fetch)
2365 (uri (git-reference
2366 (url "https://github.com/sebastiansturm/autothemer")
2367 (commit version)))
2368 (file-name (git-file-name name version))
2369 (sha256
2370 (base32
2371 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
2372 (build-system emacs-build-system)
2373 (propagated-inputs
2374 `(("emacs-dash" ,emacs-dash)))
2375 (home-page "https://github.com/sebastiansturm/autothemer")
2376 (synopsis "Conveniently create Emacs themes")
2377 (description
2378 "Autothemer provides a thin layer on top of @code{deftheme} and
2379 @code{custom-theme-set-faces} that creates a new custom color theme, based on
2380 a set of simplified face specifications and a user-supplied color palette")
2381 (license license:gpl3+)))
2382
2383 (define-public emacs-howm
2384 (package
2385 (name "emacs-howm")
2386 (version "1.4.7")
2387 (source
2388 (origin
2389 (method url-fetch)
2390 (uri (string-append "https://howm.sourceforge.jp/a/"
2391 "howm-" version ".tar.gz"))
2392 (sha256
2393 (base32 "11k0dzwyn7ly34g0zcd6i0i8qwyv9di8m6fx805axrxykxb0qan2"))))
2394 (build-system gnu-build-system)
2395 (native-inputs
2396 `(("emacs" ,emacs-minimal)))
2397 (arguments
2398 `(#:configure-flags
2399 (list (string-append "--with-howmdir=" %output
2400 "/share/emacs/site-lisp/"))
2401 #:modules ((guix build gnu-build-system)
2402 ((guix build emacs-build-system) #:prefix emacs:)
2403 (guix build utils))
2404 #:imported-modules (,@%gnu-build-system-modules
2405 (guix build emacs-build-system)
2406 (guix build emacs-utils))
2407 #:phases
2408 (modify-phases %standard-phases
2409 (add-after 'install 'make-autoloads
2410 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2411 (home-page "https://howm.osdn.jp/")
2412 (synopsis "Note-taking tool for Emacs")
2413 (description "Howm is a note-taking tool for Emacs. Like
2414 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
2415 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
2416 (license license:gpl1+)))
2417
2418 (define-public emacs-bm
2419 (package
2420 (name "emacs-bm")
2421 (version "201905")
2422 (source
2423 (origin
2424 (method git-fetch)
2425 (uri (git-reference
2426 (url "https://github.com/joodland/bm")
2427 (commit version)))
2428 (file-name (git-file-name name version))
2429 (sha256
2430 (base32 "180b3rc13asrmsdh7v405d54jkrininvaj52xhp71vw91ng51dkn"))))
2431 (build-system emacs-build-system)
2432 (home-page "https://github.com/joodland/bm")
2433 (synopsis "Visual bookmarks for Emacs")
2434 (description "This package provides visible, buffer local bookmarks and
2435 the ability to jump forward and backward to the next bookmark.")
2436 (license license:gpl2+)))
2437
2438 (define-public emacs-calfw
2439 (package
2440 (name "emacs-calfw")
2441 (version "1.6")
2442 (source
2443 (origin
2444 (method git-fetch)
2445 (uri (git-reference
2446 (url "https://github.com/kiwanami/emacs-calfw")
2447 (commit (string-append "v" version))))
2448 (file-name (git-file-name name version))
2449 (sha256
2450 (base32
2451 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
2452 (build-system emacs-build-system)
2453 (propagated-inputs
2454 `(("emacs-howm" ,emacs-howm)))
2455 (home-page "https://github.com/kiwanami/emacs-calfw/")
2456 (synopsis "Calendar framework for Emacs")
2457 (description
2458 "This package displays a calendar view with various schedule data in the
2459 Emacs buffer.")
2460 (license license:gpl3+)))
2461
2462 (define-public emacs-caps-lock
2463 (package
2464 (name "emacs-caps-lock")
2465 (version "1.0")
2466 (source
2467 (origin
2468 (method url-fetch)
2469 (uri (string-append "https://elpa.gnu.org/packages/"
2470 "caps-lock-" version ".el"))
2471 (sha256
2472 (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva"))))
2473 (build-system emacs-build-system)
2474 (home-page "http://elpa.gnu.org/packages/caps-lock.html")
2475 (synopsis "Caps Lock as a minor mode")
2476 (description
2477 "This package provides a minor mode to emulate the behavior of a Caps
2478 Lock key.")
2479 (license license:gpl3+)))
2480
2481 (define-public emacs-chronometrist
2482 (package
2483 (name "emacs-chronometrist")
2484 (version "0.6.5")
2485 (source
2486 (origin
2487 (method git-fetch)
2488 (uri (git-reference
2489 (url "https://github.com/contrapunctus-1/chronometrist")
2490 (commit (string-append "v" version))))
2491 (file-name (git-file-name name version))
2492 (sha256
2493 (base32 "1k7r5rc6vzrnhp9j5bkv45yzqz7zbqrkiry4fzc8w6f36pcw862f"))))
2494 (build-system emacs-build-system)
2495 (arguments
2496 `(#:phases
2497 (modify-phases %standard-phases
2498 (add-after 'unpack 'chdir-elisp
2499 ;; Elisp directory is not in root of the source.
2500 (lambda _
2501 (chdir "elisp")
2502 #t))
2503 (add-after 'install 'install-doc
2504 ;; Documentation consists of several Markdown files.
2505 (lambda* (#:key outputs #:allow-other-keys)
2506 (let* ((out (assoc-ref outputs "out"))
2507 (doc (string-append out
2508 "/share/doc/emacs-chronometrist-"
2509 ,version)))
2510 (with-directory-excursion "../doc"
2511 (for-each (lambda (f) (install-file f doc))
2512 (cons* "../UNLICENSE"
2513 "../WTFPL"
2514 (find-files "." "\\.md$")))))
2515 #t)))))
2516 (propagated-inputs
2517 `(("emacs-anaphora" ,emacs-anaphora)
2518 ("emacs-dash" ,emacs-dash)
2519 ("emacs-s" ,emacs-s)
2520 ("emacs-ts" ,emacs-ts)))
2521 (home-page "https://github.com/contrapunctus-1/chronometrist")
2522 (synopsis "Time tracker for Emacs")
2523 (description "Chronometrist is a time tracker in Emacs, largely modelled
2524 after the Android application, @emph{A Time Tracker}.
2525
2526 Its features are:
2527 @itemize
2528 @item Simple and efficient to use,
2529 @item Displays useful information about your time usage,
2530 @item Support for both mouse and keyboard,
2531 @item Human errors in tracking are easily fixed by editing a plain text file,
2532 @item Hooks to let you perform arbitrary actions when starting/stopping tasks.
2533 @end itemize")
2534 ;; Software is dual-licensed.
2535 (license (list license:unlicense license:wtfpl2))))
2536
2537 (define-public emacs-corfu
2538 (package
2539 (name "emacs-corfu")
2540 (version "0.2")
2541 (source (origin
2542 (method git-fetch)
2543 (uri (git-reference
2544 (url "https://github.com/minad/corfu")
2545 (commit version)))
2546 (file-name (git-file-name name version))
2547 (sha256
2548 (base32
2549 "0xb2si8il6j2mkkiac6pcx2yj83n82j4rsxxcn7gprpzzm1f9j61"))))
2550 (build-system emacs-build-system)
2551 (home-page "https://github.com/minad/corfu")
2552 (synopsis "Completion overlay region function")
2553 (description "Corfu enhances the default completion in region function
2554 with a completion overlay. The current candidates are shown in a popup
2555 overlay below or above the point. Corfu can be considered the minimalistic
2556 @code{completion-in-region} counterpart of the Vertico minibuffer UI.")
2557 (license license:gpl3+)))
2558
2559 (define-public emacs-direnv
2560 (package
2561 (name "emacs-direnv")
2562 (version "2.1.0")
2563 (source
2564 (origin
2565 (method git-fetch)
2566 (uri (git-reference
2567 (url "https://github.com/wbolster/emacs-direnv")
2568 (commit version)))
2569 (file-name (git-file-name name version))
2570 (sha256
2571 (base32 "0xkqn4604k2imas6azy1www56br8ls4iv9a44pxcd8h94j1fp44d"))))
2572 (build-system emacs-build-system)
2573 (propagated-inputs
2574 `(("dash" ,emacs-dash)
2575 ("with-editor" ,emacs-with-editor)))
2576 (home-page "https://github.com/wbolster/emacs-direnv")
2577 (synopsis "Direnv integration for Emacs")
2578 (description
2579 "This package provides support for invoking direnv to get the environment
2580 for the current file and updating the environment within Emacs to match.
2581
2582 Direnv can be invoked manually, and a global minor mode is included that will
2583 update the environment when the active buffer changes.
2584
2585 Using emacs-direnv means that programs started from Emacs will use the
2586 environment set through Direnv.")
2587 (license license:gpl3+)))
2588
2589 (define-public emacs-elf-mode
2590 (package
2591 (name "emacs-elf-mode")
2592 (version "0.1.0")
2593 (source
2594 (origin
2595 (method git-fetch)
2596 (uri
2597 (git-reference
2598 (url "https://github.com/abo-abo/elf-mode")
2599 (commit version)))
2600 (file-name (git-file-name name version))
2601 (sha256
2602 (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"))))
2603 (build-system emacs-build-system)
2604 (home-page "https://github.com/abo-abo/elf-mode")
2605 (synopsis "Show symbol list when opening a binary file in Emacs")
2606 (description "This Emacs package provides a command showing the symbols
2607 that the binary uses instead of the actual binary contents.")
2608 (license license:gpl3+)))
2609
2610 (define-public emacs-form-feed
2611 (package
2612 (name "emacs-form-feed")
2613 (version "0.2.2")
2614 (source
2615 (origin
2616 (method git-fetch)
2617 (uri (git-reference
2618 (url "https://github.com/wasamasa/form-feed")
2619 (commit version)))
2620 (file-name (git-file-name name version))
2621 (sha256
2622 (base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2"))))
2623 (build-system emacs-build-system)
2624 (home-page "https://github.com/wasamasa/form-feed")
2625 (synopsis "Display ^L glyphs as horizontal lines")
2626 (description
2627 "This package provides a minor mode @code{form-feed-mode} to display page
2628 delimiters which usually appear as ^L glyphs on a single line as horizontal
2629 lines spanning the entire window. The minor mode is suitable for inclusion
2630 into mode hooks and is intended to be used that way.")
2631 (license license:gpl3+)))
2632
2633 (define-public emacs-ggtags
2634 (package
2635 (name "emacs-ggtags")
2636 (version "0.9.0")
2637 (source
2638 (origin
2639 (method url-fetch)
2640 (uri (string-append "https://elpa.gnu.org/packages/ggtags-"
2641 version ".tar"))
2642 (sha256
2643 (base32
2644 "0p79x9g94jynl83ndvqp9349vhgkzxzhnc517r8hn44iqxqf6ghg"))))
2645 (build-system emacs-build-system)
2646 (inputs
2647 `(("global" ,global)))
2648 (arguments
2649 `(#:phases
2650 (modify-phases %standard-phases
2651 (add-after 'unpack 'configure
2652 (lambda* (#:key inputs #:allow-other-keys)
2653 (chmod "ggtags.el" #o644)
2654 (emacs-substitute-variables "ggtags.el"
2655 ("ggtags-executable-directory"
2656 (string-append (assoc-ref inputs "global") "/bin")))
2657 #t)))))
2658 (home-page "https://github.com/leoliu/ggtags")
2659 (synopsis "Frontend to the GNU Global source code tagging system")
2660 (description "@code{ggtags} provides a frontend to the GNU Global source
2661 code tagging system.
2662
2663 Features:
2664
2665 @itemize
2666 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
2667 @item Automatically update Global's tag files when needed with tuning for
2668 large source trees.
2669 @item Intuitive navigation among multiple matches with mode-line display of
2670 current match, total matches and exit status.
2671 @item Read tag with completion.
2672 @item Show definition at point.
2673 @item Jump to #include files.
2674 @item Support search history and saving a search to register/bookmark.
2675 @item Query replace.
2676 @item Manage Global's environment variables on a per-project basis.
2677 @item Highlight (definition) tag at point.
2678 @item Abbreviated display of file names.
2679 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
2680 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
2681 @code{pygments} backend.
2682 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
2683 @code{cscope} etc.
2684 @item Support projects on remote hosts (e.g. via @code{tramp}).
2685 @item Support eldoc.
2686 @item Search @code{GTAGSLIBPATH} for references and symbols.
2687 @end itemize\n")
2688 (license license:gpl3+)))
2689
2690 (define-public emacs-go-mode
2691 (package
2692 (name "emacs-go-mode")
2693 (version "1.5.0")
2694 (source (origin
2695 (method git-fetch)
2696 (uri (git-reference
2697 (url "https://github.com/dominikh/go-mode.el")
2698 (commit (string-append "v" version))))
2699 (file-name (git-file-name name version))
2700 (sha256
2701 (base32
2702 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
2703 (build-system emacs-build-system)
2704 (arguments
2705 `(#:phases
2706 (modify-phases %standard-phases
2707 (add-after 'unpack 'make-writable
2708 (lambda _
2709 (for-each make-file-writable (find-files "." "\\.el$"))
2710 #t)))))
2711 (home-page "https://github.com/dominikh/go-mode.el")
2712 (synopsis "Go mode for Emacs")
2713 (description
2714 "This package provides go-mode, an Emacs mode for working with software
2715 written in the Go programming language.")
2716 (license license:bsd-3)))
2717
2718 (define-public emacs-google-maps
2719 ;; There has been no new release tag since 2013.
2720 (let ((commit "2eb16ff609f5a9f8d02c15238a111fbb7db6c146")
2721 (revision "1"))
2722 (package
2723 (name "emacs-google-maps")
2724 (version (git-version "1.0.0" revision commit))
2725 (source
2726 (origin
2727 (method git-fetch)
2728 (uri (git-reference
2729 (url "https://github.com/jd/google-maps.el")
2730 (commit commit)))
2731 (file-name (git-file-name name version))
2732 (sha256
2733 (base32 "1bl0dnksbf14d0xcnvdy9qpvzc5c8jwkxpmfvgayj6djikxnw2md"))))
2734 (build-system emacs-build-system)
2735 (home-page "https://github.com/jd/google-maps.el")
2736 (synopsis "Access Google Maps from Emacs")
2737 (description "The @code{google-maps} package displays Google Maps
2738 directly inside Emacs. It requires a Google Map Static API key to function.")
2739 (license license:gpl3+))))
2740
2741 (define-public emacs-graphviz-dot-mode
2742 (package
2743 (name "emacs-graphviz-dot-mode")
2744 (version "0.4.2")
2745 (source
2746 (origin
2747 (method git-fetch)
2748 (uri (git-reference
2749 (url "https://github.com/ppareit/graphviz-dot-mode")
2750 (commit (string-append "v" version))))
2751 (file-name (git-file-name name version))
2752 (sha256
2753 (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m"))))
2754 (build-system emacs-build-system)
2755 (arguments
2756 `(#:phases
2757 (modify-phases %standard-phases
2758 (add-before 'install 'make-info
2759 (lambda* (#:key inputs #:allow-other-keys)
2760 (with-directory-excursion "texinfo"
2761 (substitute* "Makefile"
2762 (("\\/usr\\/bin\\/gzip")
2763 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
2764 (invoke "make"
2765 "clean"
2766 "info"
2767 (string-append "TEXINFODIR="
2768 (assoc-ref inputs "texinfo")
2769 "/bin")))))
2770 (add-after 'install 'install-info
2771 (lambda* (#:key outputs #:allow-other-keys)
2772 (let* ((out (assoc-ref outputs "out"))
2773 (info (string-append out "/share/info")))
2774 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
2775 #t))))))
2776 (native-inputs
2777 `(("gzip" ,gzip)
2778 ("texinfo" ,texinfo)))
2779 (propagated-inputs
2780 `(("emacs-company" ,emacs-company)))
2781 (home-page "http://ppareit.github.com/graphviz-dot-mode")
2782 (synopsis "Major mode for editing Graphviz DOT files")
2783 (description
2784 "This Emacs package helps you to create @file{.dot} or @file{.gv} files
2785 using the DOT syntax, and use Graphviz to convert these files to diagrams.")
2786 (license license:gpl2+)))
2787
2788 (define-public emacs-imenu-list
2789 (let ((commit "b50222378412fbe321622a84cb2b036e084c697a")
2790 (revision "1")
2791 (version "0.9"))
2792 (package
2793 (name "emacs-imenu-list")
2794 (version (git-version version revision commit))
2795 (source
2796 (origin
2797 (method git-fetch)
2798 (uri
2799 (git-reference
2800 (url "https://github.com/bmag/imenu-list")
2801 (commit commit)))
2802 (file-name (git-file-name name version))
2803 (sha256
2804 (base32 "1936dd41fa05ndzf2bwhllvjz97iz0rflkazjipr7dvz5q072wj2"))))
2805 (build-system emacs-build-system)
2806 (home-page "https://github.com/bmag/imenu-list")
2807 (synopsis
2808 "Automatically tracks the current buffer's imenu entries")
2809 (description
2810 "This Emacs minor mode creates an automatically updated buffer called
2811 @code{*Ilist*} that is populated with the current buffer's imenu entries.
2812 This buffer is typically shown as a sidebar (Emacs vertically splits the
2813 window).")
2814 (license license:gpl3+))))
2815
2816 (define-public emacs-mmm-mode
2817 (package
2818 (name "emacs-mmm-mode")
2819 (version "0.5.8")
2820 (source
2821 (origin
2822 (method url-fetch)
2823 (uri (string-append "https://elpa.gnu.org/packages/"
2824 "mmm-mode-" version ".tar"))
2825 (sha256
2826 (base32 "05ckf4zapdpvnd3sqpw6kxaa567zh536a36m9qzx3sqyjbyn5fb4"))))
2827 (build-system emacs-build-system)
2828 (home-page "https://github.com/purcell/mmm-mode")
2829 (synopsis "Allow multiple major modes in an Emacs buffer")
2830 (description
2831 "MMM Mode is a minor mode that allows multiple major modes to coexist in
2832 a single buffer.")
2833 (license license:gpl3+)))
2834
2835 (define-public emacs-mmt
2836 (package
2837 (name "emacs-mmt")
2838 (version "0.2.0")
2839 (source
2840 (origin
2841 (method git-fetch)
2842 (uri (git-reference
2843 (url "https://github.com/mrkkrp/mmt")
2844 (commit version)))
2845 (file-name (git-file-name name version))
2846 (sha256
2847 (base32 "13vbfc5597v0gd87qyhn10f93nb477vjpg3jlpphbax9fvkf4gav"))))
2848 (build-system emacs-build-system)
2849 (home-page "https://github.com/mrkkrp/mmt")
2850 (synopsis "Classic tools to write Emacs Lisp macros")
2851 (description "Emacs MMT is a package that contains classic tools for Emacs
2852 Lisp developers who want to write macros with convenience.")
2853 (license license:gpl3+)))
2854
2855 (define-public emacs-tablist
2856 (package
2857 (name "emacs-tablist")
2858 (version "1.0")
2859 (source (origin
2860 (method git-fetch)
2861 (uri (git-reference
2862 (url "https://github.com/politza/tablist")
2863 (commit (string-append "v" version))))
2864 (file-name (git-file-name name version))
2865 (sha256
2866 (base32
2867 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
2868 (build-system emacs-build-system)
2869 (home-page "https://github.com/politza/tablist")
2870 (synopsis "Extension for @code{tabulated-list-mode}")
2871 (description "Tablist is the Emacs package that provides several
2872 additional features to @code{tabulated-list-mode}: it adds marks,
2873 filters, new key bindings and faces. It can be enabled by
2874 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
2875 (license license:gpl3+)))
2876
2877 (define-public emacs-djvu
2878 (package
2879 (name "emacs-djvu")
2880 (version "1.1.1")
2881 (source
2882 (origin
2883 (method url-fetch)
2884 (uri (string-append "https://elpa.gnu.org/packages/"
2885 "djvu-" version ".el"))
2886 (sha256
2887 (base32 "0z2qk1v4qkvcwl27ycqfb8vyszq5v6b8ci29b4la00yaki16p04i"))))
2888 (build-system emacs-build-system)
2889 (inputs `(("djview" ,djview)
2890 ("djvulibre" ,djvulibre)))
2891 (arguments
2892 `(#:phases
2893 (modify-phases %standard-phases
2894 (add-after 'unpack 'configure
2895 (lambda* (#:key inputs outputs #:allow-other-keys)
2896 (let ((file "djvu.el")
2897 (djview (assoc-ref inputs "djview"))
2898 (djvulibre (assoc-ref inputs "djvulibre")))
2899 ;; Specify the absolute executable locations.
2900 (chmod file #o644)
2901 (substitute* file
2902 (("\"djvused\"") (string-append "\"" djvulibre "/bin/djvused\""))
2903 (("\"djvm\"") (string-append "\"" djvulibre "/bin/djvm\""))
2904 (("\"ddjvu\"") (string-append "\"" djvulibre "/bin/ddjvu\"")))
2905 (emacs-substitute-variables file
2906 ("djvu-djview-command" (string-append djview "/bin/djview"))))
2907 #t)))))
2908 (home-page "http://elpa.gnu.org/packages/djvu.html")
2909 (synopsis "Edit and view Djvu files via djvused")
2910 (description
2911 "This package is a front end for the command-line program djvused from
2912 DjVuLibre, see @url{http://djvu.sourceforge.net/}.")
2913 (license license:gpl3+)))
2914
2915 (define-public emacs-pabbrev
2916 (package
2917 (name "emacs-pabbrev")
2918 (version "4.2.1")
2919 (source
2920 (origin
2921 (method url-fetch)
2922 (uri (string-append "https://elpa.gnu.org/packages/"
2923 "pabbrev-" version ".el"))
2924 (sha256
2925 (base32 "19v5adk61y8fpigw7k6wz6dj79jwr450hnbi7fj0jvb21cvjmfxh"))))
2926 (build-system emacs-build-system)
2927 (home-page "http://elpa.gnu.org/packages/pabbrev.html")
2928 (synopsis "Predictive abbreviation expansion")
2929 (description
2930 "The code provides a abbreviation expansion for Emacs. It is
2931 fairly similar to Dabbrev expansion, which works based on the contents
2932 of the current buffer (or other buffers).
2933
2934 Predictive abbreviation expansion works based on the previously
2935 written text. Unlike dynamic abbreviation, the text is analysed
2936 during idle time, while Emacs is doing nothing else.")
2937 (license license:gpl3+)))
2938
2939 (define-public emacs-pdf-tools
2940 ;; XXX: Development branch fixes an incompatibility with Emacs 27+. See
2941 ;; <https://github.com/politza/pdf-tools/issues/616>.
2942 (let ((commit "c510442ab89c8a9e9881230eeb364f4663f59e76")
2943 (revision "1"))
2944 (package
2945 (name "emacs-pdf-tools")
2946 (version (git-version "0.90" revision commit))
2947 (source
2948 (origin
2949 (method git-fetch)
2950 (uri (git-reference
2951 (url "https://github.com/politza/pdf-tools")
2952 (commit commit)))
2953 (file-name (git-file-name name version))
2954 (sha256
2955 (base32 "17z3cpn76g9dp62drjrgrqpp1bgf4gl5k5gspylskpvd4kj4bq4d"))))
2956 (build-system gnu-build-system)
2957 (arguments
2958 `(#:tests? #f ; there are no tests
2959 #:modules ((guix build gnu-build-system)
2960 ((guix build emacs-build-system) #:prefix emacs:)
2961 (guix build utils)
2962 (guix build emacs-utils))
2963 #:imported-modules (,@%gnu-build-system-modules
2964 (guix build emacs-build-system)
2965 (guix build emacs-utils))
2966 #:phases
2967 (modify-phases %standard-phases
2968 ;; Build server side using 'gnu-build-system'.
2969 (add-after 'unpack 'enter-server-dir
2970 (lambda _ (chdir "server") #t))
2971 (add-after 'enter-server-dir 'autogen
2972 (lambda _
2973 (invoke "bash" "autogen.sh")))
2974
2975 ;; Build emacs side using 'emacs-build-system'.
2976 (add-after 'compress-documentation 'enter-lisp-dir
2977 (lambda _ (chdir "../lisp") #t))
2978 (add-after 'enter-lisp-dir 'emacs-patch-variables
2979 (lambda* (#:key outputs #:allow-other-keys)
2980 (for-each make-file-writable (find-files "."))
2981
2982 ;; Set path to epdfinfo program.
2983 (emacs-substitute-variables "pdf-info.el"
2984 ("pdf-info-epdfinfo-program"
2985 (string-append (assoc-ref outputs "out")
2986 "/bin/epdfinfo")))
2987 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
2988 ;; upgrading" that pdf-tools tries to perform.
2989 (emacs-substitute-variables "pdf-tools.el"
2990 ("pdf-tools-handle-upgrades" '()))))
2991 (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
2992 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
2993 (add-after 'emacs-add-source-to-load-path 'emacs-install
2994 (assoc-ref emacs:%standard-phases 'install))
2995 (add-after 'emacs-install 'emacs-build
2996 (assoc-ref emacs:%standard-phases 'build))
2997 (add-after 'emacs-install 'emacs-make-autoloads
2998 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2999 (native-inputs
3000 `(("autoconf" ,autoconf)
3001 ("automake" ,automake)
3002 ("pkg-config" ,pkg-config)
3003 ("emacs" ,emacs-minimal)))
3004 (inputs
3005 `(("poppler" ,poppler)
3006 ("cairo" ,cairo)
3007 ("glib" ,glib)
3008 ("libpng" ,libpng)
3009 ("zlib" ,zlib)))
3010 (propagated-inputs
3011 `(("tablist" ,emacs-tablist)))
3012 (home-page "https://github.com/politza/pdf-tools")
3013 (synopsis "Emacs support library for PDF files")
3014 (description
3015 "PDF Tools is, among other things, a replacement of DocView for PDF
3016 files. The key difference is that pages are not pre-rendered by
3017 e.g. ghostscript and stored in the file-system, but rather created on-demand
3018 and stored in memory.")
3019 (license license:gpl3+))))
3020
3021 (define-public emacs-dash
3022 (package
3023 (name "emacs-dash")
3024 (version "2.18.1")
3025 (source (origin
3026 (method git-fetch)
3027 (uri (git-reference
3028 (url "https://github.com/magnars/dash.el")
3029 (commit version)))
3030 (file-name (git-file-name name version))
3031 (sha256
3032 (base32
3033 "1cvfd36vv0wqb16bnqqxh99hy2yks0j2i4l8qjkg3bxjgk7ldmva"))))
3034 (build-system emacs-build-system)
3035 (arguments `(#:tests? #t))
3036 (home-page "https://github.com/magnars/dash.el")
3037 (synopsis "Modern list library for Emacs")
3038 (description "This package provides a modern list API library for Emacs.")
3039 (license license:gpl3+)))
3040
3041 (define-public emacs-bui
3042 (package
3043 (name "emacs-bui")
3044 (version "1.2.1")
3045 (source (origin
3046 (method git-fetch)
3047 (uri (git-reference
3048 (url "https://notabug.org/alezost/emacs-bui.git")
3049 (commit (string-append "v" version))))
3050 (file-name (git-file-name name version))
3051 (sha256
3052 (base32
3053 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
3054 (build-system emacs-build-system)
3055 (propagated-inputs
3056 `(("dash" ,emacs-dash)))
3057 (home-page "https://notabug.org/alezost/emacs-bui")
3058 (synopsis "Buffer interface library for Emacs")
3059 (description
3060 "BUI (Buffer User Interface) is a library for making @code{list} and
3061 @code{info} interfaces to display an arbitrary data of the same
3062 type, for example: packages, buffers, files, etc.")
3063 (license license:gpl3+)))
3064
3065 (define-public emacs-guix
3066 (let* ((commit "a694fdbcedb6edd2239a31d326e475c763ee32f8")
3067 (revision "3"))
3068 (package
3069 (name "emacs-guix")
3070 (version (git-version "0.5.2" revision commit))
3071 (source (origin
3072 (method git-fetch)
3073 (uri (git-reference
3074 ;; TODO: Use the official version when it has a new home
3075 (url "https://github.com/jsoo1/guix.el")
3076 (commit commit)))
3077 (file-name (git-file-name name version))
3078 (sha256
3079 (base32
3080 "1pqw7zbgxzwpig4xr0izc3z8h80c72i6bl5yi12br0d7aq6dbkvj"))))
3081 (build-system gnu-build-system)
3082 (native-inputs
3083 `(("autoconf" ,autoconf)
3084 ("automake" ,automake)
3085 ("pkg-config" ,pkg-config)
3086 ("texinfo" ,texinfo)
3087 ("emacs" ,emacs-minimal)))
3088 (inputs
3089 `(("guile"
3090 ,@(assoc-ref (package-native-inputs guix) "guile"))
3091 ("guix" ,guix)))
3092 (propagated-inputs
3093 `(("geiser" ,emacs-geiser)
3094 ("guile-gcrypt" ,guile-gcrypt)
3095 ("dash" ,emacs-dash)
3096 ("bui" ,emacs-bui)
3097 ("edit-indirect" ,emacs-edit-indirect)
3098 ("magit-popup" ,emacs-magit-popup)))
3099 (home-page "https://emacs-guix.gitlab.io/website/")
3100 (synopsis "Emacs interface for GNU Guix")
3101 (description
3102 "Emacs-Guix provides a visual interface, tools and features for the GNU
3103 Guix package manager. Particularly, it allows you to do various package
3104 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
3105 @code{M-x guix-help} command.")
3106 (license license:gpl3+))))
3107
3108 (define-public emacs-build-farm
3109 (package
3110 (name "emacs-build-farm")
3111 (version "0.2.2")
3112 (source (origin
3113 (method git-fetch)
3114 (uri (git-reference
3115 (url "https://notabug.org/alezost/emacs-build-farm.git")
3116 (commit (string-append "v" version))))
3117 (file-name (git-file-name name version))
3118 (sha256
3119 (base32
3120 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
3121 (build-system emacs-build-system)
3122 (propagated-inputs
3123 `(("bui" ,emacs-bui)
3124 ("magit-popup" ,emacs-magit-popup)))
3125 (home-page "https://notabug.org/alezost/emacs-build-farm")
3126 (synopsis "Emacs interface for Hydra and Cuirass build farms")
3127 (description
3128 "This Emacs package provides an interface for Hydra and
3129 Cuirass (build farms used by Nix and Guix). It allows you to look at
3130 various data related to the build farm projects, jobsets, builds and
3131 evaluations. The entry point is @code{M-x build-farm} command.")
3132 (license license:gpl3+)))
3133
3134 (define-public emacs-d-mode
3135 (package
3136 (name "emacs-d-mode")
3137 (version "2.0.10")
3138 (source
3139 (origin
3140 (method git-fetch)
3141 (uri (git-reference
3142 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
3143 (commit version)))
3144 (file-name (git-file-name name version))
3145 (sha256
3146 (base32 "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"))))
3147 (build-system emacs-build-system)
3148 (propagated-inputs
3149 `(("emacs-undercover" ,emacs-undercover)))
3150 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
3151 (synopsis "Emacs major mode for editing D code")
3152 (description "This package provides an Emacs major mode for highlighting
3153 code written in the D programming language. This mode is currently known to
3154 work with Emacs 24 and 25.")
3155 (license license:gpl2+)))
3156
3157 (define-public emacs-extempore-mode
3158 ;; Use the latest commit at time of packaging. There are no releases or tags.
3159 (let ((commit "09518ae6650d7be33a4633a4c0f31b7130d04c6e")
3160 (revision "1"))
3161 (package
3162 (name "emacs-extempore-mode")
3163 (version (git-version "0.0.0" revision commit))
3164 (source
3165 (origin
3166 (method git-fetch)
3167 (uri (git-reference
3168 (url "https://github.com/extemporelang/extempore-emacs-mode")
3169 (commit commit)))
3170 (file-name (git-file-name name version))
3171 (sha256
3172 (base32 "0hfza9lzdsz94gxhmzyp9fwviscv19rmnjgd0q613faayn11sjsp"))))
3173 (build-system emacs-build-system)
3174 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
3175 (synopsis "Emacs major mode for Extempore source files")
3176 (description
3177 "This package provides a major mode for editing Extempore code. It can
3178 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
3179 running Extempore process, and more.")
3180 (license license:bsd-2))))
3181
3182 (define-public emacs-kakoune
3183 ;; Package has no release. Version is extracted from "Version:" keyword in
3184 ;; main file.
3185 (let ((commit "d73d14e69ea38076af50cc69f846808383ff539d")
3186 (revision "0"))
3187 (package
3188 (name "emacs-kakoune")
3189 (version (git-version "0.1" revision commit))
3190 (source
3191 (origin
3192 (method git-fetch)
3193 (uri (git-reference
3194 (url "https://github.com/jmorag/kakoune.el")
3195 (commit commit)))
3196 (file-name (git-file-name name version))
3197 (sha256
3198 (base32 "0nk6jdy1y5mc3ryd0smiqghrk6iv34d5grc7f7migmshlbq0np92"))))
3199 (build-system emacs-build-system)
3200 (propagated-inputs
3201 `(("emacs-expand-region" ,emacs-expand-region)
3202 ("emacs-multiple-cursors" ,emacs-multiple-cursors)
3203 ("emacs-ryo-modal" ,emacs-ryo-modal)))
3204 (home-page "https://github.com/jmorag/kakoune.el")
3205 (synopsis "Emacs simple simulation, but not emulation, of Kakoune")
3206 (description "This package provides many, but not all of the editing
3207 primitives in the Kakoune editor. Unlike Evil mode for Vim, this is a very
3208 shallow emulation, which seeks to do as little work as possible, leveraging
3209 Emacs native editing commands and the work of other packages wherever
3210 possible.")
3211 (license license:expat))))
3212
3213 (define-public emacs-kana
3214 ;; Package has no release. Version is extracted from "Version:" keyword in
3215 ;; main file.
3216 (let ((commit "b239c3c3c6124b46ff720cca7b80ecbafd7fa489")
3217 (revision "0"))
3218 (package
3219 (name "emacs-kana")
3220 (version (git-version "1.0.0" revision commit))
3221 (source
3222 (origin
3223 (method git-fetch)
3224 (uri (git-reference
3225 (url "https://github.com/chenyanming/kana")
3226 (commit commit)))
3227 (file-name (git-file-name name version))
3228 (sha256
3229 (base32 "0vrrl1kniq4h111jvnapvx3wybvsl3alfaygw634mmryr3h7pwi8"))))
3230 (build-system emacs-build-system)
3231 (home-page "https://github.com/chenyanming/kana")
3232 (synopsis "Learn Japanese Kana in Emacs")
3233 (description
3234 "This Emacs mode displays Hiragana and Katakana flashcards. It can use
3235 functionality from Emacs Kanji mode if it is installed.")
3236 (license license:gpl3+))))
3237
3238 (define-public emacs-kanji
3239 ;; Package has no release. Version is extracted from "Version:" keyword in
3240 ;; main file.
3241 (let ((commit "5e9d5b72468ece11cfb81b729be6babf63ede425")
3242 (revision "0"))
3243 (package
3244 (name "emacs-kanji")
3245 (version (git-version "1.0" revision commit))
3246 (source
3247 (origin
3248 (method git-fetch)
3249 (uri (git-reference
3250 (url "https://github.com/wsgac/kanji-mode")
3251 (commit commit)))
3252 (file-name (git-file-name name version))
3253 (sha256
3254 (base32 "1zh7klqaza840q5f44zzh1wrnd6sqa2k93z3dgx3yhhsxfd1dxvy"))))
3255 (build-system emacs-build-system)
3256 (home-page "https://github.com/wsgac/kanji-mode")
3257 (synopsis "Emacs minor mode for displaying Japanese Kanji stroke order")
3258 (description
3259 "This minor mode displays the stroke order of the Kanji sign under
3260 cursor in a transient buffer. It has a built-in collection of SVG images
3261 depicting stroke orders for all Kanji. The collection is a slightly modified
3262 and limited version of the images provided by the KanjiVG project.")
3263 (license license:gpl3+))))
3264
3265 (define-public emacs-kbd
3266 ;; Package has no release. Version is extracted from "Version:" keyword in
3267 ;; main file.
3268 (let ((commit "a7f4c9b9770fa6a58895c5f121df82652bb1b737")
3269 (revision "0"))
3270 (package
3271 (name "emacs-kbd")
3272 (version (git-version "0.0.1" revision commit))
3273 (source
3274 (origin
3275 (method git-fetch)
3276 (uri (git-reference
3277 (url "https://github.com/slotThe/kbd-mode")
3278 (commit commit)))
3279 (file-name (git-file-name name version))
3280 (sha256
3281 (base32 "0jv9yfsncgf96308c041hvps3jlc151xb0aipm0vasbma3x83ygm"))))
3282 (build-system emacs-build-system)
3283 (arguments
3284 `(#:phases
3285 (modify-phases %standard-phases
3286 (add-after 'unpack 'enter-lisp-directory
3287 (lambda _ (chdir "lisp") #t)))))
3288 (home-page "https://github.com/slotThe/kbd-mode")
3289 (synopsis "Minor mode for syntax highlighting kmonad's @file{.kbd} files")
3290 (description
3291 "This minor mode provides syntax highlighting for Lisp-like DSL used in
3292 kmonad's configuration files (@file{.kbd}).")
3293 (license license:gpl3+))))
3294
3295 (define-public emacs-keycast
3296 (package
3297 (name "emacs-keycast")
3298 (version "1.0.4")
3299 (source
3300 (origin
3301 (method git-fetch)
3302 (uri (git-reference
3303 (url "https://github.com/tarsius/keycast.git")
3304 (commit (string-append "v" version))))
3305 (file-name (git-file-name name version))
3306 (sha256
3307 (base32 "1g9arjdhdpvsw47ny9gi5k758ya37yza4mr0rhbf02yvrqyfsrgr"))))
3308 (build-system emacs-build-system)
3309 (home-page "https://github.com/tarsius/keycast")
3310 (synopsis "Show current command and its key in the mode line")
3311 (description
3312 "This package provides Keycast mode. Once enabled, that mode shows the
3313 current command and its key or mouse binding in the mode line, and updates
3314 them whenever another command is invoked.")
3315 (license license:gpl3+)))
3316
3317 (define-public emacs-keyfreq
3318 (package
3319 (name "emacs-keyfreq")
3320 (version "20160516.716")
3321 (source
3322 (origin
3323 (method url-fetch)
3324 (uri (string-append "http://melpa.org/packages/keyfreq-"
3325 version ".el"))
3326 (sha256
3327 (base32
3328 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
3329 (build-system emacs-build-system)
3330 (home-page "https://github.com/dacap/keyfreq")
3331 (synopsis "Track Emacs command frequencies")
3332 (description "@code{emacs-keyfeq} tracks and shows how many times you used
3333 a command.")
3334 (license license:gpl3+)))
3335
3336 (define-public emacs-olivetti
3337 (package
3338 (name "emacs-olivetti")
3339 (version "1.11.3")
3340 (source
3341 (origin
3342 (method git-fetch)
3343 (uri (git-reference
3344 (url "https://github.com/rnkn/olivetti")
3345 (commit (string-append "v" version))))
3346 (file-name (git-file-name name version))
3347 (sha256
3348 (base32 "0zcph7l0hxisbvsyzb1dw3paq5a5sjp5lrq5nq9zggvgc6zvx7sh"))))
3349 (build-system emacs-build-system)
3350 (home-page "https://github.com/rnkn/olivetti")
3351 (synopsis "Emacs minor mode for a nice writing environment")
3352 (description "This package provides an Emacs minor mode that puts writing
3353 in the center.")
3354 (license license:gpl3+)))
3355
3356 (define-public emacs-undo-tree
3357 (package
3358 (name "emacs-undo-tree")
3359 (version "0.7.5")
3360 (source
3361 (origin
3362 (method url-fetch)
3363 (uri (string-append "https://elpa.gnu.org/packages/"
3364 "undo-tree-" version ".el"))
3365 (sha256
3366 (base32 "00admi87gqm0akhfqm4dcp9fw8ihpygy030955jswkha4zs7lw2p"))))
3367 (build-system emacs-build-system)
3368 (home-page "https://www.dr-qubit.org/undo-tree.html")
3369 (synopsis "Treat undo history as a tree")
3370 (description
3371 "Tree-like interface to Emacs undo system, providing
3372 graphical tree presentation of all previous states of buffer that
3373 allows easily move between them.")
3374 (license license:gpl3+)))
3375
3376 (define-public emacs-undo-fu
3377 ;; There are no tagged releases upstream on gitlab, instead we are using
3378 ;; the most recent commit.
3379 (let ((commit "c0806c1903c5a0e4c69b6615cdc3366470a9b8ca")
3380 (revision "0"))
3381 (package
3382 (name "emacs-undo-fu")
3383 (version (git-version "0.4" revision commit))
3384 (source
3385 (origin
3386 (method git-fetch)
3387 (uri (git-reference
3388 (url "https://gitlab.com/ideasman42/emacs-undo-fu")
3389 (commit commit)))
3390 (file-name (git-file-name name version))
3391 (sha256
3392 (base32 "1n594aakmcgyl7qbda86v4wsx8clm62ypiv3h559xz3x72h7mr3j"))))
3393 (build-system emacs-build-system)
3394 (home-page "https://gitlab.com/ideasman42/emacs-undo-fu")
3395 (synopsis "Simple, stable linear undo with redo for Emacs")
3396 (description
3397 "This is a light weight wrapper for Emacs built-in undo system,
3398 adding convenient undo/redo without losing access to the full undo history,
3399 allowing you to visit all previous states of the document if you need.")
3400 (license license:gpl3+))))
3401
3402 (define-public emacs-undo-fu-session
3403 ;; There are no tagged releases upstream on gitlab, instead we are using the
3404 ;; most recent commit.
3405 (let ((commit "56cdd3538a058c6916bdf2d9010c2179f2505829")
3406 (revision "0"))
3407 (package
3408 (name "emacs-undo-fu-session")
3409 (version (git-version "0.2" revision commit))
3410 (source
3411 (origin
3412 (method git-fetch)
3413 (uri (git-reference
3414 (url "https://gitlab.com/ideasman42/emacs-undo-fu-session")
3415 (commit commit)))
3416 (file-name (git-file-name name version))
3417 (sha256
3418 (base32 "04wq1alrzzlidcb4mjb5j7pg68pks1vgv7kvvmi6dzb3l602mb2a"))))
3419 (build-system emacs-build-system)
3420 (arguments
3421 `(#:tests? #t
3422 #:test-command '("emacs" "--batch" "-l" "undo-fu-session.el"
3423 "-l" "undo-fu-session-test.el")
3424 #:phases
3425 (modify-phases %standard-phases
3426 (add-before 'check 'set-home
3427 (lambda _
3428 (setenv "HOME" "/tmp")
3429 #t)))))
3430 (home-page "https://gitlab.com/ideasman42/emacs-undo-fu-session")
3431 (synopsis "Save & recover undo steps between Emacs sessions")
3432 (description "This package writes undo/redo information upon file save
3433 which is restored where possible when the file is loaded again.")
3434 (license license:gpl3+))))
3435
3436 (define-public emacs-s
3437 (package
3438 (name "emacs-s")
3439 (version "1.12.0")
3440 (source
3441 (origin
3442 (method git-fetch)
3443 (uri (git-reference
3444 (url "https://github.com/magnars/s.el")
3445 (commit version)))
3446 (file-name (git-file-name name version))
3447 (sha256
3448 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
3449 (build-system emacs-build-system)
3450 (arguments
3451 `(#:tests? #t
3452 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
3453 #:test-command '("./run-tests.sh")))
3454 (home-page "https://github.com/magnars/s.el")
3455 (synopsis "Emacs string manipulation library")
3456 (description "This package provides an Emacs library for manipulating
3457 strings.")
3458 (license license:gpl3+)))
3459
3460 (define-public emacs-symon
3461 (package
3462 (name "emacs-symon")
3463 (version "20160630")
3464 (source
3465 (origin
3466 (method git-fetch)
3467 (uri (git-reference
3468 (url "https://github.com/zk-phi/symon")
3469 (commit version)))
3470 (file-name (git-file-name name version))
3471 (sha256
3472 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
3473 (build-system emacs-build-system)
3474 (home-page "https://github.com/zk-phi/symon")
3475 (synopsis "Tiny graphical system monitor")
3476 (description
3477 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
3478 (license license:gpl2+)))
3479
3480 (define-public emacs-sx
3481 (let ((version "20191229")
3482 (revision "0")
3483 (commit "e9d1093c97507a6d7b4f4710ef65200dae725e5f"))
3484 (package
3485 (name "emacs-sx")
3486 (version (git-version version revision commit))
3487 (source
3488 (origin
3489 (method git-fetch)
3490 (uri (git-reference
3491 (url "https://github.com/vermiculus/sx.el")
3492 (commit commit)))
3493 (file-name (git-file-name name version))
3494 (sha256
3495 (base32 "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf"))))
3496 (build-system emacs-build-system)
3497 (propagated-inputs
3498 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
3499 (home-page "https://github.com/vermiculus/sx.el")
3500 (synopsis "Emacs StackExchange client")
3501 (description
3502 "Emacs StackExchange client. Ask and answer questions on
3503 Stack Overflow, Super User, and other StackExchange sites.")
3504 (license license:gpl3+))))
3505
3506 (define-public emacs-toc-org
3507 (package
3508 (name "emacs-toc-org")
3509 (version "1.1.0")
3510 (source
3511 (origin
3512 (method git-fetch)
3513 (uri (git-reference
3514 (url "https://github.com/snosov1/toc-org")
3515 (commit version)))
3516 (file-name (git-file-name name version))
3517 (sha256
3518 (base32 "0lk0rji85a1c0c5r9an0fdvsm4n4jyixsknmr8ywha3lfmc2p0l8"))))
3519 (build-system emacs-build-system)
3520 (home-page "https://github.com/snosov1/toc-org")
3521 (synopsis "Table of Contents generator for Emacs Org mode")
3522 (description
3523 "This package generates a table of contents when saving in Org and
3524 Markdown files.")
3525 (license license:gpl2+)))
3526
3527 (define-public emacs-toml-mode
3528 (let ((version "0.1.3")
3529 (revision "0")
3530 (commit "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06"))
3531 (package
3532 (name "emacs-toml-mode")
3533 (version (git-version version revision commit))
3534 (source
3535 (origin
3536 (method git-fetch)
3537 (uri (git-reference
3538 (url "https://github.com/dryman/toml-mode.el")
3539 (commit commit)))
3540 (file-name (git-file-name name version))
3541 (sha256
3542 (base32 "05b4ksay85c8y5ncax0qsvnmplwsfiw24z16a58gkarjz938hb57"))))
3543 (build-system emacs-build-system)
3544 (home-page "https://github.com/dryman/toml-mode.el")
3545 (synopsis "Emacs major mode for editing TOML files")
3546 (description
3547 ;; XXX: Ideally we'd use @acronym for "TOML", but Guile's Texinfo
3548 ;; parser does not currently support @comma{}, making it impossible
3549 ;; to use commas in the @acronym arguments.
3550 "This package provides a major mode for editing files in @dfn{TOML}
3551 (Tom's Obvious, Minimal Language) data format.")
3552 (license license:gpl3+))))
3553
3554 (define-public emacs-twittering-mode
3555 (package
3556 (name "emacs-twittering-mode")
3557 (version "3.1.0")
3558 (source
3559 (origin
3560 (method url-fetch)
3561 (uri (string-append "mirror://sourceforge/twmode"
3562 "/twittering-mode-" version
3563 "/twittering-mode-" version ".tar.xz"))
3564 (sha256
3565 (base32 "02imis1gxz90lah0b5n37j2hlsaw5igss11d85vpsm5d1bgw8j28"))))
3566 (build-system emacs-build-system)
3567 (home-page "http://twmode.sourceforge.net")
3568 (synopsis "Emacs major mode for Twitter")
3569 (description
3570 "Twittering mode is an Emacs major mode for Twitter.
3571 You can check timelines, tweet, mark posts as favorites and so on with
3572 Emacs.")
3573 (license license:gpl2+)))
3574
3575 (define-public emacs-f
3576 (package
3577 (name "emacs-f")
3578 (version "0.20.0")
3579 (source (origin
3580 (method git-fetch)
3581 (uri (git-reference
3582 (url "https://github.com/rejeep/f.el")
3583 (commit (string-append "v" version))))
3584 (file-name (git-file-name name version))
3585 (sha256
3586 (base32
3587 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
3588 (build-system emacs-build-system)
3589 (propagated-inputs
3590 `(("emacs-s" ,emacs-s)
3591 ("emacs-dash" ,emacs-dash)))
3592 (home-page "https://github.com/rejeep/f.el")
3593 (synopsis "Emacs API for working with files and directories")
3594 (description "This package provides an Emacs library for working with
3595 files and directories.")
3596 (license license:gpl3+)))
3597
3598 (define-public emacs-fountain-mode
3599 (package
3600 (name "emacs-fountain-mode")
3601 (version "3.4.1")
3602 (source
3603 (origin
3604 (method git-fetch)
3605 (uri (git-reference
3606 (url "https://github.com/rnkn/fountain-mode")
3607 (commit (string-append "v" version))))
3608 (file-name (git-file-name name version))
3609 (sha256
3610 (base32 "14zhbcfqyp093kd1bxl7f2hf5l5995qmgpmnxfgw9qcc781crj73"))))
3611 (build-system emacs-build-system)
3612 (home-page "https://github.com/rnkn/fountain-mode")
3613 (synopsis "Major mode for screenwriting in Fountain markup")
3614 (description "Fountain Mode is a scriptwriting program for GNU Emacs
3615 using the Fountain plain text markup format.")
3616 (license license:gpl3+)))
3617
3618 (define-public emacs-fringe-helper
3619 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
3620 (revision "1"))
3621 (package
3622 (name "emacs-fringe-helper")
3623 (version (git-version "1.0.1" revision commit))
3624 (source
3625 (origin
3626 (method git-fetch)
3627 (uri (git-reference
3628 (url "https://github.com/nschum/fringe-helper.el")
3629 (commit commit)))
3630 (file-name (git-file-name name version))
3631 (sha256
3632 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
3633 (build-system emacs-build-system)
3634 (arguments
3635 `(#:tests? #t
3636 #:test-command '("emacs" "--batch"
3637 "-l" "tests.el"
3638 "-f" "ert-run-tests-batch-and-exit")))
3639 (home-page "https://github.com/nschum/fringe-helper.el")
3640 (synopsis "Helper functions for fringe bitmaps")
3641 (description
3642 "This package allows fringe bitmaps to be defined with a visual string
3643 representation.")
3644 (license license:gpl2+))))
3645
3646 (define-public emacs-git-gutter
3647 (package
3648 (name "emacs-git-gutter")
3649 (version "0.91")
3650 (source
3651 (origin
3652 (method git-fetch)
3653 (uri (git-reference
3654 (url "https://github.com/syohex/emacs-git-gutter")
3655 (commit version)))
3656 (file-name (git-file-name name version))
3657 (sha256
3658 (base32 "0zc9f73app1d7j4yb10sy4xidh5252ncyxlvr5kh0kiqk88ck6j9"))))
3659 (build-system emacs-build-system)
3660 (home-page "https://github.com/syohex/emacs-git-gutter")
3661 (synopsis "See and manage hunks of text in a version control system")
3662 (description
3663 "This package is an Emacs minor mode for displaying and interacting with
3664 hunks of text managed in a version control system. Added modified and deleted
3665 areas can be indicated with symbols on the edge of the buffer, and commands
3666 can be used to move between and perform actions on these hunks.
3667
3668 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
3669 display and behaviour is easily customisable.")
3670 (license license:gpl3+)))
3671
3672 (define-public emacs-git-gutter-fringe
3673 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
3674 (revision "1"))
3675 (package
3676 (name "emacs-git-gutter-fringe")
3677 (version (git-version "0.23" revision commit))
3678 (source
3679 (origin
3680 (method git-fetch)
3681 (uri (git-reference
3682 (url "https://github.com/emacsorphanage/git-gutter-fringe")
3683 (commit commit)))
3684 (file-name (git-file-name name version))
3685 (sha256
3686 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
3687 (build-system emacs-build-system)
3688 (propagated-inputs
3689 `(("emacs-git-gutter" ,emacs-git-gutter)
3690 ("emacs-fringe-helper" ,emacs-fringe-helper)))
3691 (home-page "https://github.com/emacsorphanage/git-gutter-fringe")
3692 (synopsis "See and manage hunks of text in a version control system")
3693 (description
3694 "This package extends @code{git-gutter} to use the fringe area of a
3695 window.")
3696 (license license:gpl3+))))
3697
3698 (define-public emacs-git-link
3699 (package
3700 (name "emacs-git-link")
3701 (version "0.8.3")
3702 (source
3703 (origin
3704 (method git-fetch)
3705 (uri (git-reference
3706 (url "https://github.com/sshaw/git-link")
3707 (commit (string-append "v" version))))
3708 (file-name (git-file-name name version))
3709 (sha256
3710 (base32 "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75"))))
3711 (build-system emacs-build-system)
3712 (arguments
3713 `(#:tests? #t
3714 #:test-command '("make" "test")))
3715 (home-page "https://github.com/sshaw/git-link")
3716 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
3717 (description
3718 "@code{git-link} returns the URL for the current buffer's file location
3719 at the current line number or active region. @code{git-link-commit} returns
3720 the URL for a commit. URLs are added to the kill ring.")
3721 (license license:gpl3+)))
3722
3723 (define-public emacs-apheleia
3724 (package
3725 (name "emacs-apheleia")
3726 (version "1.0")
3727 (source
3728 (origin
3729 (method git-fetch)
3730 (uri (git-reference
3731 (url "https://github.com/raxod502/apheleia")
3732 (commit (string-append "v" version))))
3733 (file-name (git-file-name name version))
3734 (sha256
3735 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
3736 (build-system emacs-build-system)
3737 (home-page "https://github.com/raxod502/apheleia")
3738 (synopsis "Reformat buffer stably")
3739 (description
3740 "This package allows for a buffer to be reformatted without moving point,
3741 so that running a formatting tool like @code{Prettier} or @code{Black} upon
3742 saving won't move point back to the beginning of the buffer.")
3743 (license license:gpl3+)))
3744
3745 (define-public emacs-git-timemachine
3746 (package
3747 (name "emacs-git-timemachine")
3748 (version "4.11")
3749 (source
3750 (origin
3751 (method git-fetch)
3752 (uri (git-reference
3753 (url "https://gitlab.com/pidu/git-timemachine.git")
3754 (commit version)))
3755 (file-name (git-file-name name version))
3756 (sha256
3757 (base32
3758 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
3759 (build-system emacs-build-system)
3760 (propagated-inputs
3761 `(("emacs-transient" ,emacs-transient)))
3762 (home-page "https://gitlab.com/pidu/git-timemachine")
3763 (synopsis "Step through historic versions of Git-controlled files")
3764 (description "This package enables you to step through historic versions
3765 of files under Git version control from within Emacs.")
3766 (license license:gpl3+)))
3767
3768 (define-public emacs-minitest
3769 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
3770 (revision "1"))
3771 (package
3772 (name "emacs-minitest")
3773 (version (git-version "0.8.0" revision commit))
3774 (source (origin
3775 (method git-fetch)
3776 (uri (git-reference
3777 (url "https://github.com/arthurnn/minitest-emacs")
3778 (commit commit)))
3779 (file-name (git-file-name name commit))
3780 (sha256
3781 (base32
3782 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
3783 (build-system emacs-build-system)
3784 (arguments
3785 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
3786 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
3787 (propagated-inputs
3788 `(("emacs-dash" ,emacs-dash)
3789 ("emacs-f" ,emacs-f)))
3790 (home-page "https://github.com/arthurnn/minitest-emacs")
3791 (synopsis "Emacs minitest mode")
3792 (description
3793 "The minitest mode provides commands to run the tests for the current
3794 file or line, as well as rerunning the previous tests, or all the tests for a
3795 project.
3796
3797 This package also includes relevant snippets for yasnippet.")
3798 (license license:expat))))
3799
3800 (define-public emacs-gdscript-mode
3801 (package
3802 (name "emacs-gdscript-mode")
3803 (version "1.4.0")
3804 (source
3805 (origin
3806 (method git-fetch)
3807 (uri (git-reference
3808 (url "https://github.com/godotengine/emacs-gdscript-mode")
3809 (commit version)))
3810 (file-name (git-file-name name version))
3811 (sha256
3812 (base32 "09q0himrz7a6xgz0jmcl85qc5xhk5fwi6d2vw1n8qaiavm96ksdy"))))
3813 (build-system emacs-build-system)
3814 (home-page "https://github.com/godotengine/emacs-gdscript-mode")
3815 (synopsis "GDScript support and syntax highlighting in Emacs")
3816 (description
3817 "This package adds support for the GDScript programming language from the
3818 Godot game engine in Emacs. It features all the essentials, e.g., syntax
3819 highlighting, code folding, indentation, automatic pairing, auto-completion,
3820 and code formatting.")
3821 (license license:gpl3+)))
3822
3823 (define-public emacs-el-mock
3824 (package
3825 (name "emacs-el-mock")
3826 (version "1.25.1")
3827 (source
3828 (origin
3829 (method git-fetch)
3830 (uri (git-reference
3831 (url "https://github.com/rejeep/el-mock.el")
3832 (commit (string-append "v" version))))
3833 (file-name (git-file-name name version))
3834 (sha256
3835 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
3836 (build-system emacs-build-system)
3837 (home-page "https://github.com/rejeep/el-mock.el")
3838 (synopsis "Tiny mock and stub framework in Emacs Lisp")
3839 (description
3840 "Emacs Lisp Mock is a library for mocking and stubbing using readable
3841 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
3842 Expectations, but it can be used in other contexts.")
3843 (license license:gpl3+)))
3844
3845 (define-public emacs-ecukes
3846 (package
3847 (name "emacs-ecukes")
3848 (version "0.6.17")
3849 (home-page "https://github.com/ecukes/ecukes")
3850 (source
3851 (origin
3852 (method git-fetch)
3853 (uri (git-reference
3854 (url home-page)
3855 (commit (string-append "v" version))))
3856 (file-name (git-file-name name version))
3857 (sha256
3858 (base32 "1isscwz4h3nx62lwfrj899lp2yc27zk1ndgr441d848495ccmshn"))))
3859 (build-system emacs-build-system)
3860 (arguments
3861 `(#:include (cons* "^feature/" "^reporters/" "^templates/" %default-include)))
3862 (propagated-inputs
3863 `(("emacs-ansi" ,emacs-ansi)
3864 ("emacs-commander" ,emacs-commander)
3865 ("emacs-dash" ,emacs-dash)
3866 ("emacs-espuds" ,emacs-espuds)
3867 ("emacs-f" ,emacs-f)
3868 ("emacs-s" ,emacs-s)))
3869 (synopsis "Cucumber for Emacs")
3870 (description
3871 "This package provides Ecukes, a Cucumber-inspired integration testing
3872 tool for Emacs. Ecukes is not a complete clone of Cucumber and is not
3873 intended to be.")
3874 (license license:gpl3+)))
3875
3876 (define-public emacs-espuds
3877 (package
3878 (name "emacs-espuds")
3879 (version "0.3.3")
3880 (source
3881 (origin
3882 (method git-fetch)
3883 (uri (git-reference
3884 (url "https://github.com/ecukes/espuds")
3885 (commit (string-append "v" version))))
3886 (file-name (git-file-name name version))
3887 (sha256
3888 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
3889 (build-system emacs-build-system)
3890 (propagated-inputs
3891 `(("emacs-s" ,emacs-s)
3892 ("emacs-dash" ,emacs-dash)
3893 ("emacs-f" ,emacs-f)))
3894 (home-page "https://github.com/ecukes/espuds")
3895 (synopsis "Common step definitions for Ecukes")
3896 (description "Espuds is a collection of the most commonly used step
3897 definitions for testing with the Ecukes framework.")
3898 (license license:gpl3+)))
3899
3900 (define-public emacs-spark
3901 (let ((version "20160503") ; no proper tag, use date of commit
3902 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
3903 (revision "1"))
3904 (package
3905 (name "emacs-spark")
3906 (version (git-version version revision commit))
3907 (source
3908 (origin
3909 (method git-fetch)
3910 (uri (git-reference
3911 (url "https://github.com/alvinfrancis/spark")
3912 (commit commit)))
3913 (file-name (git-file-name name version))
3914 (sha256
3915 (base32
3916 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
3917 (build-system emacs-build-system)
3918 (home-page "https://github.com/alvinfrancis/spark")
3919 (synopsis "Sparkline generation library for Emacs Lisp")
3920 (description "@code{emacs-spark} is a sparkline generation library for
3921 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
3922 port of @code{cl-spark} to Emacs Lisp.")
3923 (license license:expat))))
3924
3925 (define-public emacs-es-mode
3926 (package
3927 (name "emacs-es-mode")
3928 (version "4.3.0")
3929 (source
3930 (origin
3931 (method git-fetch)
3932 (uri (git-reference
3933 (url "https://github.com/dakrone/es-mode")
3934 (commit version)))
3935 (file-name (git-file-name name version))
3936 (sha256
3937 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
3938 (build-system emacs-build-system)
3939 (propagated-inputs
3940 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
3941 ;; to be rendered incorrectly
3942 `(("emacs-dash" ,emacs-dash)
3943 ("emacs-org" ,emacs-org)
3944 ("emacs-spark" ,emacs-spark)))
3945 (home-page "https://github.com/dakrone/es-mode")
3946 (synopsis "Major mode for editing Elasticsearch queries")
3947 (description "@code{es-mode} includes highlighting, completion and
3948 indentation support for Elasticsearch queries. Also supported are
3949 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
3950 be processed through @code{jq}, or in the case of aggregations, can be
3951 rendered in to a table. In addition, there is an @code{es-command-center}
3952 mode, which displays information about Elasticsearch clusters.")
3953 (license license:gpl3+)))
3954
3955 (define-public emacs-expand-region
3956 (package
3957 (name "emacs-expand-region")
3958 (version "0.11.0")
3959 (source
3960 (origin
3961 (method git-fetch)
3962 (uri (git-reference
3963 (url "https://github.com/magnars/expand-region.el")
3964 (commit version)))
3965 (file-name (git-file-name name version))
3966 (sha256
3967 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
3968 (build-system emacs-build-system)
3969 (home-page "https://github.com/magnars/expand-region.el")
3970 (synopsis "Increase selected region by semantic units")
3971 (description
3972 "Expand region increases the selected region by semantic units. Just
3973 keep pressing the key until it selects what you want. There's also
3974 @code{er/contract-region} if you expand too far.")
3975 (license license:gpl3+)))
3976
3977 (define-public emacs-explain-pause-mode
3978 (let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
3979 (revision "0"))
3980 (package
3981 (name "emacs-explain-pause-mode")
3982 (version (git-version "0.1" revision commit))
3983 (source (origin
3984 (method git-fetch)
3985 (uri (git-reference
3986 (url "https://github.com/lastquestion/explain-pause-mode")
3987 (commit commit)))
3988 (file-name (git-file-name name version))
3989 (sha256
3990 (base32
3991 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
3992 (build-system emacs-build-system)
3993 (native-inputs
3994 `(("emacs" ,emacs-buttercup)))
3995 (arguments
3996 '(#:tests? #t
3997 ;; Don't run case-tests as they will fail to create sockets because
3998 ;; the path is too long
3999 #:test-command '("make" "byte-compile" "unit-tests")
4000 ;; Parallel testing will cause the tests to run before
4001 ;; byte-compilation is finished
4002 #:parallel-tests? #f))
4003 (home-page "https://github.com/lastquestion/explain-pause-mode")
4004 (synopsis "Top-like interface to determine why Emacs paused")
4005 (description
4006 "This package monitors Emacs function calls and records their execution
4007 time. This information can be reviewed to determine what is causing the user
4008 interface to pause.")
4009 (license license:gpl3+))))
4010
4011 (define-public emacs-fill-column-indicator
4012 (package
4013 (name "emacs-fill-column-indicator")
4014 (version "1.90")
4015 (source
4016 (origin
4017 (method git-fetch)
4018 (uri (git-reference
4019 (url "https://github.com/alpaker/Fill-Column-Indicator")
4020 (commit version)))
4021 (file-name (git-file-name name version))
4022 (sha256
4023 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
4024 (build-system emacs-build-system)
4025 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
4026 (synopsis "Graphically indicate the fill column")
4027 (description
4028 "Fill-column-indicator graphically indicates the location of the fill
4029 column by drawing a thin line down the length of the editing window.")
4030 (license license:gpl3+)))
4031
4032 (define-public emacs-grep-a-lot
4033 (package
4034 (name "emacs-grep-a-lot")
4035 (version "1.0.7")
4036 (source
4037 (origin
4038 (method git-fetch)
4039 (uri (git-reference
4040 (url "https://github.com/ZungBang/emacs-grep-a-lot")
4041 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
4042 (file-name (git-file-name name version))
4043 (sha256
4044 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
4045 (build-system emacs-build-system)
4046 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
4047 (synopsis "Enables multiple grep buffers in Emacs")
4048 (description
4049 "This Emacs package allows managing multiple grep buffers.")
4050 (license license:gpl3+)))
4051
4052 (define-public emacs-fd
4053 (package
4054 (name "emacs-fd")
4055 (version "0.1.0")
4056 (source (origin
4057 (method git-fetch)
4058 (uri (git-reference
4059 (url "https://github.com/yqrashawn/fd-dired")
4060 (commit version)))
4061 (file-name (git-file-name name version))
4062 (sha256
4063 (base32
4064 "1fas0fpvym2lyzybwm44gly9jz6a2fpp72yxnwfbqqjkfgk9910y"))))
4065 (build-system emacs-build-system)
4066 (home-page "https://github.com/yqrashawn/fd-dired")
4067 (synopsis "Dired-mode interface for fd result")
4068 (description "This package provides a dired-mode interface for fd's
4069 result.")
4070 (license license:gpl3+)))
4071
4072 (define-public emacs-rg
4073 (package
4074 (name "emacs-rg")
4075 (version "2.0.2")
4076 (source
4077 (origin
4078 (method git-fetch)
4079 (uri (git-reference
4080 (url "https://github.com/dajva/rg.el")
4081 (commit version)))
4082 (file-name (git-file-name name version))
4083 (sha256
4084 (base32 "15qcnsnbni0aincm9pxpfhff3c5ivd5zs2s2qchjzhcn4kdm6kxr"))))
4085 (build-system emacs-build-system)
4086 (arguments
4087 '(#:phases
4088 (modify-phases %standard-phases
4089 (add-after 'unpack 'remove-rg-path
4090 ;; Remove the path to ripgrep so that it works on remote systems.
4091 (lambda _
4092 (let ((file "rg.el"))
4093 (chmod file #o644)
4094 (emacs-substitute-sexps file
4095 ("(defcustom rg-executable" "rg"))))))))
4096 (propagated-inputs
4097 `(("emacs-s" ,emacs-s)
4098 ("emacs-transient" ,emacs-transient)
4099 ("emacs-wgrep" ,emacs-wgrep)
4100 ("ripgrep" ,ripgrep)))
4101 (home-page "https://rgel.readthedocs.io/en/latest/")
4102 (synopsis "Search tool based on @code{ripgrep}")
4103 (description
4104 "@code{rg} is an Emacs search package based on the @code{ripgrep} command
4105 line tool. It allows one to interactively search based on the editing context
4106 then refine or modify the search results.")
4107 (license license:gpl3+)))
4108
4109 (define-public emacs-inf-ruby
4110 (package
4111 (name "emacs-inf-ruby")
4112 (version "2.5.2")
4113 (source
4114 (origin
4115 (method git-fetch)
4116 (uri (git-reference
4117 (url "https://github.com/nonsequitur/inf-ruby")
4118 (commit version)))
4119 (file-name (git-file-name name version))
4120 (sha256
4121 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
4122 (build-system emacs-build-system)
4123 (home-page "https://github.com/nonsequitur/inf-ruby")
4124 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
4125 (description
4126 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
4127 for easy interaction with a ruby subprocess. Features include support for
4128 detecting specific uses of Ruby, e.g. when using rails, and using a
4129 appropriate console.")
4130 (license license:gpl3+)))
4131
4132 (define-public emacs-znc
4133 (package
4134 (name "emacs-znc")
4135 (version "0.0.2")
4136 (source
4137 (origin
4138 (method url-fetch)
4139 (uri (string-append "https://marmalade-repo.org/packages/znc-"
4140 version ".el"))
4141 (sha256
4142 (base32
4143 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
4144 (build-system emacs-build-system)
4145 (home-page "https://github.com/sshirokov/ZNC.el")
4146 (synopsis "Make ERC and ZNC get along better")
4147 (description
4148 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
4149 IRC bouncer with ERC.")
4150 (license license:expat)))
4151
4152 (define-public emacs-erc-status-sidebar
4153 (let ((commit "ea4189a1dbfe60117359c36e681ad7c389e2968c")
4154 (revision "1"))
4155 (package
4156 (name "emacs-erc-status-sidebar")
4157 (version (git-version "0.1" revision commit))
4158 (source
4159 (origin
4160 (method git-fetch)
4161 (uri (git-reference
4162 (url "https://github.com/drewbarbs/erc-status-sidebar")
4163 (commit commit)))
4164 (file-name (git-file-name name version))
4165 (sha256
4166 (base32 "1hwlhzgx03z8891sblz56zdp8zj0izh72kxykgcnz5rrkyc3vfi3"))))
4167 (build-system emacs-build-system)
4168 (home-page "https://github.com/drewbarbs/erc-status-sidebar")
4169 (synopsis "Hexchat-like activity overview for ERC channels")
4170 (description
4171 "This package provides a Hexchat-like status bar for joined channels in
4172 ERC, an Emacs client for IRC (Internet Relay Chat). It relies on the
4173 @code{erc-track} module, and displays all the same information
4174 @code{erc-track} does in the mode line, but in an alternative format.")
4175 (license license:gpl3+))))
4176
4177 (define-public emacs-shut-up
4178 (package
4179 (name "emacs-shut-up")
4180 (version "0.3.3")
4181 (source
4182 (origin
4183 (method git-fetch)
4184 (uri (git-reference
4185 (url "https://github.com/cask/shut-up")
4186 (commit (string-append "v" version))))
4187 (file-name (git-file-name name version))
4188 (sha256
4189 (base32 "1bnmrwrhra6cpc3jjgwwzrydj5ps7q2dlkh2ag4j7rkyv4dlk351"))))
4190 (build-system emacs-build-system)
4191 (home-page "https://github.com/cask/shut-up")
4192 (synopsis "Silence Emacs")
4193 (description "This package silences most output of Emacs when running an
4194 Emacs shell script.")
4195 (license license:expat)))
4196
4197 (define-public emacs-undercover
4198 (package
4199 (name "emacs-undercover")
4200 (version "0.8.0")
4201 (source
4202 (origin
4203 (method git-fetch)
4204 (uri (git-reference
4205 (url "https://github.com/sviridov/undercover.el")
4206 (commit (string-append "v" version))))
4207 (file-name (git-file-name name version))
4208 (sha256
4209 (base32 "19d3373fy635vbfwr1yhxirwqn68qzny9byv74smxws4ly04mr02"))))
4210 (build-system emacs-build-system)
4211 (propagated-inputs
4212 `(("emacs-dash" ,emacs-dash)
4213 ("emacs-shut-up" ,emacs-shut-up)))
4214 (home-page "https://github.com/sviridov/undercover.el")
4215 (synopsis "Test coverage library for Emacs Lisp")
4216 (description
4217 "Undercover is a test coverage library for software written in Emacs
4218 Lisp.")
4219 (license license:expat)))
4220
4221 (define-public emacs-paren-face
4222 (package
4223 (name "emacs-paren-face")
4224 (version "1.0.7")
4225 (source
4226 (origin
4227 (method git-fetch)
4228 (uri (git-reference
4229 (url "https://github.com/tarsius/paren-face")
4230 (commit version)))
4231 (file-name (git-file-name name version))
4232 (sha256
4233 (base32 "1zyrrrr8rmksr3rfsv96psk1z15wbbx1bvcfp3hf5ciyc2n79000"))))
4234 (build-system emacs-build-system)
4235 (home-page "https://github.com/tarsius/paren-face")
4236 (synopsis "Face for parentheses in Lisp modes")
4237 (description
4238 "This library defines a face named @code{parenthesis} used just for
4239 parentheses. The intended purpose of this face is to make parentheses less
4240 visible in Lisp code by dimming them. Lispers probably don't need to be
4241 constantly made aware of the existence of the parentheses. Dimming them might
4242 be even more useful for people new to Lisp who have not yet learned to
4243 subconsciously blend out the parentheses.")
4244 (license license:gpl3+)))
4245
4246 (define-public emacs-page-break-lines
4247 (package
4248 (name "emacs-page-break-lines")
4249 (version "0.14")
4250 (source
4251 (origin
4252 (method git-fetch)
4253 (uri (git-reference
4254 (url "https://github.com/purcell/page-break-lines")
4255 (commit version)))
4256 (file-name (git-file-name name version))
4257 (sha256
4258 (base32 "0plfyzmh93x1r3zgfjyx23cc7vi1pcniipclzlms1iwfkl7zsqvp"))))
4259 (build-system emacs-build-system)
4260 (home-page "https://github.com/purcell/page-break-lines")
4261 (synopsis "Display page breaks as tidy horizontal lines")
4262 (description
4263 "This library provides a global mode which displays form feed characters
4264 as horizontal rules.")
4265 (license license:gpl3+)))
4266
4267 (define-public emacs-simple-httpd
4268 (package
4269 (name "emacs-simple-httpd")
4270 (version "1.5.1")
4271 (source
4272 (origin
4273 (method git-fetch)
4274 (uri (git-reference
4275 (url "https://github.com/skeeto/emacs-web-server")
4276 (commit version)))
4277 (file-name (git-file-name name version))
4278 (sha256
4279 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
4280 (build-system emacs-build-system)
4281 (home-page "https://github.com/skeeto/emacs-web-server")
4282 (synopsis "HTTP server in pure Emacs Lisp")
4283 (description
4284 "This package provides a simple HTTP server written in Emacs Lisp to
4285 serve files and directory listings.")
4286 (license license:unlicense)))
4287
4288 (define-public emacs-skewer-mode
4289 (package
4290 (name "emacs-skewer-mode")
4291 (version "1.8.0")
4292 (source
4293 (origin
4294 (method git-fetch)
4295 (uri (git-reference
4296 (url "https://github.com/skeeto/skewer-mode")
4297 (commit version)))
4298 (file-name (git-file-name name version))
4299 (sha256
4300 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
4301 (build-system emacs-build-system)
4302 (propagated-inputs
4303 `(("emacs-simple-httpd" ,emacs-simple-httpd)
4304 ("emacs-js2-mode" ,emacs-js2-mode)))
4305 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
4306 (home-page "https://github.com/skeeto/skewer-mode")
4307 (synopsis "Live web development in Emacs")
4308 (description
4309 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
4310 a web browser. Expressions are sent on-the-fly from an editing buffer to be
4311 evaluated in the browser, just like Emacs does with an inferior Lisp process
4312 in Lisp modes.")
4313 (license license:unlicense)))
4314
4315 (define-public emacs-litable
4316 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
4317 (package
4318 (name "emacs-litable")
4319 (version (git-version "0.1" "0" commit))
4320 (source (origin
4321 (method git-fetch)
4322 (uri (git-reference
4323 (url "https://github.com/Fuco1/litable")
4324 (commit commit)))
4325 (file-name (git-file-name name version))
4326 (sha256
4327 (base32
4328 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
4329 (build-system emacs-build-system)
4330 (propagated-inputs
4331 `(("emacs-dash" ,emacs-dash)))
4332 (home-page "https://github.com/Fuco1/litable/")
4333 (synopsis "Dynamic evaluation replacement with Emacs")
4334 (description "This package provides dynamic evaluation in Emacs.")
4335 (license license:gpl3+))))
4336
4337 (define-public emacs-literate-calc-mode
4338 (let ((commit "a50e897a816cb5580ad6ec867eeaae212e0e4798")
4339 (revision "1"))
4340 (package
4341 (name "emacs-literate-calc-mode")
4342 (version (git-version "0.1" revision commit))
4343 (source
4344 (origin
4345 (method git-fetch)
4346 (uri (git-reference
4347 (url "https://github.com/sulami/literate-calc-mode.el")
4348 (commit commit)))
4349 (file-name (git-file-name name version))
4350 (sha256
4351 (base32 "0z6y5f1rj28lbr30m6g4a9l6ahs66whi8861g4cx9xzhs84nwv5g"))))
4352 (build-system emacs-build-system)
4353 (propagated-inputs
4354 `(("emacs-s" ,emacs-s)))
4355 (home-page "https://github.com/sulami/literate-calc-mode.el")
4356 (synopsis "Literate programming for Emacs Calc")
4357 (description
4358 "This library provides literate programming for Calc. There is both
4359 a major and a minor mode. The major mode does some basic syntax highlighting,
4360 while the minor mode only evaluates all Calc statements while typing. In
4361 particular, the minor mode works quite well with Org or Markdown modes, or
4362 other markup language major modes.")
4363 (license license:gpl3+))))
4364
4365 (define-public emacs-standard-dirs
4366 (package
4367 (name "emacs-standard-dirs")
4368 (version "2.0.0")
4369 (home-page "https://github.com/lafrenierejm/standard-dirs.el")
4370 (source
4371 (origin
4372 (method git-fetch)
4373 (uri (git-reference
4374 (url home-page)
4375 (commit version)))
4376 (file-name (git-file-name name version))
4377 (sha256
4378 (base32 "0r814qcrhvx4qlx4sdzwdmrhiryslqclx0bnpp0qcrbx6g8qfl25"))))
4379 (build-system emacs-build-system)
4380 (propagated-inputs
4381 `(("emacs-f" ,emacs-f)
4382 ("emacs-s" ,emacs-s)))
4383 (synopsis "Platform-specific paths for config, cache, and other data")
4384 (description
4385 "This package provides platform-specific paths for reading and writing
4386 configuration, cache, and other data.")
4387 (license license:gpl3+)))
4388
4389 (define-public emacs-string-inflection
4390 (package
4391 (name "emacs-string-inflection")
4392 (version "1.0.12")
4393 (source (origin
4394 (method git-fetch)
4395 (uri (git-reference
4396 (url "https://github.com/akicho8/string-inflection")
4397 (commit (string-append "v" version))))
4398 (file-name (git-file-name name version))
4399 (sha256
4400 (base32
4401 "0f3nkfdpngax4zfw75jca2wywwh31ha6ywddh4125lbxi3y6m7s9"))))
4402 (build-system emacs-build-system)
4403 (native-inputs
4404 `(("ert-runner" ,emacs-ert-runner)))
4405 (arguments
4406 `(#:tests? #t
4407 #:test-command '("ert-runner")))
4408 (home-page "https://github.com/akicho8/string-inflection")
4409 (synopsis "Convert symbol names between different naming conventions")
4410 (description
4411 "This Emacs package provides convenient methods for manipulating the
4412 naming style of a symbol. It supports different naming conventions such as:
4413
4414 @enumerate
4415 @item camel case
4416 @item Pascal case
4417 @item all upper case
4418 @item lower case separated by underscore
4419 @item etc...
4420 @end enumerate\n")
4421 (license license:gpl2+)))
4422
4423 (define-public emacs-stripe-buffer
4424 (package
4425 (name "emacs-stripe-buffer")
4426 (version "0.2.5")
4427 (source
4428 (origin
4429 (method git-fetch)
4430 (uri (git-reference
4431 (url "https://github.com/sabof/stripe-buffer")
4432 (commit version)))
4433 (file-name (git-file-name name version))
4434 (sha256
4435 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
4436 (build-system emacs-build-system)
4437 (home-page "https://github.com/sabof/stripe-buffer/")
4438 (synopsis "Add stripes to list buffers")
4439 (description
4440 "This Emacs package adds faces to add stripes to list buffers and org
4441 tables.")
4442 (license license:gpl2+)))
4443
4444 (define-public emacs-org-beautify-theme
4445 ;; Latest release (0.4) is not tagged, use commit hash.
4446 (let ((commit "df6a1114fda313e1689363e196c8284fbe2a2738")
4447 (revision "0"))
4448 (package
4449 (name "emacs-org-beautify-theme")
4450 (version "0.4")
4451 (source
4452 (origin
4453 (method git-fetch)
4454 (uri (git-reference
4455 (url "https://github.com/jonnay/org-beautify-theme")
4456 (commit commit)))
4457 (file-name (git-file-name name version))
4458 (sha256
4459 (base32 "1lkz7736swimad12khwbbqc4gxjydgr1k45p4mx03s25pv1w920y"))))
4460 (build-system emacs-build-system)
4461 (home-page "https://github.com/jonnay/org-beautify-theme")
4462 (synopsis "Theme to make Org mode look more beautiful")
4463 (description
4464 "The theme adds padding between headings, increases the size of titles,
4465 strike through completed TODO headings, changes Org blocks, changes Org check
4466 boxes, and more.")
4467 (license license:gpl3+))))
4468
4469 (define-public emacs-org-rich-yank
4470 (package
4471 (name "emacs-org-rich-yank")
4472 (version "0.2.1")
4473 (source
4474 (origin
4475 (method git-fetch)
4476 (uri (git-reference
4477 (url "https://github.com/unhammer/org-rich-yank")
4478 (commit (string-append "v" version))))
4479 (file-name (git-file-name name version))
4480 (sha256
4481 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
4482 (build-system emacs-build-system)
4483 (home-page "https://github.com/unhammer/org-rich-yank")
4484 (synopsis "Automatically surround source code pasted into Org with
4485 @code{#+BEGIN_SRC} blocks")
4486 (description
4487 "This package provides a utility function for Org buffers that makes a
4488 @code{_SRC} block with the appropriate language annotation for code that has
4489 been copied from an Emacs major mode.")
4490 (license license:gpl2+)))
4491
4492 (define-public emacs-org-fancy-priorities
4493 (let ((commit "819bb993b71e7253cefef7047306ab4e0f9d0a86")
4494 (revision "1"))
4495 (package
4496 (name "emacs-org-fancy-priorities")
4497 (version (git-version "1.1" revision commit))
4498 (source
4499 (origin
4500 (method git-fetch)
4501 (uri (git-reference
4502 (url "https://github.com/harrybournis/org-fancy-priorities.git")
4503 (commit commit)))
4504 (file-name (git-file-name name version))
4505 (sha256
4506 (base32
4507 "13cyzlx0415i953prq6ch7r5iy23c1pz116bdxi5yqags4igh4wv"))))
4508 (build-system emacs-build-system)
4509 (home-page "https://github.com/harrybournis/org-fancy-priorities")
4510 (synopsis "Display org priorities as custom strings")
4511 (description
4512 "This package provides a minor mode that displays Org priorities as
4513 custom strings. This mode does not change your files in any way, it only
4514 displays the priority part of a heading as your preferred string value.")
4515 (license license:expat))))
4516
4517 (define-public emacs-org-fragtog
4518 (package
4519 (name "emacs-org-fragtog")
4520 (version "0.3.1")
4521 (source
4522 (origin
4523 (method git-fetch)
4524 (uri (git-reference
4525 (url "https://github.com/io12/org-fragtog.git")
4526 (commit version)))
4527 (file-name (git-file-name name version))
4528 (sha256
4529 (base32 "1szkx3n9gk6799rxv0jb3096pn2ssz82536x9a98xqwbimy4kvn6"))))
4530 (build-system emacs-build-system)
4531 (propagated-inputs
4532 `(("emacs-org" ,emacs-org)))
4533 (home-page "https://github.com/io12/org-fragtog")
4534 (synopsis "Toggle Org mode LaTeX fragments preview at cursor")
4535 (description
4536 "Org mode supports inline image previews of LaTeX fragments. This
4537 package automates this, so fragment previews are disabled for editing when
4538 your cursor steps onto them, and re-enabled when the cursor leaves.")
4539 (license license:gpl3+)))
4540
4541 (define-public emacs-ob-erlang
4542 (let ((revision "1")
4543 (commit "f1a8c665b8f7d0ab32267a9961de8eed872e6333"))
4544 (package
4545 (name "emacs-ob-erlang")
4546 (version (git-version "20180827" revision commit))
4547 (source (origin
4548 (method git-fetch)
4549 (uri (git-reference
4550 (url "https://github.com/xfwduke/ob-erlang")
4551 (commit commit)))
4552 (file-name (git-file-name name version))
4553 (sha256
4554 (base32
4555 "0b5zajqiy6955yvlqwy92prrqy89lqchsv4ss2ylws3p4s14rhij"))))
4556 (build-system emacs-build-system)
4557 (home-page "https://github.com/xfwduke/ob-erlang/")
4558 (synopsis "Org-babel support for Erlang")
4559 (description "This package adds support for working with Erlang code
4560 blocks with @code{org-babel} in @code{org-mode}.")
4561 (license license:gpl3+))))
4562
4563 (define-public emacs-ob-restclient
4564 (let ((commit "f7449b2068498fe9d8ab9589e0a638148861533f"))
4565 (package
4566 (name "emacs-ob-restclient")
4567 (version (git-version "0.02" "2" commit))
4568 (source
4569 (origin
4570 (method git-fetch)
4571 (uri (git-reference
4572 (url "https://github.com/alf/ob-restclient.el")
4573 (commit commit)))
4574 (file-name (git-file-name name version))
4575 (sha256
4576 (base32 "0s3931w9ab3yfml2pmq71rw21yf6hpg7m3vihxyy3vs6zli1cvmq"))))
4577 (propagated-inputs
4578 `(("emacs-restclient" ,emacs-restclient)))
4579 (build-system emacs-build-system)
4580 (home-page "https://github.com/alf/ob-restclient.el")
4581 (synopsis "Org-babel functionality for @code{restclient-mode}")
4582 (description
4583 "This package integrates @code{restclient-mode} with Org.")
4584 (license license:gpl3+))))
4585
4586 (define-public emacs-org-now
4587 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
4588 (package
4589 (name "emacs-org-now")
4590 (version (git-version "0.1-pre" "1" commit))
4591 (source
4592 (origin
4593 (method git-fetch)
4594 (uri (git-reference
4595 (url "https://github.com/alphapapa/org-now")
4596 (commit commit)))
4597 (file-name (git-file-name name version))
4598 (sha256
4599 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
4600 (propagated-inputs
4601 `(("emacs-dash" ,emacs-dash)))
4602 (build-system emacs-build-system)
4603 (home-page "https://github.com/alphapapa/org-now")
4604 (synopsis "Show current Org tasks in a sidebar")
4605 (description
4606 "This package provides commands to show Org headings in a sidebar
4607 window while working on them. After defining one heading as the \"now\"
4608 heading, other headings can be refiled to it with one command, and back to
4609 their original location with another.")
4610 (license license:gpl3+))))
4611
4612 (define-public emacs-rich-minority
4613 (package
4614 (name "emacs-rich-minority")
4615 (version "1.0.3")
4616 (source
4617 (origin
4618 (method git-fetch)
4619 (uri (git-reference
4620 (url "https://github.com/Malabarba/rich-minority")
4621 (commit version)))
4622 (file-name (git-file-name name version))
4623 (sha256
4624 (base32
4625 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
4626 (build-system emacs-build-system)
4627 (home-page "https://github.com/Malabarba/rich-minority")
4628 (synopsis "Clean-up and beautify the list of minor modes")
4629 (description
4630 "This Emacs package hides and/or highlights minor modes in the
4631 mode-line.")
4632 (license license:gpl2+)))
4633
4634 (define-public emacs-robe
4635 (package
4636 (name "emacs-robe")
4637 (version "0.8.2")
4638 (source
4639 (origin
4640 (method git-fetch)
4641 (uri (git-reference
4642 (url "https://github.com/dgutov/robe")
4643 (commit version)))
4644 (file-name (git-file-name name version))
4645 (sha256
4646 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
4647 (build-system emacs-build-system)
4648 (arguments
4649 '(#:include (cons "^lib\\/" %default-include)))
4650 (propagated-inputs
4651 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
4652 (home-page "https://github.com/dgutov/robe")
4653 (synopsis "Ruby code assistance tool for Emacs")
4654 (description
4655 "Robe can provide information on loaded classes and modules in Ruby code,
4656 as well as where methods are defined. This allows the user to jump to method
4657 definitions, modules and classes, display method documentation and provide
4658 method and constant name completion.")
4659 (license license:gpl3+)))
4660
4661 (define-public emacs-robot-mode
4662 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
4663 (revision "1"))
4664 (package
4665 (name "emacs-robot-mode")
4666 (version (git-version "0.0.0" revision commit))
4667 (source (origin
4668 (method git-fetch)
4669 (uri (git-reference
4670 ;; A better maintained fork of robot-mode.
4671 (url "https://github.com/jvalkeejarvi/robot-mode")
4672 (commit commit)))
4673 (file-name (git-file-name name version))
4674 (sha256
4675 (base32
4676 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
4677 (build-system emacs-build-system)
4678 (propagated-inputs `(("emacs-s" ,emacs-s)))
4679 (home-page "https://github.com/jvalkeejarvi/robot-mode")
4680 (synopsis "Emacs mode for Robot Framework")
4681 (description "This major mode facilitates editing Robot Framework source
4682 files with features such as syntax highlighting, comments, finding keywords,
4683 completing keywords and smart indentation.")
4684 (license license:gpl3+))))
4685
4686 (define-public emacs-roguel-ike
4687 ;; Tagged branch is outdated.
4688 (let ((revision "0")
4689 (commit "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c"))
4690 (package
4691 (name "emacs-roguel-ike")
4692 (version (git-version "0.1.0" revision commit))
4693 (source
4694 (origin
4695 (method git-fetch)
4696 (uri (git-reference
4697 (url "https://github.com/stevenremot/roguel-ike")
4698 (commit commit)))
4699 (file-name (git-file-name name version))
4700 (sha256
4701 (base32 "0rgv4y9aa5cc2ddz3y5z8d22xmr8kf5c60h0r3g8h91jmcw3rb4z"))))
4702 (build-system emacs-build-system)
4703 (propagated-inputs
4704 `(("emacs-popup" ,emacs-popup)))
4705 (arguments
4706 `(#:include (cons* "^roguel-ike/" "^roguel-ike-lib/" %default-include)
4707 #:phases
4708 (modify-phases %standard-phases
4709 (add-before 'check 'set-test-environment
4710 (lambda _
4711 (setenv "HOME" "/tmp")
4712 #t)))))
4713 (home-page "https://github.com/stevenremot/roguel-ike.git")
4714 (synopsis "Coffee-break roguelike for Emacs")
4715 (description
4716 "Roguel-ike is an attempt to develop a coffee-break roguelike for
4717 Emacs. The complete game would allow the player to create various characters
4718 and to make them fulfill challenges like arena fight and short dungeon
4719 explorations.")
4720 (license license:gpl3+))))
4721
4722 (define-public emacs-rspec
4723 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
4724 (revision "1"))
4725 (package
4726 (name "emacs-rspec")
4727 (version (git-version "1.11" revision commit))
4728 (source
4729 (origin
4730 (method git-fetch)
4731 (uri (git-reference
4732 (url "https://github.com/pezra/rspec-mode")
4733 (commit commit)))
4734 (file-name (git-file-name name version))
4735 (sha256
4736 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
4737 (build-system emacs-build-system)
4738 (arguments
4739 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
4740 #:tests? #t
4741 #:test-command '("make" "test")))
4742 (home-page "https://github.com/pezra/rspec-mode")
4743 (synopsis "Provides a rspec mode for working with RSpec")
4744 (description
4745 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
4746 verify the spec associated with the current buffer, or entire project, as well
4747 as moving between the spec files, and corresponding code files.
4748
4749 Also included are keybindings for spec files and Dired buffers, as well as
4750 snippets for yasnippet.")
4751 (license license:gpl3+))))
4752
4753 (define-public emacs-mode-line-idle
4754 ;; Package has no release. Version is extracted from "Version:" keyword in
4755 ;; main file.
4756 (let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241")
4757 (revision "1"))
4758 (package
4759 (name "emacs-mode-line-idle")
4760 (version (git-version "0.1" revision commit))
4761 (source
4762 (origin
4763 (method git-fetch)
4764 (file-name (git-file-name name version))
4765 (uri (git-reference
4766 (url "https://gitlab.com/ideasman42/emacs-mode-line-idle")
4767 (commit commit)))
4768 (sha256
4769 (base32 "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8"))))
4770 (build-system emacs-build-system)
4771 (home-page "https://gitlab.com/ideasman42/emacs-mode-line-idle")
4772 (synopsis "Simple delayed text evaluation for the mode-line")
4773 (description
4774 "Mode Line Idle provides a convenient way to defer text evaluation
4775 which integrates into existing mode-line without requiring a minor mode or
4776 configuration.")
4777 (license license:gpl3+))))
4778
4779 (define-public emacs-smart-mode-line
4780 (package
4781 (name "emacs-smart-mode-line")
4782 (version "2.13")
4783 (source
4784 (origin
4785 (method git-fetch)
4786 (uri (git-reference
4787 (url "https://github.com/Malabarba/smart-mode-line")
4788 (commit version)))
4789 (file-name (git-file-name name version))
4790 (sha256
4791 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
4792 (build-system emacs-build-system)
4793 (propagated-inputs
4794 `(("emacs-rich-minority" ,emacs-rich-minority)))
4795 (home-page "https://github.com/Malabarba/smart-mode-line")
4796 (synopsis "Color-coded smart mode-line")
4797 (description
4798 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
4799 read from small to large monitors by using colors, a prefix feature, and smart
4800 truncation.")
4801 (license license:gpl2+)))
4802
4803 (define-public emacs-sqlite
4804 ;; XXX: There is no tagged commit.
4805 (let ((commit "dad42b8bbca4994be1871343dd18fd6528ee5797")
4806 (revision "0"))
4807 (package
4808 (name "emacs-sqlite")
4809 (build-system emacs-build-system)
4810 (version (git-version "1.0" revision commit))
4811 (source
4812 (origin
4813 (method git-fetch)
4814 (uri (git-reference
4815 (url "https://gitlab.com/cnngimenez/sqlite.el")
4816 (commit commit)))
4817 (file-name (git-file-name name version))
4818 (sha256
4819 (base32 "06ln4vijl8kii3nzc5cscgsadx1fqgxksflijd3ain83bn8g4wrd"))))
4820 (home-page "https://gitlab.com/cnngimenez/sqlite.el")
4821 (synopsis "SQLite interface for Emacs Lisp")
4822 (description "Emacs SQLite is a simple SQLite interface for connecting
4823 and retrieving information using the SQLite program through Elisp programming.
4824 It is not intended as a user interface.")
4825 (license license:gpl3+))))
4826
4827 (define-public emacs-sr-speedbar
4828 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
4829 (revision "0"))
4830 (package
4831 (name "emacs-sr-speedbar")
4832 (version (git-version "20161025" revision commit))
4833 (source
4834 (origin
4835 (method git-fetch)
4836 (uri (git-reference
4837 (url "https://github.com/emacsorphanage/sr-speedbar")
4838 (commit commit)))
4839 (file-name (git-file-name name version))
4840 (sha256
4841 (base32
4842 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
4843 (build-system emacs-build-system)
4844 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
4845 (synopsis "Same frame Emacs @code{speedbar}")
4846 (description
4847 "This Emacs package allows you to show @code{M-x speedbar} in the
4848 same frame (in an extra window). You can customize the initial width of
4849 the speedbar window.")
4850 (license license:gpl3+))))
4851
4852 (define-public emacs-shell-switcher
4853 (package
4854 (name "emacs-shell-switcher")
4855 (version "1.0.1")
4856 (source
4857 (origin
4858 (method git-fetch)
4859 (uri (git-reference
4860 (url "https://github.com/DamienCassou/shell-switcher")
4861 (commit (string-append "v" version))))
4862 (file-name (git-file-name name version))
4863 (sha256
4864 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
4865 (build-system emacs-build-system)
4866 (home-page "https://github.com/DamienCassou/shell-switcher")
4867 (synopsis "Provide fast switching between shell buffers")
4868 (description
4869 "This package provides commands to quickly switch between shell buffers.")
4870 (license license:gpl3+)))
4871
4872 (define-public emacs-shx
4873 (package
4874 (name "emacs-shx")
4875 (version "1.5.0")
4876 (source (origin
4877 (method git-fetch)
4878 (uri (git-reference
4879 (url "https://github.com/riscy/shx-for-emacs")
4880 (commit (string-append "v" version))))
4881 (file-name (git-file-name name version))
4882 (sha256
4883 (base32 "1cb5w6p9gnfxgh8qp7yj2f5ibpk1b4b5af3ynldaaj6yfpa8hqzn"))))
4884 (build-system emacs-build-system)
4885 (arguments
4886 `(#:tests? #t
4887 #:test-command
4888 '("emacs" "--batch" "--quiet"
4889 "--script" "test/script.el")))
4890 (home-page "https://github.com/riscy/shx-for-emacs")
4891 (synopsis "Extras for the comint-mode shell")
4892 (description
4893 "This package extends @code{comint-mode}: it parses markup in the output
4894 stream, enabling plots and graphics to be embedded, and adds command-line
4895 functions which plug into Emacs (e.g. use @code{:e <filename>} to edit a
4896 file).")
4897 (license license:gpl3+)))
4898
4899 (define-public emacs-names
4900 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
4901 (version "20151201.0")
4902 (revision "8"))
4903 (package
4904 (name "emacs-names")
4905 (version (git-version version revision commit))
4906 (source
4907 (origin
4908 (method git-fetch)
4909 (uri (git-reference
4910 (url "https://github.com/Malabarba/names")
4911 (commit commit)))
4912 (file-name (git-file-name name version))
4913 (sha256
4914 (base32
4915 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
4916 (build-system emacs-build-system)
4917 (home-page "https://github.com/Malabarba/names/")
4918 (synopsis "Namespace implementation for Emacs Lisp")
4919 (description
4920 "This package provides a macro that writes your namespaces for you.")
4921 (license license:gpl3+))))
4922
4923 (define-public emacs-nameless
4924 (package
4925 (name "emacs-nameless")
4926 (version "1.0.2")
4927 (source
4928 (origin
4929 (method git-fetch)
4930 (uri (git-reference
4931 (url "https://github.com/Malabarba/Nameless")
4932 (commit version)))
4933 (file-name (git-file-name name version))
4934 (sha256
4935 (base32 "107q1rximjnag9r9vgwh0iv687i3rsscbdnjc46f8l16j6vi4n7d"))))
4936 (build-system emacs-build-system)
4937 (home-page "https://github.com/Malabarba/nameless")
4938 (synopsis "Hide package namespace in your Emacs-lisp code")
4939 (description
4940 "This package provides a @code{nameless-mode} minor mode in which the
4941 package namespace prefix is ​​hidden by a colon.")
4942 (license license:gpl2+)))
4943
4944 (define-public emacs-evil-leader
4945 (package
4946 (name "emacs-evil-leader")
4947 (version "0.4.3")
4948 (source
4949 (origin
4950 (method git-fetch)
4951 (uri
4952 (git-reference
4953 (url "https://github.com/cofi/evil-leader")
4954 (commit version)))
4955 (file-name (git-file-name name version))
4956 (sha256
4957 (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5"))))
4958 (inputs
4959 `(("emacs-evil" ,emacs-evil)))
4960 (build-system emacs-build-system)
4961 (home-page "https://github.com/cofi/evil-leader")
4962 (synopsis "Implement <leader> feature from Vim")
4963 (description
4964 "Evil Leader provides the @code{<leader>} feature from Vim that provides
4965 an easy way to bind keys under a configurable prefix key.")
4966 (license license:gpl3+)))
4967
4968 (define-public emacs-evil-textobj-syntax
4969 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
4970 (version "0")
4971 (revision "1"))
4972 (package
4973 (name "emacs-evil-textobj-syntax")
4974 (version (git-version version revision commit))
4975 (source
4976 (origin
4977 (method git-fetch)
4978 (uri (git-reference
4979 (url "https://github.com/laishulu/evil-textobj-syntax/")
4980 (commit commit)))
4981 (file-name (git-file-name name version))
4982 (sha256
4983 (base32
4984 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
4985 (build-system emacs-build-system)
4986 (propagated-inputs `(("emacs-evil" ,emacs-evil)
4987 ("emacs-names" ,emacs-names)))
4988 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
4989 (synopsis "Text objects based on syntax highlighting")
4990 (description
4991 "This package provides text objects for @code{evil-mode} with
4992 boundaries defined by syntax highlighting.")
4993 (license license:gpl3+))))
4994
4995 (define-public emacs-flycheck-flow
4996 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
4997 (version "1.1")
4998 (revision "1"))
4999 (package
5000 (name "emacs-flycheck-flow")
5001 (version (git-version version revision commit))
5002 (source
5003 (origin
5004 (method git-fetch)
5005 (uri (git-reference
5006 (url "https://github.com/lbolla/emacs-flycheck-flow")
5007 (commit commit)))
5008 (file-name (git-file-name name version))
5009 (sha256
5010 (base32
5011 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
5012 (build-system emacs-build-system)
5013 (propagated-inputs
5014 `(("emacs-flycheck" ,emacs-flycheck)))
5015 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
5016 (synopsis "Flow support for @code{flycheck-mode}")
5017 (description
5018 "This package allows @code{flycheck-mode} to provide syntax-checking
5019 for Flow files.")
5020 (license license:gpl3+))))
5021
5022 (define-public emacs-flycheck-grammalecte
5023 (package
5024 (name "emacs-flycheck-grammalecte")
5025 (version "1.3")
5026 (source
5027 (origin
5028 (method git-fetch)
5029 (uri (git-reference
5030 (url "https://git.umaneti.net/flycheck-grammalecte/")
5031 (commit (string-append "v" version))))
5032 (file-name (git-file-name name version))
5033 (sha256
5034 (base32 "0ih0nakal36is0dci82gx4ijrvnpz9jpw1adprfara2cf8dx4rk6"))))
5035 (build-system emacs-build-system)
5036 (arguments
5037 `(#:include (cons "\\.py$" %default-include)
5038 #:exclude '("^test-profile.el$")
5039 #:emacs ,emacs ;need libxml support
5040 #:phases
5041 (modify-phases %standard-phases
5042 (add-after 'unpack 'specify-python-location
5043 ;; Hard-code python3 executable location in the library.
5044 (lambda* (#:key inputs #:allow-other-keys)
5045 (let ((python3 (string-append (assoc-ref inputs "python")
5046 "/bin/python3")))
5047 (substitute* "flycheck-grammalecte.el"
5048 (("\"python3") (string-append "\"" python3)))
5049 (substitute* '("conjugueur.py" "flycheck-grammalecte.py")
5050 (("/usr/bin/env python3?") python3))
5051 #t)))
5052 (add-after 'unpack 'specify-grammalecte-location
5053 (lambda* (#:key inputs #:allow-other-keys)
5054 (make-file-writable "flycheck-grammalecte.el")
5055 (emacs-substitute-variables "flycheck-grammalecte.el"
5056 ("flycheck-grammalecte-grammalecte-directory"
5057 (string-append (assoc-ref inputs "grammalecte")
5058 "/lib/python"
5059 ,(version-major+minor (package-version python))
5060 "/site-packages/grammalecte")))
5061 #t))
5062 (add-after 'unpack 'do-not-phone-home
5063 ;; The package wants to check upstream Grammalecte version to
5064 ;; decide if an update is in order. Always return version
5065 ;; installed so it doesn't phone home and doesn't install anything.
5066 (lambda _
5067 (substitute* "flycheck-grammalecte.el"
5068 (("\\(flycheck-grammalecte--grammalecte-upstream-version\\)")
5069 ,(format #f "\"~a\"" (package-version grammalecte)))))))))
5070 (inputs
5071 `(("grammalecte" ,grammalecte)
5072 ("python" ,python)))
5073 (propagated-inputs
5074 `(("emacs-flycheck" ,emacs-flycheck)))
5075 (home-page "https://git.umaneti.net/flycheck-grammalecte/")
5076 (synopsis "Integrate Grammalecte with Flycheck")
5077 (description
5078 "Integrate the French grammar and typography checker Grammalecte with
5079 Flycheck to automatically look for mistakes in your writings. It also
5080 provides an easy way to find synonyms and antonyms for a given word (to avoid
5081 repetitions for example).")
5082 (license license:gpl3+)))
5083
5084 (define-public emacs-flycheck-guile
5085 (package
5086 (name "emacs-flycheck-guile")
5087 (version "0.2")
5088 (source
5089 (origin
5090 (method git-fetch)
5091 (uri
5092 (git-reference
5093 (url "https://github.com/flatwhatson/flycheck-guile")
5094 (commit version)))
5095 (file-name (git-file-name name version))
5096 (sha256
5097 (base32 "0cs5r0ik6a3bl1k3imjl0r8y1i69kx9x9m9cgxj470qk34brwyj5"))))
5098 (propagated-inputs
5099 `(("emacs-flycheck" ,emacs-flycheck)
5100 ("emacs-geiser" ,emacs-geiser)))
5101 (build-system emacs-build-system)
5102 (home-page "https://github.com/flatwhatson/flycheck-guile")
5103 (synopsis "GNU Guile support for Flycheck")
5104 (description
5105 "This package provides a Flycheck checker for GNU Guile using @code{guild
5106 compile}.")
5107 (license license:gpl3+)))
5108
5109 (define-public emacs-flycheck-ledger
5110 (package
5111 (name "emacs-flycheck-ledger")
5112 (version "0.5")
5113 (source
5114 (origin
5115 (method git-fetch)
5116 (uri (git-reference
5117 (url "https://github.com/purcell/flycheck-ledger")
5118 (commit version)))
5119 (file-name (git-file-name name version))
5120 (sha256
5121 (base32 "1djrj3is0dzrl2703bw7bclf33dp4xqmy144q7xj5pvpb9v3kf50"))))
5122 (inputs `(("ledger" ,ledger)))
5123 (arguments
5124 `(#:phases
5125 (modify-phases %standard-phases
5126 (add-after 'unpack 'configure
5127 (lambda* (#:key inputs outputs #:allow-other-keys)
5128 (let ((ledger (assoc-ref inputs "ledger")))
5129 ;; Specify the absolute executable location of ledger.
5130 (substitute* "flycheck-ledger.el"
5131 (("\"ledger\"") (string-append "\"" ledger "\""))))
5132 #t)))))
5133 (propagated-inputs
5134 `(("emacs-flycheck" ,emacs-flycheck)))
5135 (build-system emacs-build-system)
5136 (home-page "https://github.com/purcell/flycheck-ledger")
5137 (synopsis "Ledger support for Flycheck")
5138 (description
5139 "This Flycheck checker uses the output of @code{ledger balance} on the
5140 current file to find errors such as unbalanced transactions and syntax
5141 errors.")
5142 (license license:gpl3+)))
5143
5144 (define-public emacs-flycheck-rust
5145 (package
5146 (name "emacs-flycheck-rust")
5147 (version "1.1")
5148 (source
5149 (origin
5150 (method git-fetch)
5151 (uri
5152 (git-reference
5153 (url "https://github.com/flycheck/flycheck-rust")
5154 (commit version)))
5155 (file-name (git-file-name name version))
5156 (sha256
5157 (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"))))
5158 (propagated-inputs
5159 `(("emacs-dash" ,emacs-dash)
5160 ("emacs-flycheck" ,emacs-flycheck)
5161 ("emacs-let-alist" ,emacs-let-alist)))
5162 (build-system emacs-build-system)
5163 (home-page "https://github.com/flycheck/flycheck-rust")
5164 (synopsis "Rust/Cargo support for Flycheck")
5165 (description
5166 "This Flycheck extension configures Flycheck automatically for
5167 the current Cargo project.")
5168 (license license:gpl3+)))
5169
5170 (define-public emacs-elisp-demos
5171 (package
5172 (name "emacs-elisp-demos")
5173 (version "2020.02.19")
5174 (source
5175 (origin
5176 (method git-fetch)
5177 (uri (git-reference
5178 (url "https://github.com/xuchunyang/elisp-demos")
5179 (commit version)))
5180 (file-name (git-file-name name version))
5181 (sha256
5182 (base32
5183 "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc"))))
5184 (build-system emacs-build-system)
5185 (arguments
5186 `(#:include '("\\.el$" "\\.org$")
5187 #:tests? #t
5188 #:test-command '("make" "test")))
5189 (home-page "https://github.com/xuchunyang/elisp-demos/")
5190 (synopsis "Enhance @code{*Help*} buffers with additional examples")
5191 (description
5192 "This package injects example uses of Elisp functions into their
5193 respective @code{*Help*} buffers.")
5194 (license license:gpl3+)))
5195
5196 (define-public emacs-docker-compose-mode
5197 (package
5198 (name "emacs-docker-compose-mode")
5199 (version "1.1.0")
5200 (source
5201 (origin
5202 (method git-fetch)
5203 (uri (git-reference
5204 (url "https://github.com/meqif/docker-compose-mode")
5205 (commit version)))
5206 (file-name (git-file-name name version))
5207 (sha256
5208 (base32
5209 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
5210 (build-system emacs-build-system)
5211 (propagated-inputs
5212 `(("emacs-dash" ,emacs-dash)
5213 ("emacs-f" ,emacs-f)
5214 ("emacs-yaml-mode" ,emacs-yaml-mode)))
5215 (home-page "https://github.com/meqif/docker-compose-mode/")
5216 (synopsis "Major mode for editing @file{docker-compose} files")
5217 (description
5218 "This is a major mode for @file{docker-compose} files that provides
5219 completion of relevant keywords.")
5220 (license license:expat)))
5221
5222 (define-public emacs-dvc
5223 (let ((revision "591") ;no tags or official releases
5224 (guix-revision "1"))
5225 (package
5226 (name "emacs-dvc")
5227 (version (string-append "0.0.0-" guix-revision "." revision))
5228 (source
5229 (origin
5230 (method bzr-fetch)
5231 (uri (bzr-reference
5232 (url "lp:dvc")
5233 (revision revision)))
5234 (sha256
5235 (base32
5236 "03pqn493w70wcpgaxvqnfgynxghw114l9pyiv3r414d84vzhan6h"))
5237 (file-name (string-append name "-" version "-checkout"))))
5238 (build-system gnu-build-system)
5239 (arguments
5240 `(#:configure-flags
5241 (list (string-append "--with-lispdir=" (assoc-ref %outputs "out")
5242 "/share/emacs/site-lisp/"))
5243 #:tests? #f ;no test suite
5244 #:phases
5245 (modify-phases %standard-phases
5246 (add-before 'build 'set-home
5247 ;; Something in dvc-bookmarks.el attempts to write config files in
5248 ;; $HOME during the autoload generation.
5249 (lambda _ (setenv "HOME" (getenv "TMPDIR")) #t))
5250 (add-before 'build 'fix-texinfo
5251 ;; See https://bugs.launchpad.net/dvc/+bug/1264383.
5252 (lambda _
5253 (substitute* "texinfo/dvc-intro.texinfo"
5254 (("@itemx update ``to''")
5255 "@item update ``to''")
5256 (("@itemx brief")
5257 "@item brief")
5258 (("@itemx full")
5259 "@item full")
5260 (("@itemx drop")
5261 "@item drop")
5262 (("@itemx left file")
5263 "@item left file"))
5264 #t)))))
5265 (native-inputs
5266 `(("autoconf" ,autoconf)
5267 ("automake" ,automake) ;for aclocal
5268 ("emacs" ,emacs-minimal)
5269 ("texinfo" ,texinfo)))
5270 (home-page "http://xsteve.at/prg/emacs_dvc/index.html")
5271 (synopsis "Emacs front-end for various distributed version control systems.")
5272 (description "DVC is a legacy Emacs front-end for a number of
5273 distributed version control systems. It currently supports GNU Arch, GNU
5274 Bazaar, git, Mercurial, and Monotone. It also provides some integration with
5275 Gnus, e.g., for applying patches received by email.")
5276 (license license:gpl2+))))
5277
5278 (define-public emacs-sudo-edit
5279 (package
5280 (name "emacs-sudo-edit")
5281 (version "0.1.1")
5282 (source
5283 (origin
5284 (method git-fetch)
5285 (uri (git-reference
5286 (url "https://github.com/nflath/sudo-edit")
5287 (commit (string-append "v" version))))
5288 (file-name (git-file-name name version))
5289 (sha256
5290 (base32 "1hncxbg5lvywzkwvdmzvrz71midy4samjq2vvxxhz90z1y5l8l29"))))
5291 (build-system emacs-build-system)
5292 (native-inputs
5293 `(("emacs-undercover" ,emacs-undercover)))
5294 (arguments
5295 `(#:emacs ,emacs
5296 #:phases
5297 (modify-phases %standard-phases
5298 (add-before 'check 'fix-makefile
5299 (lambda _
5300 (substitute* "Makefile"
5301 (("\\$\\(CASK\\) exec ") ""))
5302 #t)))
5303 #:tests? #t
5304 #:test-command '("make" "test")))
5305 (home-page "https://github.com/nflath/sudo-edit/")
5306 (synopsis "Open files as another user")
5307 (description
5308 "This package allows editing files as another user, including the root
5309 user.")
5310 (license license:gpl3+)))
5311
5312 (define-public emacs-miniedit
5313 (package
5314 (name "emacs-miniedit")
5315 (version "2.0")
5316 (source
5317 (origin
5318 (method git-fetch)
5319 (uri (git-reference
5320 (url "https://github.com/emacsmirror/miniedit")
5321 (commit version)))
5322 (file-name (git-file-name name version))
5323 (sha256
5324 (base32
5325 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
5326 (build-system emacs-build-system)
5327 (home-page "https://github.com/emacsmirror/miniedit/")
5328 (synopsis "Enhanced editing for minibuffer fields")
5329 (description
5330 "This package provides a function that can be called from the
5331 minibuffer to enable editing the minibuffer input in another buffer with
5332 @code{text-mode} enabled.")
5333 (license license:gpl2+)))
5334
5335 (define-public emacs-ob-ipython
5336 (package
5337 (name "emacs-ob-ipython")
5338 (version "20180224")
5339 (source (origin
5340 (method git-fetch)
5341 (uri (git-reference
5342 (commit "7147455230841744fb5b95dcbe03320313a77124")
5343 (url "https://github.com/gregsexton/ob-ipython")))
5344 (file-name (git-file-name name version))
5345 (sha256
5346 (base32
5347 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
5348 (build-system emacs-build-system)
5349 (propagated-inputs
5350 `(("emacs-f" ,emacs-f)))
5351 (home-page "http://www.gregsexton.org")
5352 (synopsis "Org-Babel functions for IPython evaluation")
5353 (description "This package adds support to Org-Babel for evaluating Python
5354 source code using IPython.")
5355 (license license:gpl3+)))
5356
5357 (define-public emacs-debbugs
5358 (package
5359 (name "emacs-debbugs")
5360 (version "0.28")
5361 (source
5362 (origin
5363 (method url-fetch)
5364 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
5365 version ".tar"))
5366 (sha256
5367 (base32 "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0"))))
5368 (build-system emacs-build-system)
5369 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
5370 (propagated-inputs
5371 `(("emacs-async" ,emacs-async)))
5372 (home-page "https://elpa.gnu.org/packages/debbugs.html")
5373 (synopsis "Access the Debbugs bug tracker in Emacs")
5374 (description
5375 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
5376 Tracker} from within Emacs.
5377
5378 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
5379 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
5380 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
5381 @code{M-x debbugs-org} and related commands.
5382
5383 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
5384 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
5385 (license license:gpl3+)))
5386
5387 (define-public emacs-ert-expectations
5388 (package
5389 (name "emacs-ert-expectations")
5390 (version "0.2")
5391 (source
5392 (origin
5393 (method url-fetch)
5394 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
5395 (sha256
5396 (base32
5397 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
5398 (build-system emacs-build-system)
5399 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
5400 (synopsis "Simple unit test framework for Emacs Lisp")
5401 (description "@code{emacs-ert-expectations} is a simple unit test
5402 framework for Emacs Lisp to be used with @code{ert}.")
5403 (license license:gpl3+)))
5404
5405 (define-public emacs-deferred
5406 (package
5407 (name "emacs-deferred")
5408 (version "0.5.1")
5409 (home-page "https://github.com/kiwanami/emacs-deferred")
5410 (source (origin
5411 (method git-fetch)
5412 (uri (git-reference
5413 (url home-page)
5414 (commit (string-append "v" version))))
5415 (file-name (git-file-name name version))
5416 (sha256
5417 (base32
5418 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
5419 (build-system emacs-build-system)
5420 (arguments
5421 `(#:phases
5422 (modify-phases %standard-phases
5423 (add-after 'unpack 'set-shell
5424 ;; Setting the SHELL environment variable is required for the tests
5425 ;; to find sh.
5426 (lambda _
5427 (setenv "SHELL" (which "sh"))
5428 #t))
5429 (add-before 'check 'fix-makefile
5430 (lambda _
5431 (substitute* "Makefile"
5432 (("\\$\\(CASK\\) exec ") ""))
5433 #t)))
5434 #:tests? #t
5435 #:test-command '("make" "test")))
5436 (native-inputs
5437 `(("emacs-ert-expectations" ,emacs-ert-expectations)
5438 ("emacs-undercover" ,emacs-undercover)
5439 ("ert-runner" ,emacs-ert-runner)))
5440 (synopsis "Simple asynchronous functions for Emacs Lisp")
5441 (description
5442 "The @code{deferred.el} library provides support for asynchronous tasks.
5443 The API is almost the same as that of
5444 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
5445 for asynchronous tasks.")
5446 (license license:gpl3+)))
5447
5448 (define-public emacs-butler
5449 (package
5450 (name "emacs-butler")
5451 (version "0.2.4")
5452 (home-page "https://github.com/AshtonKem/Butler")
5453 (source (origin
5454 (method git-fetch)
5455 (uri (git-reference
5456 (url home-page)
5457 (commit version)))
5458 (file-name (git-file-name name version))
5459 (sha256
5460 (base32
5461 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
5462 (build-system emacs-build-system)
5463 (propagated-inputs
5464 `(("emacs-deferred" ,emacs-deferred)))
5465 (synopsis "Emacs client for Jenkins")
5466 (description
5467 "Butler provides an interface to connect to Jenkins continuous
5468 integration servers. Users can specify a list of server in the
5469 @code{butler-server-list} variable and then use @code{M-x butler-status} to
5470 view the build status of those servers' build jobs, and possibly to trigger
5471 build jobs.")
5472 (license license:gpl3+)))
5473
5474 (define-public emacs-tup-mode
5475 (package
5476 (name "emacs-tup-mode")
5477 (version "1.3.1")
5478 (source
5479 (origin
5480 (method git-fetch)
5481 (uri (git-reference
5482 (url "https://github.com/ejmr/tup-mode")
5483 (commit (string-append "v" version))))
5484 (file-name (git-file-name name version))
5485 (sha256
5486 (base32 "0asd024n5v23wdsg1959sszq568wg3a1bp4jrk0cllfji1z0n78y"))))
5487 (build-system emacs-build-system)
5488 (home-page "https://github.com/ejmr/tup-mode")
5489 (synopsis "Major mode for editing ``tupfiles'' used by the Tup build system")
5490 (description
5491 "Tup mode provides syntax highlighting for all of the elements of
5492 tupfiles, such as rule definitions, user-defined variables, macros, flags, bin
5493 variables, and so on. The mode also allows you to execute Tup commands.")
5494 (license license:gpl3+)))
5495
5496 (define-public emacs-company
5497 (package
5498 (name "emacs-company")
5499 (version "0.9.13")
5500 (source
5501 (origin
5502 (method url-fetch)
5503 (uri (string-append "https://elpa.gnu.org/packages/"
5504 "company-" version ".tar"))
5505 (sha256
5506 (base32 "1c9x9wlzzsn7vrsm57l2l44nqx455saa6wrm853szzg09qn8dlnw"))))
5507 (build-system emacs-build-system)
5508 (home-page "https://company-mode.github.io/")
5509 (synopsis "Modular text completion framework")
5510 (description
5511 "Company is a modular completion mechanism. Modules for retrieving
5512 completion candidates are called back-ends, modules for displaying them are
5513 front-ends. Company comes with many back-ends, e.g., @code{company-elisp}.
5514 These are distributed in separate files and can be used individually.")
5515 (license license:gpl3+)))
5516
5517 (define-public emacs-company-box
5518 ;; There is no release yet. Version is extracted from the main
5519 ;; file.
5520 (let ((version "0.0.1")
5521 (revision "0")
5522 (commit "be37a9a30dc112ab172af21af694e2cb04a74f85"))
5523 (package
5524 (name "emacs-company-box")
5525 (version (git-version version revision commit))
5526 (source
5527 (origin
5528 (method git-fetch)
5529 (uri (git-reference
5530 (url "https://github.com/sebastiencs/company-box")
5531 (commit commit)))
5532 (file-name (git-file-name name version))
5533 (sha256
5534 (base32 "13fgmdy51gqdwijqfvb784pirx4lgva0y7ysi0c3fcx8f82cdj59"))))
5535 (build-system emacs-build-system)
5536 (propagated-inputs
5537 `(("emacs-company" ,emacs-company)
5538 ("emacs-dash" ,emacs-dash)
5539 ("emacs-frame-local" ,emacs-frame-local)))
5540 (home-page "https://github.com/sebastiencs/company-box")
5541 (synopsis "Company front-end with icons")
5542 (description
5543 "Company box is a Company front-end. It supports different
5544 colors for different backends, associates icons to functions,
5545 variables... and their backends, and displays candidate's
5546 documentation. It is not limited by the current window size or
5547 buffer's text properties.
5548
5549 This package is not compatible with a TTY.")
5550 (license license:gpl3+))))
5551
5552 (define-public emacs-company-posframe
5553 (package
5554 (name "emacs-company-posframe")
5555 (version "0.5.0")
5556 (source (origin
5557 (method git-fetch)
5558 (uri (git-reference
5559 (url "https://github.com/tumashu/company-posframe")
5560 (commit (string-append "v" version))))
5561 (file-name (git-file-name name version))
5562 (sha256
5563 (base32
5564 "05ays6xkqbxcfplvx7wfc2slflmwc3aw7vkixvabk0ilvisndvgm"))))
5565 (build-system emacs-build-system)
5566 (propagated-inputs
5567 `(("emacs-company" ,emacs-company)
5568 ("emacs-posframe" ,emacs-posframe)))
5569 (home-page "https://github.com/tumashu/company-posframe")
5570 (synopsis "Use a posframe for @code{emacs-company}'s candidate menu")
5571 (description
5572 "Allows @code{emacs-company} to use child frames for its candidate menus.
5573
5574 @code{emacs-company-posframe} is fast enough for daily use and supports CJK
5575 languages.")
5576 (license license:gpl3+)))
5577
5578 (define-public emacs-irony-mode
5579 (package
5580 (name "emacs-irony-mode")
5581 (version "1.4.0")
5582 (home-page "https://github.com/Sarcasm/irony-mode")
5583 (source (origin
5584 (method git-fetch)
5585 (uri (git-reference
5586 (url (string-append home-page ".git"))
5587 (commit (string-append "v" version))))
5588 (file-name (git-file-name name version))
5589 (sha256
5590 (base32
5591 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
5592 (build-system emacs-build-system)
5593 (inputs `(("server" ,emacs-irony-mode-server)))
5594 (arguments `(#:phases
5595 (modify-phases %standard-phases
5596 (add-after 'unpack 'configure
5597 (lambda* (#:key inputs #:allow-other-keys)
5598 (chmod "irony.el" #o644)
5599 (emacs-substitute-variables "irony.el"
5600 ("irony-server-install-prefix"
5601 (assoc-ref inputs "server")))
5602 #t)))))
5603 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
5604 (description "Irony-mode provides Clang-assisted syntax checking and
5605 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
5606 provide syntax checking and autocompletion on compiler level which is very
5607 resistant against false positives. It also integrates well with other
5608 packages like @code{eldoc-mode} and especially @code{company-mode} as
5609 described on the homepage.")
5610 (license license:gpl3+)))
5611
5612 (define-public emacs-irony-mode-server
5613 (package (inherit emacs-irony-mode)
5614 (name "emacs-irony-mode-server")
5615 (inputs
5616 `(("clang" ,clang)))
5617 (arguments
5618 `(#:phases
5619 (modify-phases %standard-phases
5620 (replace 'configure
5621 (lambda* (#:key outputs #:allow-other-keys)
5622 (let ((out (assoc-ref outputs "out")))
5623 (invoke "cmake"
5624 "server"
5625 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
5626 (build-system cmake-build-system)
5627 (synopsis "Server for the Emacs @dfn{irony mode}")))
5628
5629 (define-public emacs-company-irony
5630 (package
5631 (name "emacs-company-irony")
5632 (version "1.1.0")
5633 (source (origin
5634 (method git-fetch)
5635 (uri (git-reference
5636 (url "https://github.com/Sarcasm/company-irony")
5637 (commit (string-append "v" version))))
5638 (sha256 (base32
5639 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
5640 (file-name (git-file-name name version))))
5641 (build-system emacs-build-system)
5642 (inputs
5643 `(("emacs-irony-mode" ,emacs-irony-mode)
5644 ("emacs-company" ,emacs-company)))
5645 (synopsis "C++ completion backend for Company using irony-mode")
5646 (description "This backend for company-mode allows for C++ code completion
5647 with irony-mode using clang-tooling.")
5648 (home-page "https://github.com/Sarcasm/company-irony")
5649 (license license:gpl3+)))
5650
5651 (define-public emacs-flycheck-irony
5652 (package
5653 (name "emacs-flycheck-irony")
5654 (version "0.1.0")
5655 (source (origin
5656 (method git-fetch)
5657 (uri (git-reference
5658 (url "https://github.com/Sarcasm/flycheck-irony")
5659 (commit (string-append "v" version))))
5660 (file-name (git-file-name name version))
5661 (sha256
5662 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
5663 (build-system emacs-build-system)
5664 (inputs
5665 `(("irony-mode" ,emacs-irony-mode)
5666 ("flycheck-mode" ,emacs-flycheck)
5667 ("emacs-company" ,emacs-company)))
5668 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
5669 (description "This package provides a frontend for Flycheck that lets
5670 irony-mode do the syntax checking.")
5671 (home-page "https://github.com/Sarcasm/flycheck-irony")
5672 (license license:gpl3+)))
5673
5674 (define-public emacs-irony-eldoc
5675 (package
5676 (name "emacs-irony-eldoc")
5677 (version (package-version emacs-irony-mode))
5678 (source
5679 (origin
5680 (method git-fetch)
5681 (uri (git-reference
5682 (url "https://github.com/ikirill/irony-eldoc")
5683 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
5684 (file-name (git-file-name name version))
5685 (sha256
5686 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
5687 (build-system emacs-build-system)
5688 (inputs
5689 `(("irony-mode" ,emacs-irony-mode)))
5690 (synopsis "Eldoc integration for irony-mode")
5691 (description "Irony-eldoc is an eldoc extension that shows documentation
5692 for the current function or variable in the minibuffer.")
5693 (home-page "https://github.com/ikirill/irony-eldoc")
5694 (license license:gpl3+)))
5695
5696 (define-public emacs-company-quickhelp
5697 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
5698 ;; so we use the latest 2.2.0 commit instead
5699 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
5700 (revision "1"))
5701 (package
5702 (name "emacs-company-quickhelp")
5703 (version (git-version "2.2.0" revision commit))
5704 (source
5705 (origin
5706 (method git-fetch)
5707 (uri (git-reference
5708 (url "https://github.com/expez/company-quickhelp")
5709 (commit commit)))
5710 (file-name (git-file-name name version))
5711 (sha256
5712 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
5713 (build-system emacs-build-system)
5714 (propagated-inputs
5715 `(("emacs-pos-tip" ,emacs-pos-tip)
5716 ("emacs-company" ,emacs-company)))
5717 (home-page "https://github.com/expez/company-quickhelp")
5718 (synopsis "Popup documentation for completion candidates")
5719 (description "@code{company-quickhelp} shows documentation for the
5720 completion candidate when using the Company text completion framework.")
5721 (license license:gpl3+))))
5722
5723 (define-public emacs-math-symbol-lists
5724 (package
5725 (name "emacs-math-symbol-lists")
5726 (version "1.3")
5727 (source
5728 (origin
5729 (method git-fetch)
5730 (uri (git-reference
5731 (url "https://github.com/vspinu/math-symbol-lists")
5732 (commit (string-append "v" version))))
5733 (file-name (git-file-name name version))
5734 (sha256
5735 (base32 "1r2i600356k8g0l53s4b5xc24flpka664i8f23zbj4h7gk1g2787"))))
5736 (build-system emacs-build-system)
5737 (home-page "https://github.com/vspinu/math-symbol-lists")
5738 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
5739 (description "This is a storage package used by completion engines like
5740 @code{company-math}.")
5741 (license license:gpl3+)))
5742
5743 (define-public emacs-company-coq
5744 (package
5745 (name "emacs-company-coq")
5746 (version "1.0.1")
5747 (source
5748 (origin
5749 (method git-fetch)
5750 (uri
5751 (git-reference
5752 (url "https://github.com/cpitclaudel/company-coq")
5753 (commit version)))
5754 (file-name (git-file-name name version))
5755 (sha256
5756 (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b"))))
5757 (inputs
5758 `(("emacs-company" ,emacs-company)
5759 ("emacs-company-math" ,emacs-company-math)
5760 ("emacs-dash" ,emacs-dash)
5761 ("emacs-yasnippet" ,emacs-yasnippet)))
5762 (build-system emacs-build-system)
5763 (home-page "https://github.com/cpitclaudel/company-coq")
5764 (synopsis "Emacs extensions for Proof General's Coq mode")
5765 (description "This package includes a collection of Company mode backends
5766 for Proof-General's Coq mode, and many useful extensions to Proof-General. It
5767 features:
5768
5769 @itemize
5770 @item Prettification of operators, types, and subscripts,
5771 @item Auto-completion,
5772 @item Insertion of cases,
5773 @item Fully explicit intros,
5774 @item Outlines, code folding, and jumping to definition,
5775 @item Help with errors,
5776 @item and more.
5777 @end itemize")
5778 (license license:gpl3+)))
5779
5780 (define-public emacs-company-math
5781 (package
5782 (name "emacs-company-math")
5783 (version "1.4")
5784 (source
5785 (origin
5786 (method git-fetch)
5787 (uri (git-reference
5788 (url "https://github.com/vspinu/company-math")
5789 (commit (string-append "v" version))))
5790 (file-name (git-file-name name version))
5791 (sha256
5792 (base32 "1y1fw926insgdl7ib9ynxjrxf3p6wfjkfxvf5vgdca7267cvcll1"))))
5793 (build-system emacs-build-system)
5794 (propagated-inputs
5795 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
5796 ("emacs-company" ,emacs-company)))
5797 (home-page "https://github.com/vspinu/company-math")
5798 (synopsis "Completion backends for math symbols and @code{LaTeX} tags")
5799 (description
5800 "This package provides a backend for use with Company mode allowing for
5801 completion of common math symbols.")
5802 (license license:gpl3+)))
5803
5804 (define-public emacs-compdef
5805 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
5806 (revision "2"))
5807 (package
5808 (name "emacs-compdef")
5809 (version (git-version "0.2" revision commit))
5810 (source
5811 (origin
5812 (method git-fetch)
5813 (uri (git-reference
5814 (url "https://gitlab.com/jjzmajic/compdef.git")
5815 (commit commit)))
5816 (file-name (git-file-name name version))
5817 (sha256
5818 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
5819 (build-system emacs-build-system)
5820 (home-page "https://gitlab.com/jjzmajic/compdef")
5821 (synopsis "Set local completion backends")
5822 (description "This package provides a function to cleanly set local
5823 completion backends according to mode, and integrates with
5824 @code{use-package}.")
5825 (license license:gpl3+))))
5826
5827 (define-public emacs-icomplete-vertical
5828 (package
5829 (name "emacs-icomplete-vertical")
5830 (version "0.3")
5831 (source
5832 (origin
5833 (method git-fetch)
5834 (uri (git-reference
5835 (url "https://github.com/oantolin/icomplete-vertical")
5836 (commit version)))
5837 (file-name (git-file-name name version))
5838 (sha256
5839 (base32 "02v190pb802vck7di39jyf5prvmfsgcxln8mgwsls2b4clx9da97"))))
5840 (build-system emacs-build-system)
5841 (home-page "https://github.com/oantolin/icomplete-vertical")
5842 (synopsis "Display Icomplete candidates vertically")
5843 (description
5844 "This package defines a global minor mode to display Icomplete
5845 completion candidates vertically.")
5846 (license license:gpl3+)))
5847
5848 (define-public emacs-handle
5849 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
5850 (revision "2"))
5851 (package
5852 (name "emacs-handle")
5853 (version (git-version "0.1" revision commit))
5854 (source
5855 (origin
5856 (method git-fetch)
5857 (uri (git-reference
5858 (url "https://gitlab.com/jjzmajic/handle.git")
5859 (commit commit)))
5860 (file-name (git-file-name name version))
5861 (sha256
5862 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
5863 (build-system emacs-build-system)
5864 (propagated-inputs
5865 `(("emacs-parent-mode" ,emacs-parent-mode)))
5866 (home-page "https://gitlab.com/jjzmajic/handle")
5867 (synopsis "Handle generic functions across related major modes")
5868 (description "This package provides generic functions that specialize on
5869 major modes and intended purpose rather than on arguments. Different
5870 callables for tasks like expression evaluation, definition-jumping, and more
5871 can now be grouped accordingly and tried in sequence until one of them
5872 succeeds.")
5873 (license license:gpl3+))))
5874
5875 (define-public emacs-nswbuff
5876 (package
5877 (name "emacs-nswbuff")
5878 (version "1.2.1")
5879 (source
5880 (origin
5881 (method git-fetch)
5882 (uri (git-reference
5883 (url "https://github.com/joostkremers/nswbuff")
5884 (commit version)))
5885 (file-name (git-file-name name version))
5886 (sha256
5887 (base32 "1sswhr52rp8c4v4fv30sww1gadbdrlk3l35j8xmqfw6hbgzxb5dn"))))
5888 (build-system emacs-build-system)
5889 (home-page "https://github.com/joostkremers/nswbuff")
5890 (synopsis "Quickly switch between buffers")
5891 (description "This package allows for navigating between buffers within
5892 a customizable list.")
5893 (license license:gpl3+)))
5894
5895 (define-public emacs-phi-search
5896 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
5897 (revision "1"))
5898 (package
5899 (name "emacs-phi-search")
5900 (version (git-version "20160630" revision commit))
5901 (source
5902 (origin
5903 (method git-fetch)
5904 (uri (git-reference
5905 (url "https://github.com/zk-phi/phi-search")
5906 (commit commit)))
5907 (file-name (git-file-name name version))
5908 (sha256
5909 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
5910 (build-system emacs-build-system)
5911 (home-page "https://github.com/zk-phi/phi-search")
5912 (synopsis "Interactive search compatible with @code{multiple-cursors}")
5913 (description "This package can be used with @code{multiple-cursors} to
5914 provide an incremental search that moves all fake cursors in sync.")
5915 (license license:gpl2+))))
5916
5917 (define-public emacs-phi-search-mc
5918 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
5919 (revision "1"))
5920 (package
5921 (name "emacs-phi-search-mc")
5922 (version (git-version "2.2.1" revision commit))
5923 (source
5924 (origin
5925 (method git-fetch)
5926 (uri (git-reference
5927 (url "https://github.com/knu/phi-search-mc.el")
5928 (commit commit)))
5929 (file-name (git-file-name name version))
5930 (sha256
5931 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
5932 (build-system emacs-build-system)
5933 (propagated-inputs
5934 `(("emacs-phi-search" ,emacs-phi-search)
5935 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
5936 (home-page "https://github.com/knu/phi-search-mc.el")
5937 (synopsis "Extend @code{phi-search} with additional
5938 @code{multiple-cursors} functionality")
5939 (description "This package provides further integration between
5940 @code{multiple-cursors} and @code{phi-search}, a package that allows for
5941 interactive searches to move multiple fake cursors.")
5942 (license license:bsd-2))))
5943
5944 (define-public emacs-multiple-cursors
5945 (package
5946 (name "emacs-multiple-cursors")
5947 (version "1.4.0")
5948 (source
5949 (origin
5950 (method git-fetch)
5951 (uri (git-reference
5952 (url "https://github.com/magnars/multiple-cursors.el")
5953 (commit version)))
5954 (file-name (git-file-name name version))
5955 (sha256
5956 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
5957 (build-system emacs-build-system)
5958 (home-page "https://github.com/magnars/multiple-cursors.el")
5959 (synopsis "Multiple cursors for Emacs")
5960 (description
5961 "This package adds support to Emacs for editing text with multiple
5962 simultaneous cursors.")
5963 (license license:gpl3+)))
5964
5965 (define-public emacs-multifiles
5966 ;; There is no tag and no "Version:" keyword. Using the latest release
5967 ;; instead.
5968 (let ((commit "dddfe64b8e1c1cd1f9ccc1f03405477fc0d53897")
5969 (revision "1"))
5970 (package
5971 (name "emacs-multifiles")
5972 (version (git-version "0" revision commit))
5973 (source
5974 (origin
5975 (method git-fetch)
5976 (uri (git-reference
5977 (url "https://github.com/magnars/multifiles.el")
5978 (commit commit)))
5979 (file-name (git-file-name name version))
5980 (sha256
5981 (base32 "065l04ylplng1vgykkbn2vnkcs3sn1k2cikx1ha2q8wmgx6bkvai"))))
5982 (build-system emacs-build-system)
5983 (propagated-inputs
5984 `(("emacs-dash" ,emacs-dash)))
5985 (home-page "https://github.com/magnars/multifiles.el")
5986 (synopsis "Edit multiple files in a single Emacs buffer")
5987 (description
5988 "This package allows one to view and edit parts of multiple files in
5989 one Emacs buffer.")
5990 (license license:gpl3+))))
5991
5992 (define-public emacs-mc-extras
5993 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
5994 (revision "1"))
5995 (package
5996 (name "emacs-mc-extras")
5997 (version (git-version "1.2.4" revision commit))
5998 (source
5999 (origin
6000 (method git-fetch)
6001 (uri (git-reference
6002 (url "https://github.com/knu/mc-extras.el")
6003 (commit commit)))
6004 (file-name (git-file-name name version))
6005 (sha256
6006 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
6007 (build-system emacs-build-system)
6008 (propagated-inputs
6009 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
6010 (home-page "https://github.com/knu/mc-extras.el")
6011 (synopsis "Extra functions for manipulating multiple cursors")
6012 (description
6013 "This package provides additional functions for
6014 @code{multiple-cursors}, including functions for marking s-expressions,
6015 comparing characters, removing cursors, and more.")
6016 (license license:bsd-2))))
6017
6018 (define-public emacs-typo
6019 (package
6020 (name "emacs-typo")
6021 (version "1.1")
6022 (home-page "https://github.com/jorgenschaefer/typoel")
6023 (source (origin
6024 (method git-fetch)
6025 (uri (git-reference
6026 (url home-page)
6027 (commit (string-append "v" version))))
6028 (file-name (git-file-name name version))
6029 (sha256
6030 (base32
6031 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
6032 (build-system emacs-build-system)
6033 (synopsis "Minor mode for typographic editing")
6034 (description
6035 "This package provides two Emacs modes, @code{typo-mode} and
6036 @code{typo-global-mode}. These modes automatically insert Unicode characters
6037 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
6038 automatically inserts a Unicode opening or closing quotation mark, depending
6039 on context.")
6040 (license license:gpl3+)))
6041
6042 (define-public emacs-company-lsp
6043 (package
6044 (name "emacs-company-lsp")
6045 (version "2.1.0")
6046 (source (origin
6047 (method git-fetch)
6048 (uri (git-reference
6049 (url "https://github.com/tigersoldier/company-lsp")
6050 (commit version)))
6051 (file-name (git-file-name name version))
6052 (sha256
6053 (base32
6054 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
6055 (build-system emacs-build-system)
6056 (propagated-inputs
6057 `(("emacs-dash" ,emacs-dash)
6058 ("emacs-lsp-mode" ,emacs-lsp-mode)
6059 ("emacs-company" ,emacs-company)
6060 ("emacs-s" ,emacs-s)
6061 ("emacs-dash" ,emacs-dash)))
6062 (native-inputs
6063 `(("emacs-buttercup" ,emacs-buttercup)))
6064 (arguments
6065 `(#:tests? #t
6066 #:test-command '("buttercup" "-L" ".")))
6067 (home-page "https://github.com/tigersoldier/company-lsp")
6068 (synopsis "Completion for @code{lsp-mode}")
6069 (description
6070 "This package provides completion features that are not possible with
6071 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
6072 characters and asynchronous fetching of completion candidates.")
6073 (license license:gpl3+)))
6074
6075 (define-public emacs-scala-mode
6076 (package
6077 (name "emacs-scala-mode")
6078 (version "1.1.0")
6079 (source
6080 (origin
6081 (method git-fetch)
6082 (uri (git-reference
6083 (url "https://github.com/hvesalai/emacs-scala-mode")
6084 (commit (string-append "v" version))))
6085 (file-name (git-file-name name version))
6086 (sha256
6087 (base32 "1072lsin7dxadc0xyhy42wd0cw549axbbd4dy95wfmfcc1xbzjwv"))))
6088 (build-system emacs-build-system)
6089 (home-page "https://github.com/hvesalai/emacs-scala-mode")
6090 (synopsis "Emacs major mode for Scala")
6091 (description
6092 "This package provides basic Emacs support for the Scala language,
6093 including: local indenting of code, comments and multi-line strings, motion
6094 commands and highlighting.")
6095 ;; There are no copyright headers in the source code. The LICENSE file
6096 ;; indicates GPL3.
6097 (license license:gpl3)))
6098
6099 (define-public emacs-sbt-mode
6100 (package
6101 (name "emacs-sbt-mode")
6102 (version "2.0.0")
6103 (source
6104 (origin
6105 (method git-fetch)
6106 (uri (git-reference
6107 (url "https://github.com/hvesalai/emacs-sbt-mode")
6108 (commit (string-append "v" version))))
6109 (file-name (git-file-name name version))
6110 (sha256
6111 (base32 "0lv9ridzk9x6rkf7lj21srnszypyq04vqg05vl10zhpz1yqlnbjd"))))
6112 (build-system emacs-build-system)
6113 (home-page "https://github.com/hvesalai/emacs-sbt-mode")
6114 (synopsis "Basic functionality for interacting with sbt inside Emacs")
6115 (description
6116 "This mode provides basic functionality required for successfully
6117 interacting with sbt inside Emacs. The core functionality includes
6118 interacting with the sbt shell and Scala console, compiling code and
6119 navigation to errors.")
6120 (license license:gpl3+)))
6121
6122 (define-public emacs-scheme-complete
6123 ;; Upstream does not provide tags. The commit below corresponds to the
6124 ;; exact version update. Version is extracted from main file.
6125 (let ((commit "5c0a16684a3be7021d67067b2955f1c3e17a320a"))
6126 (package
6127 (name "emacs-scheme-complete")
6128 (version "0.9.9")
6129 (source
6130 (origin
6131 (method git-fetch)
6132 (uri (git-reference
6133 (url "https://github.com/ashinn/scheme-complete")
6134 (commit commit)))
6135 (file-name (git-file-name name version))
6136 (sha256
6137 (base32 "1smxr5bkzbfrjx21vhrj1wagmqx5yd92i997dbgs16iaqbzzr7cz"))))
6138 (build-system emacs-build-system)
6139 (home-page "https://github.com/ashinn/scheme-complete")
6140 (synopsis "Smart tab completion for Scheme in Emacs")
6141 (description
6142 "This file provides a single function, @code{scheme-smart-complete},
6143 which you can use for intelligent, context-sensitive completion for any Scheme
6144 implementation in Emacs. To use it just load this file and bind that function
6145 to a key in your preferred mode.")
6146 (license license:public-domain))))
6147
6148 (define-public emacs-scel
6149 (let ((version "20170629")
6150 (revision "1")
6151 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
6152 (package
6153 (name "emacs-scel")
6154 (version (git-version version revision commit))
6155 (source
6156 (origin
6157 (method git-fetch)
6158 (uri (git-reference
6159 (url "https://github.com/supercollider/scel")
6160 (commit commit)))
6161 (file-name (git-file-name name version))
6162 (sha256
6163 (base32
6164 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
6165 (build-system emacs-build-system)
6166 (arguments
6167 `(#:modules ((guix build emacs-build-system)
6168 ((guix build cmake-build-system) #:prefix cmake:)
6169 (guix build utils))
6170 #:imported-modules (,@%emacs-build-system-modules
6171 (guix build cmake-build-system))
6172 #:phases
6173 (modify-phases %standard-phases
6174 (add-after 'unpack 'configure
6175 (lambda* (#:key outputs #:allow-other-keys)
6176 (substitute* "el/CMakeLists.txt"
6177 (("share/emacs/site-lisp/SuperCollider")
6178 (string-append
6179 "share/emacs/site-lisp")))
6180 ((assoc-ref cmake:%standard-phases 'configure)
6181 #:outputs outputs
6182 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
6183 (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
6184 (lambda _
6185 (setenv "EMACSLOADPATH"
6186 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
6187 #t))
6188 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
6189 (inputs
6190 `(("supercollider" ,supercollider)))
6191 (native-inputs
6192 `(("cmake" ,cmake-minimal)))
6193 (home-page "https://github.com/supercollider/scel")
6194 (synopsis "SuperCollider Emacs interface")
6195 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
6196 SuperCollider is a platform for audio synthesis and algorithmic composition.")
6197 (license license:gpl2+))))
6198
6199 (define-public emacs-company-auctex
6200 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
6201 (revision "1"))
6202 (package
6203 (name "emacs-company-auctex")
6204 (version (git-version "0" revision commit))
6205 (source (origin
6206 (method git-fetch)
6207 (uri (git-reference
6208 (url "https://github.com/alexeyr/company-auctex")
6209 (commit commit)))
6210 (file-name (git-file-name name version))
6211 (sha256
6212 (base32
6213 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
6214 (build-system emacs-build-system)
6215 (propagated-inputs
6216 `(("emacs-yasnippet" ,emacs-yasnippet)
6217 ("emacs-auctex" ,emacs-auctex)
6218 ("emacs-company" ,emacs-company)))
6219 (home-page "https://github.com/alexeyr/company-auctex/")
6220 (synopsis "Completion for @code{AUCTeX}")
6221 (description
6222 "This package provides a group of backends permitting auto-completion
6223 for @code{AUCTeX}.")
6224 (license license:gpl3+))))
6225
6226 (define-public emacs-mit-scheme-doc
6227 (package
6228 (name "emacs-mit-scheme-doc")
6229 (version "20140203")
6230 (source
6231 (origin
6232 (modules '((guix build utils)))
6233 (snippet
6234 ;; keep only file of interest
6235 '(begin
6236 (for-each delete-file '("dot-emacs.el" "Makefile"))
6237 (install-file "6.945-config/mit-scheme-doc.el" ".")
6238 (delete-file-recursively "6.945-config")
6239 #t))
6240 (file-name (string-append name "-" version ".tar.bz2"))
6241 (method url-fetch)
6242 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
6243 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
6244 (sha256
6245 (base32
6246 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
6247 (build-system emacs-build-system)
6248 (inputs `(("mit-scheme" ,mit-scheme)))
6249 (arguments
6250 `(#:phases
6251 (modify-phases %standard-phases
6252 (add-after 'unpack 'configure-doc
6253 (lambda* (#:key inputs #:allow-other-keys)
6254 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
6255 (doc-dir (string-append mit-scheme-dir "/share/doc/"
6256 "mit-scheme-"
6257 ,(package-version mit-scheme))))
6258 (substitute* "mit-scheme-doc.el"
6259 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
6260 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
6261 (home-page "https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
6262 (synopsis "MIT-Scheme documentation lookup for Emacs")
6263 (description
6264 "This package provides a set of Emacs functions to search definitions of
6265 identifiers in the MIT-Scheme documentation.")
6266 (license license:gpl2+)))
6267
6268 (define-public emacs-constants
6269 (package
6270 (name "emacs-constants")
6271 (version "2.6")
6272 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
6273 (source
6274 (origin
6275 (method git-fetch)
6276 (uri (git-reference
6277 (url "https://github.com/fedeinthemix/emacs-constants")
6278 (commit (string-append "v" version))))
6279 (file-name (git-file-name name version))
6280 (sha256
6281 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
6282 (build-system emacs-build-system)
6283 (synopsis "Enter definition of constants into an Emacs buffer")
6284 (description
6285 "This package provides functions for inserting the definition of natural
6286 constants and units into an Emacs buffer.")
6287 (license license:gpl2+)))
6288
6289 (define-public emacs-tagedit
6290 (package
6291 (name "emacs-tagedit")
6292 (version "1.4.0")
6293 (source
6294 (origin
6295 (method git-fetch)
6296 (uri (git-reference
6297 (url "https://github.com/magnars/tagedit")
6298 (commit version)))
6299 (file-name (git-file-name name version))
6300 (sha256
6301 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
6302 (build-system emacs-build-system)
6303 (propagated-inputs
6304 `(("emacs-s" ,emacs-s)
6305 ("emacs-dash" ,emacs-dash)))
6306 (home-page "https://github.com/magnars/tagedit")
6307 (synopsis "Some paredit-like features for html-mode")
6308 (description
6309 "This package provides a collection of paredit-like functions for editing
6310 in @code{html-mode}.")
6311 (license license:gpl3+)))
6312
6313 (define-public emacs-slime
6314 (package
6315 (name "emacs-slime")
6316 (version "2.26.1")
6317 (source
6318 (origin
6319 (method git-fetch)
6320 (uri (git-reference
6321 (url "https://github.com/slime/slime")
6322 (commit (string-append "v" version))))
6323 (file-name (git-file-name name version))
6324 (sha256
6325 (base32 "1a25ixb7q4svqabxnhwkk43v47mbsh13qwm7qlazkd3zkr8j3cli"))))
6326 (build-system emacs-build-system)
6327 (native-inputs
6328 `(("texinfo" ,texinfo)))
6329 (arguments
6330 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
6331 #:exclude '("^slime-tests.el" "^contrib/test/"
6332 "^contrib/Makefile$" "^contrib/README.md$")
6333 #:phases
6334 (modify-phases %standard-phases
6335 (add-after 'unpack 'make-git-checkout-writable
6336 (lambda _
6337 (for-each make-file-writable (find-files "."))
6338 #t))
6339 (add-before 'install 'configure
6340 (lambda* _
6341 (emacs-substitute-variables "slime.el"
6342 ("inferior-lisp-program" "sbcl"))
6343 #t))
6344 (add-before 'install 'install-doc
6345 (lambda* (#:key outputs #:allow-other-keys)
6346 (let* ((out (assoc-ref outputs "out"))
6347 (info-dir (string-append out "/share/info"))
6348 (doc-dir (string-append out "/share/doc/"
6349 ,name "-" ,version))
6350 (doc-files '("doc/slime-refcard.pdf"
6351 "README.md" "NEWS" "PROBLEMS"
6352 "CONTRIBUTING.md")))
6353 (with-directory-excursion "doc"
6354 (substitute* "Makefile"
6355 (("infodir=/usr/local/info")
6356 (string-append "infodir=" info-dir)))
6357 (invoke "make" "html/index.html")
6358 (invoke "make" "slime.info")
6359 (install-file "slime.info" info-dir)
6360 (copy-recursively "html" (string-append doc-dir "/html")))
6361 (for-each (lambda (f)
6362 (install-file f doc-dir)
6363 (delete-file f))
6364 doc-files)
6365 (delete-file-recursively "doc")
6366 #t))))))
6367 (home-page "https://github.com/slime/slime")
6368 (synopsis "Superior Lisp Interaction Mode for Emacs")
6369 (description
6370 "SLIME extends Emacs with support for interactive programming in
6371 Common Lisp. The features are centered around @command{slime-mode},
6372 an Emacs minor mode that complements the standard @command{lisp-mode}.
6373 While lisp-mode supports editing Lisp source files, @command{slime-mode}
6374 adds support for interacting with a running Common Lisp process
6375 for compilation, debugging, documentation lookup, and so on.")
6376 (license (list license:gpl2+ license:public-domain))))
6377
6378 (define-public emacs-popup
6379 (package
6380 (name "emacs-popup")
6381 (version "0.5.8")
6382 (source
6383 (origin
6384 (method git-fetch)
6385 (uri (git-reference
6386 (url "https://github.com/auto-complete/popup-el")
6387 (commit (string-append "v" version))))
6388 (file-name (git-file-name name version))
6389 (sha256
6390 (base32 "0qrsz4z9q2bfq9xv4n94mvyslm232v2ql9r1fjycx7rnmpqggiwl"))))
6391 (build-system emacs-build-system)
6392 (home-page "https://github.com/auto-complete/popup-el")
6393 (synopsis "Visual Popup User Interface for Emacs")
6394 (description
6395 "Popup.el is a visual popup user interface library for Emacs.
6396 This provides a basic API and common UI widgets such as popup tooltips
6397 and popup menus.")
6398 (license license:gpl3+)))
6399
6400 (define-public emacs-python-black
6401 (package
6402 (name "emacs-python-black")
6403 (version "1.0.0")
6404 (source
6405 (origin
6406 (method git-fetch)
6407 (uri (git-reference
6408 (url "https://github.com/wbolster/emacs-python-black")
6409 (commit version)))
6410 (file-name (git-file-name name version))
6411 (sha256
6412 (base32
6413 "0fjnd85nlkck156dj6cahk8chhgkbgl2kwywqzi8bl4yj700m4dk"))))
6414 (build-system emacs-build-system)
6415 (propagated-inputs
6416 `(("emacs-dash" ,emacs-dash)
6417 ("emacs-reformatter" ,emacs-reformatter)
6418 ("python-black-macchiato" ,python-black-macchiato)))
6419 (arguments `(#:tests? #f))
6420 (home-page "https://github.com/wbolster/emacs-python-black")
6421 (synopsis "Reformat Python code via @code{python-black}")
6422 (description
6423 "This package makes it easy to reformat Python code using
6424 @code{python-black} and @code{python-black-macchiato} for entire and partial
6425 buffers, respectively.")
6426 (license license:bsd-3)))
6427
6428 (define-public emacs-py-isort
6429 (package
6430 (name "emacs-py-isort")
6431 (version "2016.1")
6432 (source
6433 (origin
6434 (method git-fetch)
6435 (uri (git-reference
6436 (url "https://github.com/paetzke/py-isort.el")
6437 (commit (string-append "v" version))))
6438 (file-name (git-file-name name version))
6439 (sha256
6440 (base32 "08i55gv392wc12x8v3dca0dmz8a8p9ljsqhyajsb6qv1k120wqhx"))))
6441 (build-system emacs-build-system)
6442 (arguments
6443 `(#:tests? #f)) ;tests fail with "emacs: standard input is not a tty"
6444 (propagated-inputs
6445 `(("python-isort" ,python-isort)))
6446 (home-page "https://github.com/paetzke/py-isort.el")
6447 (synopsis "Sort the imports in Python buffers")
6448 (description
6449 "This package provides commands and a minor mode to sort Python imports
6450 using @code{python-isort}.")
6451 (license license:gpl3+)))
6452
6453 (define-public emacs-python-environment
6454 (package
6455 (name "emacs-python-environment")
6456 (version "0.0.2")
6457 (source
6458 (origin
6459 (method git-fetch)
6460 (uri (git-reference
6461 (url "https://github.com/tkf/emacs-python-environment/")
6462 (commit version)))
6463 (file-name (git-file-name name version))
6464 (sha256
6465 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
6466 (build-system emacs-build-system)
6467 (propagated-inputs
6468 `(("emacs-deferred" ,emacs-deferred)))
6469 (home-page "https://github.com/tkf/emacs-python-environment")
6470 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
6471 (description
6472 "This package permits automated installation of tools written in Python.")
6473 (license license:gpl3+)))
6474
6475 (define-public emacs-jedi
6476 (package
6477 (name "emacs-jedi")
6478 (version "0.2.8")
6479 (source (origin
6480 (method git-fetch)
6481 (uri (git-reference
6482 (url "https://github.com/tkf/emacs-jedi/")
6483 (commit (string-append "v" version))))
6484 (file-name (git-file-name name version))
6485 (sha256
6486 (base32
6487 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
6488 (build-system emacs-build-system)
6489 (native-inputs
6490 `(("emacs-mocker" ,emacs-mocker)))
6491 (propagated-inputs
6492 `(("emacs-auto-complete" ,emacs-auto-complete)
6493 ("emacs-python-environment" ,emacs-python-environment)
6494 ("emacs-epc" ,emacs-epc)))
6495 (home-page "https://github.com/tkf/emacs-jedi")
6496 (synopsis "Provides Python completion in Emacs")
6497 (description
6498 "This package provides completion in Python buffers and also helps find
6499 the locations of docstrings, arguments, and functions.")
6500 (license license:gpl3+)))
6501
6502 (define-public emacs-company-jedi
6503 (package
6504 (name "emacs-company-jedi")
6505 (version "0.04")
6506 (source (origin
6507 (method git-fetch)
6508 (uri (git-reference
6509 (url "https://github.com/syohex/emacs-company-jedi")
6510 (commit version)))
6511 (file-name (git-file-name name version))
6512 (sha256
6513 (base32
6514 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
6515 (build-system emacs-build-system)
6516 (propagated-inputs
6517 `(("emacs-jedi" ,emacs-jedi)
6518 ("emacs-company" ,emacs-company)))
6519 (home-page "https://github.com/syohex/emacs-company-jedi")
6520 (synopsis "Provides Python completion in @code{company-mode}")
6521 (description
6522 "This package provides a Company backend for Python.")
6523 (license license:gpl3+)))
6524
6525 (define-public emacs-puppet-mode
6526 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
6527 (revision "1"))
6528 (package
6529 (name "emacs-puppet-mode")
6530 ;; The last release, 0.3 was several years ago, and there have been many
6531 ;; commits since
6532 (version (git-version "0.3" revision commit))
6533 (source
6534 (origin
6535 (method url-fetch)
6536 (uri (string-append
6537 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
6538 commit "/puppet-mode.el"))
6539 (sha256
6540 (base32
6541 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
6542 (build-system emacs-build-system)
6543 (home-page "https://github.com/voxpupuli/puppet-mode")
6544 (synopsis "Emacs major mode for the Puppet configuration language")
6545 (description
6546 "This package provides support for the Puppet configuration language,
6547 including syntax highlighting, indentation of expressions and statements,
6548 linting of manifests and integration with Puppet Debugger.")
6549 ;; Also incorporates work covered by the Apache License, Version 2.0
6550 (license license:gpl3+))))
6551
6552 (define-public emacs-god-mode
6553 (package
6554 (name "emacs-god-mode")
6555 (version "2.17.0")
6556 (source
6557 (origin
6558 (method git-fetch)
6559 (uri (git-reference
6560 (url "https://github.com/chrisdone/god-mode")
6561 (commit version)))
6562 (file-name (git-file-name name version))
6563 (sha256
6564 (base32
6565 "1d2nrj35fzhnycchi0b7m5mbk5fyq7bgpbkkvc5xzqafclrsnapi"))))
6566 (build-system emacs-build-system)
6567 (home-page "https://github.com/chrisdone/god-mode")
6568 (synopsis "Minor mode for entering commands without modifier keys")
6569 (description
6570 "This package provides a global minor mode for entering Emacs commands
6571 without modifier keys. It's similar to Vim's separation of commands and
6572 insertion mode. When enabled all keys are implicitly prefixed with
6573 @samp{C-} (among other helpful shortcuts).")
6574 (license license:gpl3+)))
6575
6576 (define-public emacs-jinja2-mode
6577 (package
6578 (name "emacs-jinja2-mode")
6579 (version "0.2")
6580 (source
6581 (origin
6582 (method git-fetch)
6583 (uri (git-reference
6584 (url "https://github.com/paradoxxxzero/jinja2-mode")
6585 (commit (string-append "v" version))))
6586 (file-name (git-file-name name version))
6587 (sha256
6588 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
6589 (build-system emacs-build-system)
6590 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
6591 (synopsis "Major mode for jinja2")
6592 (description
6593 "Emacs major mode for jinja2 with: syntax highlighting,
6594 sgml/html integration, and indentation (working with sgml).")
6595 (license license:gpl3+)))
6596
6597 (define-public emacs-company-cabal
6598 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
6599 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
6600 (revision "1"))
6601 (package
6602 (name "emacs-company-cabal")
6603 (version (git-version "0.3.0" revision commit))
6604 (source (origin
6605 (method git-fetch)
6606 (uri (git-reference
6607 (url "https://github.com/iquiw/company-cabal/")
6608 (commit commit)))
6609 (file-name (git-file-name name version))
6610 (sha256
6611 (base32
6612 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
6613 (build-system emacs-build-system)
6614 (propagated-inputs
6615 `(("emacs-company" ,emacs-company)))
6616 (arguments
6617 `(#:include (cons "^tools\\/" %default-include)))
6618 (home-page "https://github.com/iquiw/company-cabal/")
6619 (synopsis "Company completion for Haskell Cabal files")
6620 (description
6621 "This package allows for completion of field names, section names,
6622 field values, and more within @code{haskell-cabal-mode}.")
6623 (license license:gpl3+))))
6624
6625 (define-public emacs-rfcview
6626 (package
6627 (name "emacs-rfcview")
6628 (version "0.13")
6629 (home-page "http://www.loveshack.ukfsn.org/emacs")
6630 (source (origin
6631 (method url-fetch)
6632 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
6633 (sha256
6634 (base32
6635 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
6636 (build-system emacs-build-system)
6637 (synopsis "Prettify Request for Comments (RFC) documents")
6638 (description "The Internet Engineering Task Force (IETF) and the Internet
6639 Society (ISOC) publish various Internet-related protocols and specifications
6640 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
6641 documents. RFCs and STDs are published in a simple text form. This package
6642 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
6643 read these documents in Emacs. It prettifies the text and adds
6644 hyperlinks/menus for easier navigation. It also provides functions for
6645 browsing the index of RFC documents and fetching them from remote servers or
6646 local directories.")
6647 (license license:gpl3+)))
6648
6649 (define-public emacs-ffap-rfc-space
6650 (package
6651 (name "emacs-ffap-rfc-space")
6652 (version "12")
6653 (home-page "https://user42.tuxfamily.org/ffap-rfc-space/index.html")
6654 (source (origin
6655 (method url-fetch)
6656 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
6657 (sha256
6658 (base32
6659 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
6660 (build-system emacs-build-system)
6661 (synopsis "Make ffap recognize an RFC with a space before its number")
6662 (description "The Internet Engineering Task Force (IETF) and the
6663 Internet Society (ISOC) publish various Internet-related protocols and
6664 specifications as \"Request for Comments\" (RFC) documents. The
6665 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
6666 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
6667 and load the appropriate RFC from a remote server. However, it fails
6668 to recognize a name like \"RFC 1234\". This package enhances ffap so
6669 that it correctly finds RFCs even when a space appears before the
6670 number.")
6671 (license license:gpl3+)))
6672
6673 (define-public emacs-feature-mode
6674 (let ((version "20190801")
6675 (revision "1")
6676 (commit "11ae1671629bfedaa553c7b819676d64eb320992"))
6677 (package
6678 (name "emacs-feature-mode")
6679 (version (git-version version revision commit))
6680 (source (origin
6681 (method git-fetch)
6682 (uri (git-reference
6683 (url "https://github.com/michaelklishin/cucumber.el")
6684 (commit commit)))
6685 (file-name (git-file-name name version))
6686 (sha256
6687 (base32
6688 "0yd4gkxz9xcbgibfgr8apsid3f83nmg5jgqk5nql0linj5gymc28"))))
6689 (build-system emacs-build-system)
6690 (arguments
6691 `(#:include (cons* "^features\\/" "snippets\\/" "^support\\/"
6692 %default-include)))
6693 (home-page "https://github.com/michaelklishin/cucumber.el/")
6694 (synopsis "Emacs mode for editing Gherkin plain text user stories")
6695 (description "Major mode for editing Gherkin (popularized by the
6696 Cucumber tool) user stories. Also known by the name @code{cucumber.el}.")
6697 (license license:gpl2+))))
6698
6699 (define-public emacs-org-bullets
6700 (package
6701 (name "emacs-org-bullets")
6702 (version "0.2.4")
6703 (source
6704 (origin
6705 (method git-fetch)
6706 (uri (git-reference
6707 (url "https://github.com/sabof/org-bullets")
6708 (commit version)))
6709 (file-name (git-file-name name version))
6710 (sha256
6711 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
6712 (build-system emacs-build-system)
6713 (home-page "https://github.com/sabof/org-bullets")
6714 (synopsis "Show bullets in org-mode as UTF-8 characters")
6715 (description
6716 "This package provides an Emacs minor mode causing bullets in
6717 @code{org-mode} to be rendered as UTF-8 characters.")
6718 (license license:gpl3+)))
6719
6720 (define-public emacs-org-appear
6721 (let ((commit "19ea96e6e2ce01b8583b25a6e5579f1be207a119")
6722 (revision "1"))
6723 (package
6724 (name "emacs-org-appear")
6725 (version (git-version "0.0.1" revision commit)) ;no upstream release
6726 (source (origin
6727 (method git-fetch)
6728 (uri (git-reference
6729 (url "https://github.com/awth13/org-appear")
6730 (commit commit)))
6731 (file-name (git-file-name name version))
6732 (sha256
6733 (base32
6734 "064kdb3z4zr9sa7qi5921cqh8vj226ifl8x1bkc59qd9a1p34ghd"))))
6735 (build-system emacs-build-system)
6736 (home-page "https://github.com/awth13/org-appear")
6737 (synopsis "Make invisible parts of Org fragments appear visible")
6738 (description "This package enables automatic visibility toggling of
6739 org-mode elements depending on cursor position. Hidden fragment parts appear
6740 when the cursor enters a fragment and disappear when it leaves.")
6741 (license license:expat))))
6742
6743 (define-public emacs-org-drill
6744 (package
6745 (name "emacs-org-drill")
6746 (version "2.7.0")
6747 (source
6748 (origin
6749 (method git-fetch)
6750 (uri (git-reference
6751 (url "https://gitlab.com/phillord/org-drill")
6752 (commit version)))
6753 (file-name (git-file-name name version))
6754 (sha256
6755 (base32 "13y302lyscdqrba1sfx60yf5ji2xi7fbsvjsjbw7hiz63kg6rccy"))))
6756 (build-system emacs-build-system)
6757 (propagated-inputs
6758 `(("emacs-org" ,emacs-org)
6759 ("emacs-persist" ,emacs-persist)))
6760 (home-page "https://gitlab.com/phillord/org-drill")
6761 (synopsis "Flash card memorization system using Org mode")
6762 (description
6763 "This package uses spaced repetition algorithms to conduct interactive
6764 drill sessions to aid in memorization. In these sessions you are shown flash
6765 cards created in Org mode.")
6766 (license license:gpl3+)))
6767
6768 (define-public emacs-anki-editor
6769 ;; Last release was in 2018.
6770 (let ((commit "546774a453ef4617b1bcb0d1626e415c67cc88df")
6771 (revision "0")
6772 (version "0.3.3"))
6773 (package
6774 (name "emacs-anki-editor")
6775 (version (git-version version revision commit))
6776 (source
6777 (origin
6778 (method git-fetch)
6779 (uri (git-reference
6780 (url "https://github.com/louietan/anki-editor")
6781 (commit commit)))
6782 (file-name (git-file-name name version))
6783 (sha256
6784 (base32 "1if610hq5j8rbjh1caw5bwbgnsn231awwxqbpwvrh966kdxzl4qf"))))
6785 (build-system emacs-build-system)
6786 (propagated-inputs
6787 `(("emacs-dash" ,emacs-dash)
6788 ("emacs-request" ,emacs-request)))
6789 (home-page "https://github.com/louietan/anki-editor")
6790 (synopsis "Minor mode for making Anki cards with Org mode")
6791 (description
6792 "This package is for people who use Anki as a spaced repetition system
6793 (SRS) but would like to make cards in Org mode.")
6794 (license license:gpl3+))))
6795
6796 (define-public emacs-org-mime
6797 (package
6798 (name "emacs-org-mime")
6799 (version "0.2.1")
6800 (source
6801 (origin
6802 (method git-fetch)
6803 (uri (git-reference
6804 (url "https://github.com/org-mime/org-mime")
6805 (commit version)))
6806 (file-name (git-file-name name version))
6807 (sha256
6808 (base32 "0vchyd80ybvr6317dwm50nxcgxfrpc0bz6259vnrh24p5sb8shbj"))))
6809 (build-system emacs-build-system)
6810 (home-page "https://github.com/org-mime/org-mime")
6811 (synopsis "Send HTML email using Org mode HTML export")
6812 (description
6813 "This program sends HTML email using Org-mode HTML export.
6814 This approximates a WYSiWYG HTML mail editor from within Emacs, and can be
6815 useful for sending tables, fontified source code, and inline images in
6816 email.")
6817 (license license:gpl3+)))
6818
6819 (define-public emacs-org-msg
6820 ;; No git tags. The commit below corresponds to the release of version 3.3.
6821 (let ((commit "89e746c0a864031eef940758230bc7263a6f2289"))
6822 (package
6823 (name "emacs-org-msg")
6824 (version "3.3")
6825 (source
6826 (origin
6827 (method git-fetch)
6828 (uri (git-reference
6829 (url "https://github.com/jeremy-compostella/org-msg")
6830 (commit commit)))
6831 (file-name (git-file-name name version))
6832 (sha256
6833 (base32 "15gd5zbxvdallyra9lmpb9i1r2mmwz0j0i0ra7j9imnbfiz3ln9r"))))
6834 (build-system emacs-build-system)
6835 (propagated-inputs
6836 `(("emacs-htmlize" ,emacs-htmlize)))
6837 (home-page "https://github.com/jeremy-compostella/org-msg")
6838 (synopsis "Mix Org mode and Message mode to compose emails")
6839 (description
6840 "OrgMsg is a GNU Emacs global minor mode mixing up Org mode and your
6841 Mail User Agent Mode (Message, mu4e, or Notmuch) to compose and reply to
6842 emails in a Outlook HTML friendly style.")
6843 (license license:gpl3+))))
6844
6845 (define-public emacs-org-superstar
6846 (package
6847 (name "emacs-org-superstar")
6848 (version "1.5.0")
6849 (source
6850 (origin
6851 (method git-fetch)
6852 (uri (git-reference
6853 (url "https://github.com/integral-dw/org-superstar-mode")
6854 (commit (string-append "v" version))))
6855 (file-name (git-file-name name version))
6856 (sha256
6857 (base32 "12inin2p6pm6vbv3yc06fx343dsp0vp07fjb35w088akhikmqh2a"))))
6858 (build-system emacs-build-system)
6859 (propagated-inputs
6860 `(("emacs-org" ,emacs-org)))
6861 (home-page "https://github.com/integral-dw/org-superstar-mode")
6862 (synopsis "Prettify headings and plain lists in Org mode")
6863 (description "This package prettifies headings and plain lists in
6864 Org mode. It is a direct descendant of @code{org-bullets}, with most
6865 of the code base completely rewritten.
6866
6867 Currently, this package prettifies Org heading lines by:
6868 @itemize
6869 @item replacing trailing bullets by UTF-8 bullets,
6870 @item hiding leading stars, customizing their look or removing them from vision,
6871 @item applying a custom face to the header bullet,
6872 @item applying a custom face to the leading bullets,
6873 @item using double-bullets for inline tasks,
6874 @item (optional) using special bullets for TODO keywords.
6875 @end itemize
6876
6877 It also prettifies Org plain list bullets by:
6878 @itemize
6879 @item replacing each bullet type (*, + and -) with UTF-8 bullets,
6880 @item applying a custom face to item bullets.
6881 @end itemize
6882
6883 Features degrade gracefully when viewed from terminal.")
6884 (license license:gpl3+)))
6885
6886 (define-public emacs-org-pomodoro
6887 ;; Last release version was from 2016.
6888 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
6889 (revision "1"))
6890 (package
6891 (name "emacs-org-pomodoro")
6892 (version (git-version "2.1.0" revision commit))
6893 (source
6894 (origin
6895 (method git-fetch)
6896 (uri (git-reference
6897 (url "https://github.com/marcinkoziej/org-pomodoro")
6898 (commit commit)))
6899 (file-name (git-file-name name version))
6900 (sha256
6901 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
6902 (build-system emacs-build-system)
6903 (propagated-inputs
6904 `(("emacs-alert" ,emacs-alert)))
6905 (arguments
6906 `(#:include (cons "^resources\\/" %default-include)
6907 #:tests? #t
6908 #:test-command '("emacs" "--batch"
6909 "-l" "org-pomodoro-tests.el"
6910 "-f" "ert-run-tests-batch-and-exit")
6911 #:phases
6912 (modify-phases %standard-phases
6913 (add-before 'check 'make-tests-writable
6914 (lambda _
6915 (make-file-writable "org-pomodoro-tests.el")
6916 #t))
6917 (add-before 'check 'add-require
6918 (lambda _
6919 (emacs-batch-edit-file "org-pomodoro-tests.el"
6920 `(progn (progn (goto-char (point-min))
6921 (re-search-forward
6922 "ert-deftest")
6923 (beginning-of-line)
6924 (forward-line -1)
6925 (insert "(require 'org-pomodoro)"))
6926 (basic-save-buffer)))
6927 #t)))))
6928 (home-page "https://github.com/marcinkoziej/org-pomodoro")
6929 (synopsis "Pomodoro technique for org-mode")
6930 (description "@code{emacs-org-pomodoro} adds very basic support for
6931 Pomodoro technique in Emacs org-mode.
6932
6933 Run @code{M-x org-pomodoro} for the task at point or select one of the
6934 last tasks that you clocked time for. Each clocked-in pomodoro starts
6935 a timer of 25 minutes and after each pomodoro a break timer of 5
6936 minutes is started automatically. Every 4 breaks a long break is
6937 started with 20 minutes. All values are customizable.")
6938 (license license:gpl3+))))
6939
6940 (define-public emacs-org-sidebar
6941 (package
6942 (name "emacs-org-sidebar")
6943 (version "0.3.2")
6944 (source
6945 (origin
6946 (method git-fetch)
6947 (uri (git-reference
6948 (url "https://github.com/alphapapa/org-sidebar")
6949 (commit version)))
6950 (file-name (git-file-name name version))
6951 (sha256
6952 (base32 "1r8kp954ciin4j7j7j8ihdkryf5x09s3ryl7bi9h2j6xqc1ij4wq"))))
6953 (build-system emacs-build-system)
6954 (propagated-inputs
6955 `(("emacs-dash" ,emacs-dash)
6956 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
6957 ("emacs-org" ,emacs-org)
6958 ("emacs-org-ql" ,emacs-org-ql)
6959 ("emacs-s" ,emacs-s)))
6960 (home-page "https://github.com/alphapapa/org-sidebar")
6961 (synopsis "Helpful sidebar for Org buffers")
6962 (description "This package provides a sidebar for Org buffers. At the
6963 top is a chronological list of scheduled and deadlined tasks in the current
6964 buffer (similar to the Org agenda ,but without all its features), and below
6965 that is a list of all other non-done to-do items. If the buffer is narrowed,
6966 the sidebar only shows items in the narrowed portion; this allows seeing an
6967 overview of tasks in a subtree.")
6968 (license license:gpl3+)))
6969
6970 (define-public emacs-org-trello
6971 (package
6972 (name "emacs-org-trello")
6973 (version "0.8.1")
6974 (source
6975 (origin
6976 (method git-fetch)
6977 (uri (git-reference
6978 (url "https://github.com/org-trello/org-trello")
6979 (commit version)))
6980 (file-name (git-file-name name version))
6981 (sha256
6982 (base32
6983 "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc"))))
6984 (build-system emacs-build-system)
6985 (propagated-inputs
6986 `(("emacs-dash" ,emacs-dash)
6987 ("emacs-deferred" ,emacs-deferred)
6988 ("emacs-f" ,emacs-f)
6989 ("emacs-helm" ,emacs-helm)
6990 ("emacs-request" ,emacs-request)
6991 ("emacs-s" ,emacs-s)))
6992 (home-page "https://org-trello.github.io")
6993 (synopsis "Emacs minor mode for interacting with Trello")
6994 (description "This package provides an Emacs minor mode to extend
6995 @code{org-mode} with Trello abilities. Trello is an online project
6996 organizer.")
6997 (license license:gpl3+)))
6998
6999 (define-public emacs-org-tanglesync
7000 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
7001 (revision "2"))
7002 (package
7003 (name "emacs-org-tanglesync")
7004 (version (git-version "0.6" revision commit))
7005 (source
7006 (origin
7007 (method git-fetch)
7008 (uri (git-reference
7009 (url "https://github.com/mtekman/org-tanglesync.el")
7010 (commit commit)))
7011 (file-name (git-file-name name version))
7012 (sha256
7013 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
7014 (build-system emacs-build-system)
7015 (propagated-inputs
7016 `(("emacs-org" ,emacs-org)))
7017 (home-page "https://github.com/mtekman/org-tanglesync.el")
7018 (synopsis "Sync Org source blocks with tangled external files")
7019 (description "This package automatically pulls changes from source code
7020 to their corresponding tangled blocks.")
7021 (license license:gpl3+))))
7022
7023 (define-public emacs-company-flow
7024 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
7025 (revision "1"))
7026 (package
7027 (name "emacs-company-flow")
7028 (version (git-version "0.1.0" revision commit))
7029 (source (origin
7030 (method git-fetch)
7031 (uri (git-reference
7032 (url "https://github.com/aaronjensen/company-flow/")
7033 (commit commit)))
7034 (file-name (git-file-name name version))
7035 (sha256
7036 (base32
7037 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
7038 (build-system emacs-build-system)
7039 (propagated-inputs
7040 `(("emacs-company" ,emacs-company)
7041 ("emacs-dash" ,emacs-dash)))
7042 (home-page "https://github.com/aaronjensen/company-flow/")
7043 (synopsis "Flow backend for @code{company-mode}")
7044 (description
7045 "This package provides completion for JavaScript files utilizing Flow.")
7046 (license license:gpl3+))))
7047
7048 (define-public emacs-habitica
7049 (let ((commit "c45c602ddf9d6cbb0e3baf5cb3e1b7ef90f2759d")
7050 (revision "1"))
7051 (package
7052 (name "emacs-habitica")
7053 (version (git-version "1.0" revision commit))
7054 (source
7055 (origin
7056 (method git-fetch)
7057 (uri (git-reference
7058 (url "https://github.com/abrochard/emacs-habitica")
7059 (commit commit)))
7060 (file-name (git-file-name name version))
7061 (sha256
7062 (base32
7063 "0wgnzn3z98bl28jgqi7xklw9fwx2wwgihj3mq0jb8ah4vn70d0j3"))))
7064 (build-system emacs-build-system)
7065 (home-page "https://github.com/abrochard/emacs-habitica")
7066 (synopsis "Emacs interface for Habitica")
7067 (description "Emacs extension for @uref{https://habitica.com/, Habitica},
7068 a RPG style habit tracker and todo list.")
7069 (license license:gpl3+))))
7070
7071 (define-public emacs-atom-one-dark-theme
7072 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
7073 (revision "0"))
7074 (package
7075 (name "emacs-atom-one-dark-theme")
7076 (version (git-version "0.4.0" revision commit))
7077 (source (origin
7078 (method git-fetch)
7079 (uri (git-reference
7080 (url "https://github.com/jonathanchu/atom-one-dark-theme")
7081 (commit commit)))
7082 (sha256
7083 (base32
7084 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
7085 (file-name (git-file-name name version))))
7086 (build-system emacs-build-system)
7087 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
7088 (synopsis "Atom One Dark color theme for Emacs")
7089 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
7090 (license license:gpl3+))))
7091
7092 (define-public emacs-zenburn-theme
7093 (package
7094 (name "emacs-zenburn-theme")
7095 (version "2.7.0")
7096 (source
7097 (origin
7098 (method git-fetch)
7099 (uri (git-reference
7100 (url "https://github.com/bbatsov/zenburn-emacs")
7101 (commit (string-append "v" version))))
7102 (file-name (git-file-name name version))
7103 (sha256
7104 (base32 "1991s1gz2i3jchf0yvcsjjb5flwn13ifbnnfkqqrxxvy2imfh18q"))))
7105 (build-system emacs-build-system)
7106 (home-page "https://github.com/bbatsov/zenburn-emacs")
7107 (synopsis "Low contrast color theme for Emacs")
7108 (description
7109 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
7110 It is built on top of the custom theme support in Emacs 24 or later.")
7111 (license license:gpl3+)))
7112
7113 (define-public emacs-moe-theme-el
7114 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
7115 (version "1.0")
7116 (revision "1"))
7117 (package
7118 (name "emacs-moe-theme-el")
7119 (version (git-version version revision commit))
7120 (source
7121 (origin
7122 (method git-fetch)
7123 (uri (git-reference
7124 (url "https://github.com/kuanyui/moe-theme.el")
7125 (commit commit)))
7126 (file-name (git-file-name name version))
7127 (sha256
7128 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
7129 (build-system emacs-build-system)
7130 (home-page "https://github.com/kuanyui/moe-theme.el")
7131 (synopsis "Anime-inspired color themes")
7132 (description
7133 "This package provides vibrant color schemes with light and dark
7134 variants.")
7135 (license license:gpl3+))))
7136
7137 (define-public emacs-solarized-theme
7138 (package
7139 (name "emacs-solarized-theme")
7140 (version "1.3.1")
7141 (source
7142 (origin
7143 (method git-fetch)
7144 (uri (git-reference
7145 (url "https://github.com/bbatsov/solarized-emacs/")
7146 (commit (string-append "v" version))))
7147 (file-name (git-file-name name version))
7148 (sha256
7149 (base32 "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g"))))
7150 (build-system emacs-build-system)
7151 (propagated-inputs
7152 `(("emacs-dash" ,emacs-dash)))
7153 (home-page "https://github.com/bbatsov/solarized-emacs")
7154 (synopsis "Port of the Solarized theme for Emacs")
7155 (description
7156 "Solarized for Emacs is a port of the Solarized theme for Vim. This
7157 package provides a light and a dark variant.")
7158 (license license:gpl3+)))
7159
7160 (define-public emacs-poet-theme
7161 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
7162 (revision "0"))
7163 (package
7164 (name "emacs-poet-theme")
7165 (version (git-version "0" revision commit))
7166 (source
7167 (origin
7168 (method git-fetch)
7169 (uri (git-reference
7170 (url "https://github.com/kunalb/poet")
7171 (commit commit)))
7172 (file-name (git-file-name name version))
7173 (sha256
7174 (base32
7175 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
7176 (build-system emacs-build-system)
7177 (home-page "https://github.com/kunalb/poet/")
7178 (synopsis "Emacs theme for prose")
7179 (description
7180 "Emacs has very good support for multiple fonts in a single file. Poet
7181 uses this support to make it much more convenient to write prose within Emacs,
7182 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
7183 Code blocks, tables, etc are formatted in monospace text with the appropriate
7184 backgrounds.")
7185 (license license:expat))))
7186
7187 (define-public emacs-ahungry-theme
7188 (package
7189 (name "emacs-ahungry-theme")
7190 (version "1.10.0")
7191 (source
7192 (origin (method url-fetch)
7193 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
7194 version ".tar"))
7195 (sha256
7196 (base32
7197 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
7198 (build-system emacs-build-system)
7199 (home-page "https://github.com/ahungry/color-theme-ahungry")
7200 (synopsis "Ahungry color theme for Emacs")
7201 (description "Ahungry theme for Emacs provides bright and bold colors.
7202 If you load it from a terminal, you will be able to make use of the
7203 transparent background. If you load it from a GUI, it will default to a
7204 dark background.")
7205 (license license:gpl3+)))
7206
7207 (define-public emacs-gruvbox-theme
7208 (package
7209 (name "emacs-gruvbox-theme")
7210 (version "1.28.0")
7211 (source (origin
7212 (method git-fetch)
7213 (uri (git-reference
7214 (url "https://github.com/greduan/emacs-theme-gruvbox")
7215 (commit version)))
7216 (file-name (git-file-name name version))
7217 (sha256
7218 (base32
7219 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
7220 (build-system emacs-build-system)
7221 (propagated-inputs
7222 `(("emacs-autothemer" ,emacs-autothemer)))
7223 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
7224 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
7225 (description
7226 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
7227
7228 Designed as a bright theme with pastel 'retro groove' colors and light/dark
7229 mode switching in the way of solarized. The main focus when developing gruvbox
7230 is to keep colors easily distinguishable, contrast enough and still pleasant
7231 for the eyes.")
7232 (license license:expat))) ; MIT license
7233
7234 (define-public emacs-spacegray-theme
7235 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
7236 (revision "0"))
7237 (package
7238 (name "emacs-spacegray-theme")
7239 (version (git-version "0" revision commit))
7240 (source (origin
7241 (method git-fetch)
7242 (uri (git-reference
7243 (url "https://github.com/bruce/emacs-spacegray-theme")
7244 (commit commit)))
7245 (file-name (git-file-name name version))
7246 (sha256
7247 (base32
7248 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
7249 (build-system emacs-build-system)
7250 (home-page "https://github.com/bruce/emacs-spacegray-theme")
7251 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
7252 (description
7253 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
7254 Sublime Text. It features a dark blue/gray background and soft blue, green,
7255 orange and red as accent colors.")
7256 (license license:expat)))) ; MIT license
7257
7258 (define-public emacs-2048-game
7259 (package
7260 (name "emacs-2048-game")
7261 (version "20151026.1233")
7262 (source
7263 (origin
7264 (method url-fetch)
7265 (uri (string-append "https://melpa.org/packages/2048-game-"
7266 version ".el"))
7267 (sha256
7268 (base32
7269 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
7270 (build-system emacs-build-system)
7271 (home-page "https://hg.sr.ht/~zck/game-2048")
7272 (synopsis "Implementation of the game 2048 in Emacs Lisp")
7273 (description
7274 "This program is an implementation of 2048 for Emacs.
7275 The goal of this game is to create a tile with value 2048. The size of the
7276 board and goal value can be customized.")
7277 (license license:gpl3+)))
7278
7279 (define-public emacs-chess
7280 (package
7281 (name "emacs-chess")
7282 (version "2.0.5")
7283 (source
7284 (origin
7285 (method url-fetch)
7286 (uri (string-append "https://elpa.gnu.org/packages/"
7287 "chess-" version ".tar"))
7288 (sha256
7289 (base32 "1a4iwjdh6k348df6qywjws9z9f862d62m0b2sz57z4xhywiyxpr7"))))
7290 (build-system emacs-build-system)
7291 (arguments
7292 `(#:phases
7293 (modify-phases %standard-phases
7294 (add-after 'install 'install-pieces
7295 (lambda* (#:key outputs #:allow-other-keys)
7296 (let* ((out (assoc-ref outputs "out"))
7297 (pieces
7298 (string-append out "/share/emacs/site-lisp/pieces")))
7299 (mkdir-p pieces)
7300 (copy-recursively "pieces" pieces)
7301 #t))))))
7302 (home-page "https://elpa.gnu.org/packages/chess.html")
7303 (synopsis "Play chess in GNU Emacs")
7304 (description
7305 "Chess is an Emacs Lisp library and several clients on top of the
7306 underlying library functionality for performing various activities related to
7307 the game of chess.")
7308 (license license:gpl3+)))
7309
7310 (define-public emacs-4clojure
7311 ;; There is no release. Base version is extracted from Version keyword in
7312 ;; the main file.
7313 (let ((commit "4eccf8c7d4341a36c269451838114b27836699f9")
7314 (revision "1"))
7315 (package
7316 (name "emacs-4clojure")
7317 (version (git-version "0.2.1" revision commit))
7318 (source
7319 (origin
7320 (method git-fetch)
7321 (uri (git-reference
7322 (url "https://github.com/emacsorphanage/4clojure")
7323 (commit commit)))
7324 (file-name (git-file-name name version))
7325 (sha256
7326 (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk"))))
7327 (build-system emacs-build-system)
7328 (propagated-inputs
7329 `(("emacs-request" ,emacs-request)))
7330 (home-page "https://github.com/emacsorphanage/4clojure/")
7331 (synopsis "Open and evaluate 4clojure questions in Emacs")
7332 (description "Emacs 4clojure interacts with
7333 @url{http://www.4clojure.com, 4clojure} problems. You can open a specific
7334 question and move to the next or previous one. You can also verify your
7335 answers.")
7336 (license license:gpl3+))))
7337
7338 (define-public emacs-base16-theme
7339 (package
7340 (name "emacs-base16-theme")
7341 (version "2.2")
7342 (source
7343 (origin
7344 (method git-fetch)
7345 (uri (git-reference
7346 (url "https://github.com/belak/base16-emacs")
7347 (commit version)))
7348 (file-name (git-file-name name version))
7349 (sha256
7350 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
7351 (build-system emacs-build-system)
7352 (home-page "https://github.com/belak/base16-emacs")
7353 (synopsis "Base16 color themes for Emacs")
7354 (description
7355 "Base16 provides carefully chosen syntax highlighting and a default set
7356 of sixteen colors suitable for a wide range of applications. Base16 is not a
7357 single theme but a set of guidelines with numerous implementations.")
7358 (license license:expat)))
7359
7360 (define-public emacs-solaire-mode
7361 (package
7362 (name "emacs-solaire-mode")
7363 (version "1.0.9")
7364 (source
7365 (origin
7366 (method git-fetch)
7367 (uri (git-reference
7368 (url "https://github.com/hlissner/emacs-solaire-mode")
7369 (commit (string-append "v" version))))
7370 (file-name (git-file-name name version))
7371 (sha256
7372 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
7373 (build-system emacs-build-system)
7374 (home-page "https://github.com/hlissner/emacs-solaire-mode")
7375 (synopsis "Change background of file-visiting buffers in Emacs")
7376 (description
7377 "@code{solaire-mode} is inspired by editors which visually distinguish
7378 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
7379 background of file-visiting buffers (and certain aspects of the UI) to make
7380 them easier to distinguish from other, less important buffers.")
7381 (license license:expat)))
7382
7383 (define-public emacs-embark
7384 (package
7385 (name "emacs-embark")
7386 (version "0.10")
7387 (source
7388 (origin
7389 (method git-fetch)
7390 (uri (git-reference
7391 (url "https://github.com/oantolin/embark")
7392 (commit version)))
7393 (sha256
7394 (base32 "063hc0hganws11vjdk3ic0mxm9i0vpw6s7hzbgxvja0gjkdxjldz"))
7395 (file-name (git-file-name name version))))
7396 (build-system emacs-build-system)
7397 (propagated-inputs
7398 `(("emacs-avy" ,emacs-avy)
7399 ("emacs-consult" ,emacs-consult)))
7400 (home-page "https://github.com/oantolin/embark")
7401 (synopsis "Emacs mini-buffer actions rooted in keymaps")
7402 (description
7403 "This package provides a sort of right-click contextual menu for Emacs
7404 offering you relevant @emph{actions} to use on a @emph{target} determined by
7405 the context.
7406
7407 In the minibuffer, the target is the current best completion candidate. In
7408 the @code{*Completions*} buffer the target is the completion at point.
7409 n a regular buffer, the target is the region if active, or else the file,
7410 symbol or URL at point.
7411
7412 The type of actions offered depend on the type of the target. For files you
7413 get offered actions like deleting, copying, renaming, visiting in another
7414 window, running a shell command on the file, etc. For buffers the actions
7415 include switching to or killing the buffer. For package names the actions
7416 include installing, removing or visiting the homepage.")
7417 (license license:gpl3+)))
7418
7419 (define-public emacs-prescient
7420 (package
7421 (name "emacs-prescient")
7422 (version "5.1")
7423 (source
7424 (origin
7425 (method git-fetch)
7426 (uri (git-reference
7427 (url "https://github.com/raxod502/prescient.el")
7428 (commit (string-append "v" version))))
7429 (file-name (git-file-name name version))
7430 (sha256
7431 (base32 "0d6kbczkamhhcmc8bf01q6k1x0g7dwjihwllzsldgga3dclyh4ks"))))
7432 (build-system emacs-build-system)
7433 (propagated-inputs
7434 `(("emacs-company" ,emacs-company)
7435 ("emacs-ivy" ,emacs-ivy)
7436 ("emacs-selectrum" ,emacs-selectrum)))
7437 (home-page "https://github.com/raxod502/prescient.el/")
7438 (synopsis "Emacs library for sorting and filtering candidates")
7439 (description
7440 "Prescient is a library for sorting and filtering, as well as extensions
7441 for Ivy and Company that make use of the library.")
7442 (license license:expat)))
7443
7444 (define-public emacs-selectrum
7445 (package
7446 (name "emacs-selectrum")
7447 (version "3.1")
7448 (source
7449 (origin
7450 (method git-fetch)
7451 (uri (git-reference
7452 (url "https://github.com/raxod502/selectrum")
7453 (commit (string-append "v" version))))
7454 (file-name (git-file-name name version))
7455 (sha256
7456 (base32 "02jrki6vzyfyi1bbslki5pk2348flh9dz18jkc4y7p60bvbr52cb"))))
7457 (build-system emacs-build-system)
7458 (home-page "https://github.com/raxod502/selectrum/")
7459 (synopsis "Incremental narrowing in Emacs")
7460 (description "Selectrum is a solution for incremental narrowing in
7461 Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based
7462 on choosing the right abstractions and prioritizing consistency and
7463 predictability over special-cased improvements for particular cases.
7464 As such, Selectrum follows existing Emacs conventions where they exist
7465 and are reasonable, and it declines to implement features which have
7466 marginal benefit compared to the additional complexity of a new
7467 interface.")
7468 (license license:expat)))
7469
7470 (define-public emacs-orderless
7471 (package
7472 (name "emacs-orderless")
7473 (version "0.5")
7474 (source
7475 (origin
7476 (method git-fetch)
7477 (uri (git-reference
7478 (url "https://github.com/oantolin/orderless")
7479 (commit version)))
7480 (sha256
7481 (base32 "032lfwflkpaxbcxl4jf438vapswsdagipjczcn30sc4dfdh3p42c"))
7482 (file-name (git-file-name name version))))
7483 (build-system emacs-build-system)
7484 (home-page "https://github.com/oantolin/orderless")
7485 (synopsis "Emacs completion style that matches multiple regexps in any order")
7486 (description "This package provides an orderless completion style that
7487 divides the pattern into space-separated components, and matches candidates
7488 that match all of the components in any order. Each component can match in
7489 any one of several ways: literally, as a regexp, as an initialism, in the flex
7490 style, or as multiple word prefixes.")
7491 (license license:gpl3+)))
7492
7493 (define-public emacs-consult
7494 (package
7495 (name "emacs-consult")
7496 (version "0.6")
7497 (source
7498 (origin
7499 (method git-fetch)
7500 (uri (git-reference
7501 (url "https://github.com/minad/consult")
7502 (commit version)))
7503 (sha256
7504 (base32 "09n3q3dyi83s4fk4z7csnjicbxd69ws4zp4371c1lbxcvvq2fdnd"))
7505 (file-name (git-file-name name version))))
7506 (build-system emacs-build-system)
7507 (propagated-inputs
7508 `(("emacs-flycheck" ,emacs-flycheck)
7509 ("emacs-selectrum" ,emacs-selectrum)))
7510 (home-page "https://github.com/minad/consult")
7511 (synopsis "Consulting completing-read")
7512 (description "This package provides various handy commands based on the
7513 Emacs completion function completing-read, which allows quickly selecting from a
7514 list of candidates.")
7515 (license license:gpl3+)))
7516
7517 (define-public emacs-marginalia
7518 (package
7519 (name "emacs-marginalia")
7520 (version "0.4")
7521 (source
7522 (origin
7523 (method git-fetch)
7524 (uri (git-reference
7525 (url "https://github.com/minad/marginalia")
7526 (commit version)))
7527 (file-name (git-file-name name version))
7528 (sha256
7529 (base32 "0piwzxp1zmwp876kyca0xcgyxgn8bn4wh5fnn88dkvdzi8mcgmkh"))))
7530 (build-system emacs-build-system)
7531 (home-page "https://github.com/minad/marginalia")
7532 (synopsis "Marginalia in the minibuffer completions")
7533 (description
7534 "This package provides Marginalia mode which adds marginalia to the
7535 minibuffer completions. Marginalia are marks or annotations placed at the
7536 margin of the page of a book or in this case helpful colorful annotations
7537 placed at the margin of the minibuffer for your completion candidates.")
7538 (license license:gpl3+)))
7539
7540 (define-public emacs-smartparens
7541 (package
7542 (name "emacs-smartparens")
7543 (version "1.11.0")
7544 (source
7545 (origin
7546 (method git-fetch)
7547 (uri (git-reference
7548 (url "https://github.com/Fuco1/smartparens")
7549 (commit version)))
7550 (file-name (git-file-name name version))
7551 (sha256
7552 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
7553 (build-system emacs-build-system)
7554 (propagated-inputs
7555 `(("emacs-dash" ,emacs-dash)
7556 ("emacs-markdown-mode" ,emacs-markdown-mode)))
7557 (home-page "https://github.com/Fuco1/smartparens")
7558 (synopsis "Paredit-like insertion, wrapping and navigation with user
7559 defined pairs")
7560 (description
7561 "Smartparens is a minor mode for Emacs that deals with parens pairs
7562 and tries to be smart about it. It started as a unification effort to
7563 combine functionality of several existing packages in a single,
7564 compatible and extensible way to deal with parentheses, delimiters, tags
7565 and the like. Some of these packages include autopair, textmate,
7566 wrap-region, electric-pair-mode, paredit and others. With the basic
7567 features found in other packages it also brings many improvements as
7568 well as completely new features.")
7569 (license license:gpl3+)))
7570
7571 (define-public emacs-highlight-symbol
7572 ;; We prefer a more recent commit that provides an option to squelch
7573 ;; echo-area alerts that can drown out useful information like eldoc
7574 ;; messages.
7575 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
7576 (version "1.3")
7577 (revision "1"))
7578 (package
7579 (name "emacs-highlight-symbol")
7580 (version (git-version version revision commit))
7581 (source
7582 (origin
7583 (method git-fetch)
7584 (uri (git-reference
7585 (url "https://github.com/nschum/highlight-symbol.el")
7586 (commit commit)))
7587 (file-name (git-file-name name version))
7588 (sha256
7589 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
7590 (build-system emacs-build-system)
7591 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
7592 (synopsis "Automatic and manual symbol highlighting for Emacs")
7593 (description
7594 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
7595 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
7596 the symbol at point highlighted.
7597
7598 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
7599 @code{highlight-symbol-next-in-defun} and
7600 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
7601 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
7602 bindings @code{M-p} and @code{M-p} for navigation. When
7603 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
7604 regardless of @code{highlight-symbol-idle-delay}.
7605
7606 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
7607 (license license:gpl2+))))
7608
7609 (define-public emacs-symbol-overlay
7610 (package
7611 (name "emacs-symbol-overlay")
7612 (version "4.2")
7613 (source
7614 (origin
7615 (method git-fetch)
7616 (uri (git-reference
7617 (url "https://github.com/wolray/symbol-overlay")
7618 (commit version)))
7619 (file-name (git-file-name name version))
7620 (sha256
7621 (base32 "10n0871xzycifyqp73xnbqmrgy60imlb26yhm3p6vfj3d84mg1b2"))))
7622 (build-system emacs-build-system)
7623 (home-page "https://github.com/wolray/symbol-overlay")
7624 (synopsis "Highlight symbols and perform various search operations on them")
7625 (description
7626 "This package provides functions for highlighting and navigating
7627 between symbols.")
7628 (license license:gpl3+)))
7629
7630 (define-public emacs-hl-todo
7631 (package
7632 (name "emacs-hl-todo")
7633 (version "3.1.2")
7634 (source (origin
7635 (method git-fetch)
7636 (uri (git-reference
7637 (url "https://github.com/tarsius/hl-todo")
7638 (commit (string-append "v" version))))
7639 (file-name (git-file-name name version))
7640 (sha256
7641 (base32
7642 "1i5mdmkbrxqx75grwl01pywbgl8pasr00mq6fidspp0aligsbg6w"))))
7643 (build-system emacs-build-system)
7644 (home-page "https://github.com/tarsius/hl-todo")
7645 (synopsis "Emacs mode to highlight TODO and similar keywords")
7646 (description
7647 "This package provides an Emacs mode to highlight TODO and similar
7648 keywords in comments and strings. This package also provides commands for
7649 moving to the next or previous keyword and to invoke @code{occur} with a
7650 regexp that matches all known keywords.")
7651 (license license:gpl3+)))
7652
7653 (define-public emacs-perspective
7654 (package
7655 (name "emacs-perspective")
7656 (version "2.14")
7657 (source
7658 (origin
7659 (method git-fetch)
7660 (uri (git-reference
7661 (url "https://github.com/nex3/perspective-el")
7662 (commit version)))
7663 (file-name (git-file-name name version))
7664 (sha256
7665 (base32 "04r5h5zs5r6s22p5ynhpr860r2r552z9pyf4kbabfg1gz9jag7yp"))))
7666 (build-system emacs-build-system)
7667 (arguments
7668 `(#:tests? #t
7669 #:test-command '("emacs" "-Q" "-batch" "-L" "."
7670 "-l" "test/test-perspective.el"
7671 "-f" "ert-run-tests-batch-and-exit")))
7672 (home-page "https://github.com/nex3/perspective-el")
7673 (synopsis "Switch between named \"perspectives\"")
7674 (description
7675 "This package provides tagged workspaces in Emacs, similar to workspaces in
7676 windows managers such as Awesome and XMonad. @code{perspective.el} provides
7677 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
7678 perspective is composed of a window configuration and a set of buffers.
7679 Switching to a perspective activates its window configuration, and when in a
7680 perspective only its buffers are available by default.")
7681 ;; This package is released under the same license as Emacs (GPLv3+) or
7682 ;; the Expat license.
7683 (license license:gpl3+)))
7684
7685 (define-public emacs-persp-mode
7686 (package
7687 (name "emacs-persp-mode")
7688 (version "2.9.8")
7689 (source
7690 (origin
7691 (method git-fetch)
7692 (uri (git-reference
7693 (url "https://github.com/Bad-ptr/persp-mode.el")
7694 (commit (string-append "v" version))))
7695 (file-name (git-file-name name version))
7696 (sha256
7697 (base32
7698 "0b4y7a6j70s9lvr37riyy9k5kh3yvmx0m6nd9c0c8572ji4ij65g"))))
7699 (build-system emacs-build-system)
7700 (home-page "https://github.com/Bad-ptr/persp-mode.el")
7701 (synopsis "Switch between named \"perspectives\" shared among frames")
7702 (description
7703 "This package extends @code{perspective.el} to enable perspectives that
7704 can be saved to and restored from a file.")
7705 (license license:gpl2+)))
7706
7707 (define-public emacs-test-simple
7708 (package
7709 (name "emacs-test-simple")
7710 (version "1.3.0")
7711 (source
7712 (origin
7713 (method url-fetch)
7714 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
7715 version ".el"))
7716 (sha256
7717 (base32
7718 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
7719 (build-system emacs-build-system)
7720 (home-page "https://github.com/rocky/emacs-test-simple")
7721 (synopsis "Simple unit test framework for Emacs Lisp")
7722 (description
7723 "Test Simple is a simple unit test framework for Emacs Lisp. It
7724 alleviates the need for context macros, enclosing specifications or required
7725 test tags. It supports both interactive and non-interactive use.")
7726 (license license:gpl3+)))
7727
7728 (define-public emacs-load-relative
7729 (package
7730 (name "emacs-load-relative")
7731 (version "1.3.1")
7732 (source
7733 (origin
7734 (method url-fetch)
7735 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
7736 version ".el"))
7737 (sha256
7738 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
7739 (build-system emacs-build-system)
7740 (home-page "https://github.com/rocky/emacs-load-relative")
7741 (synopsis "Emacs Lisp relative file loading related functions")
7742 (description
7743 "Provides functions which facilitate writing multi-file Emacs packages
7744 and running from the source tree without having to \"install\" code or fiddle
7745 with @{load-path}.
7746
7747 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
7748 another (presumably currently running) Emacs Lisp file.")
7749 (license license:gpl3+)))
7750
7751 (define-public emacs-loc-changes
7752 (package
7753 (name "emacs-loc-changes")
7754 (version "1.2")
7755 (source
7756 (origin
7757 (method url-fetch)
7758 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
7759 version ".el"))
7760 (sha256
7761 (base32
7762 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
7763 (build-system emacs-build-system)
7764 (home-page "https://github.com/rocky/emacs-loc-changes")
7765 (synopsis "Keeps track of positions even after buffer changes")
7766 (description
7767 "This Emacs package provides a mean to track important buffer positions
7768 after buffer changes.")
7769 (license license:gpl3+)))
7770
7771 (define-public emacs-realgud
7772 (package
7773 (name "emacs-realgud")
7774 (version "1.5.1")
7775 (source
7776 (origin
7777 (method git-fetch)
7778 (uri (git-reference
7779 (url "https://github.com/realgud/realgud/")
7780 (commit version)))
7781 (sha256
7782 (base32
7783 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
7784 (file-name (git-file-name name version))))
7785 (build-system emacs-build-system)
7786 (arguments
7787 `(#:tests? #t
7788 #:phases
7789 (modify-phases %standard-phases
7790 (add-after 'unpack 'fix-realgud:run-process-void-error
7791 ;; See: https://github.com/realgud/realgud/issues/269.
7792 (lambda _
7793 (substitute* '("realgud/debugger/gdb/gdb.el"
7794 "realgud/debugger/gub/gub.el")
7795 (("^\\(require 'load-relative\\).*" anchor)
7796 (string-append anchor
7797 "(require-relative-list \
7798 '(\"../../common/run\") \"realgud:\")\n")))
7799 #t))
7800 (add-after 'unpack 'fix-autogen-script
7801 (lambda _
7802 (substitute* "autogen.sh"
7803 (("./configure") "sh configure"))
7804 #t))
7805 (add-after 'fix-autogen-script 'autogen
7806 (lambda _
7807 (setenv "CONFIG_SHELL" "sh")
7808 (invoke "sh" "autogen.sh")))
7809 (add-after 'fix-autogen-script 'set-home
7810 (lambda _
7811 (setenv "HOME" (getenv "TMPDIR"))
7812 #t))
7813 (add-before 'patch-el-files 'remove-realgud-pkg.el
7814 (lambda _
7815 ;; FIXME: `patch-el-files' crashes on this file with error:
7816 ;; unable to locate "bashdb".
7817 (delete-file "./test/test-regexp-bashdb.el")
7818 #t)))
7819 #:include (cons* ".*\\.el$" %default-include)))
7820 (native-inputs
7821 `(("autoconf" ,autoconf)
7822 ("automake" ,automake)
7823 ("emacs-test-simple" ,emacs-test-simple)))
7824 (propagated-inputs
7825 `(("emacs-load-relative" ,emacs-load-relative)
7826 ("emacs-loc-changes" ,emacs-loc-changes)))
7827 (home-page "https://github.com/realgud/realgud/")
7828 (synopsis
7829 "Modular front-end for interacting with external debuggers")
7830 (description
7831 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
7832 with external debuggers. It integrates various debuggers such as gdb, pdb,
7833 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
7834 sources. Unlike GUD, it also supports running multiple debug sessions in
7835 parallel.")
7836 (license license:gpl3+)))
7837
7838 (define-public emacs-request
7839 ;; We prefer a more recent commit that has support for auth-source,
7840 ;; which makes authentication more convenient for users and maintainers.
7841 (let ((commit "d02d1347ffdf138cffd380cbeac62ac8732036ef")
7842 (revision "0"))
7843 (package
7844 (name "emacs-request")
7845 (version (git-version "0.3.2" revision commit))
7846 (source (origin
7847 (method git-fetch)
7848 (uri (git-reference
7849 (url "https://github.com/tkf/emacs-request")
7850 (commit commit)))
7851 (file-name (git-file-name name version))
7852 (sha256
7853 (base32
7854 "1rkpakzish2d470ca15yq3k0m1j7a2lrkvvddcyvc2rx0sncsdjs"))))
7855 (build-system emacs-build-system)
7856 (arguments
7857 `(#:tests? #f)) ; requires network access.
7858 (propagated-inputs
7859 `(("emacs-deferred" ,emacs-deferred)))
7860 (home-page "https://github.com/tkf/emacs-request")
7861 (synopsis "Package for speaking HTTP in Emacs Lisp")
7862 (description "This package provides a HTTP request library with multiple
7863 backends. It supports url.el which is shipped with Emacs and the curl command
7864 line program.")
7865 (license license:gpl3+))))
7866
7867 (define-public emacs-rudel
7868 (package
7869 (name "emacs-rudel")
7870 (version "0.3.2")
7871 (source
7872 (origin
7873 (method url-fetch)
7874 (uri (string-append "https://elpa.gnu.org/packages/rudel-"
7875 version ".tar"))
7876 (sha256
7877 (base32 "03hcvpp6ykavidwn5x48gs986w1i5icvh7ks6p74pdaagpgw4jmk"))))
7878 (build-system emacs-build-system)
7879 (home-page "http://rudel.sourceforge.net/")
7880 (synopsis "Collaborative editing framework")
7881 (description
7882 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
7883 is to share buffers with other users in order to edit the contents of those
7884 buffers collaboratively. Rudel supports multiple backends to enable
7885 communication with other collaborative editors using different protocols,
7886 though currently Obby (for use with the Gobby editor) is the only
7887 fully-functional one.")
7888 (license license:gpl3+)))
7889
7890 (define-public emacs-hydra
7891 (package
7892 (name "emacs-hydra")
7893 (version "0.15.0")
7894 (source
7895 (origin
7896 (method git-fetch)
7897 (uri (git-reference
7898 (url "https://github.com/abo-abo/hydra")
7899 (commit version)))
7900 (file-name (git-file-name name version))
7901 (sha256
7902 (base32
7903 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
7904 (build-system emacs-build-system)
7905 (arguments
7906 `(#:tests? #t
7907 #:test-command '("make" "test")))
7908 (home-page "https://github.com/abo-abo/hydra")
7909 (synopsis "Make Emacs bindings that stick around")
7910 (description
7911 "This package can be used to tie related commands into a family of short
7912 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
7913 the prefixed binding), all the heads can be called in succession with only a
7914 short extension. Any binding that isn't the Hydra's head vanquishes the
7915 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
7916 serve its original purpose, calling the command assigned to it. This makes
7917 the Hydra very seamless; it's like a minor mode that disables itself
7918 automatically.")
7919 (license license:gpl3+)))
7920
7921 (define-public emacs-pretty-hydra
7922 (package
7923 (name "emacs-pretty-hydra")
7924 (version "0.2.2")
7925 (source
7926 (origin
7927 (method git-fetch)
7928 (uri (git-reference
7929 (url "https://github.com/jerrypnz/major-mode-hydra.el")
7930 (commit version)))
7931 (file-name (git-file-name name version))
7932 (sha256
7933 (base32
7934 "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))
7935 (build-system emacs-build-system)
7936 (propagated-inputs
7937 `(("emacs-dash" ,emacs-dash)
7938 ("emacs-hydra" ,emacs-hydra)
7939 ("emacs-s" ,emacs-s)))
7940 (arguments
7941 `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude)))
7942 (home-page "https://github.com/jerrypnz/major-mode-hydra.el")
7943 (synopsis "Major mode keybindings managed by Hydra")
7944 (description
7945 "This package offers an hydra-based method of managing major
7946 mode-specific key bindings. It is intended for use as a library only; see
7947 package @code{emacs-major-mode-hydra} for a user-friendly interface.")
7948 (license license:gpl3+)))
7949
7950 (define-public emacs-interleave
7951 (package
7952 (name "emacs-interleave")
7953 (version "1.4.0")
7954 (source
7955 (origin
7956 (method git-fetch)
7957 (uri
7958 (git-reference
7959 (url "https://github.com/rudolfochrist/interleave")
7960 (commit (string-append "interleave-" version))))
7961 (file-name (git-file-name name version))
7962 (sha256
7963 (base32 "0l5b681mrpk12lx5c16m7kc13p29z6zismwg1llsjg7cdmrmsrcb"))))
7964 (build-system emacs-build-system)
7965 (home-page "https://github.com/rudolfochrist/interleave")
7966 (synopsis "Emacs minor mode to interleave notes and text books")
7967 (description
7968 "Interleave is a minor mode that presents a document viewer side
7969 by side to an Org buffer with your notes relevant to the current page.")
7970 (license license:gpl3+)))
7971
7972 (define-public emacs-major-mode-hydra
7973 (package
7974 (inherit emacs-pretty-hydra)
7975 (name "emacs-major-mode-hydra")
7976 (propagated-inputs
7977 `(("emacs-dash" ,emacs-dash)
7978 ("emacs-pretty-hydra" ,emacs-pretty-hydra)))
7979 (arguments
7980 `(#:exclude (cons "^pretty-hydra\\.el" %default-exclude)))
7981 (synopsis "Create nice-looking hydras")
7982 (description
7983 "This package provides the macro @code{pretty-hydra-define} to define
7984 hydras with one column per group of heads.")))
7985
7986 (define-public emacs-ivy
7987 (package
7988 (name "emacs-ivy")
7989 (version "0.13.4")
7990 (source
7991 (origin
7992 (method url-fetch)
7993 (uri (string-append "https://elpa.gnu.org/packages/ivy-" version ".tar"))
7994 (sha256
7995 (base32 "0qpza1c45mr8fcpnm32cck4v22fnzz1yb7kww05rzgq1k9iivx5v"))))
7996 (build-system emacs-build-system)
7997 (propagated-inputs
7998 `(("emacs-hydra" ,emacs-hydra)))
7999 (home-page "https://github.com/abo-abo/swiper")
8000 (synopsis "Incremental vertical completion for Emacs")
8001 (description
8002 "This package provides @code{ivy-read} as an alternative to
8003 @code{completing-read} and similar functions. No attempt is made to determine
8004 the best candidate. Instead, the user can navigate candidates with
8005 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
8006 splitting the input text by spaces and re-building it into a regular
8007 expression.")
8008 (license license:gpl3+)))
8009
8010 (define-public emacs-counsel
8011 (package
8012 (name "emacs-counsel")
8013 (version "0.13.4")
8014 (source
8015 (origin
8016 (method url-fetch)
8017 (uri (string-append "https://elpa.gnu.org/packages/"
8018 "counsel-" version ".tar"))
8019 (sha256
8020 (base32 "094zfapfn1l8wjf3djkipk0d9nks0g77sbk107pfsbr3skkzh031"))))
8021 (build-system emacs-build-system)
8022 (propagated-inputs
8023 `(("emacs-swiper" ,emacs-swiper)))
8024 (home-page "https://github.com/abo-abo/swiper")
8025 (synopsis "Various completion functions using Ivy")
8026 (description
8027 "Just call one of the interactive functions in a file to complete the
8028 corresponding thing using Ivy.
8029
8030 The following completions are currently available:
8031 @itemize
8032 @item Symbol completion for Elisp, Common Lisp, Python, Clojure, C, C++.
8033 @item Describe functions for Elisp: function, variable, library, command,
8034 @item bindings, theme.
8035 @item Navigation functions: imenu, ace-line, semantic, outline.
8036 @item Git utilities: git-files, git-grep, git-log, git-stash, git-checkout.
8037 @item Grep utilities: grep, ag, pt, recoll, ack, rg.
8038 @item System utilities: process list, rhythmbox, linux-app.
8039 @item Many more.
8040 @end itemize")
8041 (license license:gpl3+)))
8042
8043 (define-public emacs-swiper
8044 (package
8045 (name "emacs-swiper")
8046 (version "0.13.4")
8047 (source
8048 (origin
8049 (method url-fetch)
8050 (uri (string-append "https://elpa.gnu.org/packages/swiper-" version ".tar"))
8051 (sha256
8052 (base32 "197pq2cvvskib87aky907wv2am55vilr7y5dabmmm07a8vr9py0v"))))
8053 (build-system emacs-build-system)
8054 (propagated-inputs
8055 `(("emacs-ivy" ,emacs-ivy)))
8056 (home-page "https://github.com/abo-abo/swiper")
8057 (synopsis "Isearch with an overview")
8058 (description
8059 "This package gives an overview of the current regex search candidates.
8060 The search regex can be split into groups with a space. Each group is
8061 highlighted with a different face.
8062
8063 It can double as a quick `regex-builder', although only single lines will be
8064 matched.")
8065 (license license:gpl3+)))
8066
8067 (define-public emacs-ivy-xref
8068 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
8069 (revision "1"))
8070 (package
8071 (name "emacs-ivy-xref")
8072 (version (git-version "0.1" revision commit))
8073 (source
8074 (origin
8075 (method git-fetch)
8076 (uri (git-reference
8077 (url "https://github.com/alexmurray/ivy-xref")
8078 (commit commit)))
8079 (file-name (git-file-name name version))
8080 (sha256
8081 (base32
8082 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
8083 (build-system emacs-build-system)
8084 (propagated-inputs
8085 `(("emacs-ivy" ,emacs-ivy)))
8086 (home-page "https://github.com/alexmurray/ivy-xref")
8087 (synopsis "Ivy interface for @code{xref}")
8088 (description "This package provides an Ivy interface for selecting from
8089 @code{xref} results.")
8090 (license license:gpl3))))
8091
8092 (define-public emacs-ivy-pass
8093 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
8094 (revision "1"))
8095 (package
8096 (name "emacs-ivy-pass")
8097 (version (git-version "0.1" revision commit))
8098 (source
8099 (origin
8100 (method git-fetch)
8101 (uri (git-reference
8102 (url "https://github.com/ecraven/ivy-pass")
8103 (commit commit)))
8104 (file-name (git-file-name name version))
8105 (sha256
8106 (base32
8107 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
8108 (build-system emacs-build-system)
8109 (propagated-inputs
8110 `(("emacs-ivy" ,emacs-ivy)
8111 ("emacs-password-store" ,emacs-password-store)
8112 ("password-store" ,password-store)))
8113 (home-page "https://github.com/ecraven/ivy-pass")
8114 (synopsis "Ivy interface for password store (pass)")
8115 (description "This package provides an Ivy interface for working with
8116 the password store @code{pass}.")
8117 (license license:gpl3))))
8118
8119 (define-public emacs-ivy-yasnippet
8120 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
8121 (revision "2"))
8122 (package
8123 (name "emacs-ivy-yasnippet")
8124 (version (git-version "0.1" revision commit))
8125 (source
8126 (origin
8127 (method git-fetch)
8128 (uri (git-reference
8129 (url "https://github.com/mkcms/ivy-yasnippet")
8130 (commit commit)))
8131 (file-name (git-file-name name version))
8132 (sha256
8133 (base32
8134 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
8135 (build-system emacs-build-system)
8136 (propagated-inputs
8137 `(("emacs-ivy" ,emacs-ivy)
8138 ("emacs-yasnippet" ,emacs-yasnippet)
8139 ("emacs-dash" ,emacs-dash)))
8140 (home-page "https://github.com/mkcms/ivy-yasnippet")
8141 (synopsis "Preview @code{yasnippets} with @code{ivy}")
8142 (description "This package allows you to select @code{yasnippet}
8143 snippets using @code{ivy} completion. When current selection changes in the
8144 minibuffer, the snippet contents are temporarily expanded in the buffer. To
8145 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
8146 @code{yas-minor-mode} first).")
8147 (license license:gpl3+))))
8148
8149 ;; The 0.1.6 release is incompatible with newer ivy versions, so we instead
8150 ;; pick a more recent snapshot of the repository, see
8151 ;; https://github.com/Yevgnen/ivy-rich/pull/80.
8152 (define-public emacs-ivy-rich
8153 (let ((commit "7b9b7b20c3ead81da90232cd6707dfad3c1f1eb3")
8154 (revision "1"))
8155 (package
8156 (name "emacs-ivy-rich")
8157 (version (git-version "0.1.6" revision commit))
8158 (source
8159 (origin
8160 (method git-fetch)
8161 (uri (git-reference
8162 (url "https://github.com/Yevgnen/ivy-rich")
8163 (commit commit)))
8164 (file-name (git-file-name name version))
8165 (sha256
8166 (base32 "03p13z609ighdq4axls93alqfl7pclx12g4vdd7lwpcy0r0cgyf8"))))
8167 (build-system emacs-build-system)
8168 (propagated-inputs
8169 `(("emacs-ivy" ,emacs-ivy)))
8170 (home-page "https://github.com/Yevgnen/ivy-rich")
8171 (synopsis "More friendly interface for @code{ivy}")
8172 (description
8173 "This package extends Ivy by showing more information in the minibuffer
8174 for each candidate. It adds columns showing buffer modes, file sizes,
8175 docstrings, etc. If @code{emacs-all-the-icons} is installed, it can show
8176 icons as well.")
8177 (license license:gpl3+))))
8178
8179 (define-public emacs-avy
8180 (package
8181 (name "emacs-avy")
8182 (version "0.5.0")
8183 (source
8184 (origin
8185 (method git-fetch)
8186 (uri (git-reference
8187 (url "https://github.com/abo-abo/avy")
8188 (commit version)))
8189 (file-name (git-file-name name version))
8190 (sha256
8191 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
8192 (build-system emacs-build-system)
8193 (arguments
8194 `(#:tests? #t
8195 #:test-command '("make" "test")))
8196 (home-page "https://github.com/abo-abo/avy")
8197 (synopsis "Tree-based completion for Emacs")
8198 (description
8199 "This package provides a generic completion method based on building a
8200 balanced decision tree with each candidate being a leaf. To traverse the tree
8201 from the root to a desired leaf, typically a sequence of @code{read-key} can
8202 be used.
8203
8204 In order for @code{read-key} to make sense, the tree needs to be visualized
8205 appropriately, with a character at each branch node. So this completion
8206 method works only for things that you can see on your screen, all at once,
8207 such as the positions of characters, words, line beginnings, links, or
8208 windows.")
8209 (license license:gpl3+)))
8210
8211 (define-public emacs-ace-window
8212 (package
8213 (name "emacs-ace-window")
8214 (version "0.10.0")
8215 (source
8216 (origin
8217 (method git-fetch)
8218 (uri (git-reference
8219 (url "https://github.com/abo-abo/ace-window")
8220 (commit version)))
8221 (file-name (git-file-name name version))
8222 (sha256
8223 (base32
8224 "0f3r40d5yxp2pm2j0nn86s29nqj8py0jxjbj50v4ci3hsd92d8jl"))))
8225 (build-system emacs-build-system)
8226 (propagated-inputs
8227 `(("emacs-avy" ,emacs-avy)))
8228 (home-page "https://github.com/abo-abo/ace-window")
8229 (synopsis "Quickly switch windows in Emacs")
8230 (description
8231 "@code{ace-window} is meant to replace @code{other-window}.
8232 In fact, when there are only two windows present, @code{other-window} is
8233 called. If there are more, each window will have its first character
8234 highlighted. Pressing that character will switch to that window.")
8235 (license license:gpl3+)))
8236
8237 (define-public emacs-windsize
8238 ;; There is no proper release. The base version is extracted from the
8239 ;; "Version" keyword in the main file.
8240 (let ((revision "1")
8241 (commit "62c2846bbe95b0a73e996c75e4a644d05f57aaaa"))
8242 (package
8243 (name "emacs-windsize")
8244 (version (git-version "0.1" revision commit))
8245 (source
8246 (origin
8247 (method git-fetch)
8248 (uri (git-reference
8249 (url "https://github.com/grammati/windsize")
8250 (commit commit)))
8251 (file-name (git-file-name name version))
8252 (sha256
8253 (base32 "13kfrmv3vmkfanxv9nym5v43hx5p7xkgqmx65zcxh4gcbaham1mi"))))
8254 (build-system emacs-build-system)
8255 (home-page "https://github.com/grammati/windsize")
8256 (synopsis "Easy resizing of Emacs windows")
8257 (description
8258 "This package allows moving the borders of the active window
8259 with the arrow keys. It prefers to move the right or bottom border when
8260 possible, and falls back to moving the left or top border otherwise.")
8261 (license license:gpl3+))))
8262
8263 (define-public emacs-window-purpose
8264 (let ((commit "f6421966761ad911fe8861aba2b110c5dd60d1ea")
8265 (revision "1"))
8266 (package
8267 (name "emacs-window-purpose")
8268 (version (git-version "1.7" revision commit))
8269 (source
8270 (origin
8271 (method git-fetch)
8272 (uri (git-reference
8273 (url "https://github.com/bmag/emacs-purpose.git")
8274 (commit commit)))
8275 (file-name (git-file-name name version))
8276 (sha256
8277 (base32
8278 "1p0y5gnrw7q65py2wjdf1hrdpiw5c2zbgvfbfmb13257jq5mga38"))))
8279 (build-system emacs-build-system)
8280 (propagated-inputs
8281 `(("emacs-let-alist" ,emacs-let-alist)
8282 ("emacs-imenu-list" ,emacs-imenu-list)))
8283 (arguments
8284 '(#:include
8285 '("^[^/]+.el$"
8286 "^[^/]+.el.in$"
8287 "^dir$"
8288 "^[^/]+.info$"
8289 "^[^/]+.texi$"
8290 "^[^/]+.texinfo$"
8291 "^doc/dir$"
8292 "^doc/[^/]+.info$"
8293 "^doc/[^/]+.texi$"
8294 "^doc/[^/]+.texinfo$"
8295 "^layouts$")
8296 #:exclude
8297 '("^.dir-locals.el$"
8298 "^test.el$"
8299 "^tests.el$"
8300 "^[^/]+-test.el$"
8301 "^[^/]+-tests.el$")))
8302 (home-page "https://github.com/bmag/emacs-purpose")
8303 (synopsis "Purpose-based window management for Emacs")
8304 (description "Purpose is a package that introduces the concept of a
8305 \"purpose\" for windows and buffers, and then helps you maintain a robust
8306 window layout easily.")
8307 (license license:gpl3+))))
8308
8309 (define-public emacs-iedit
8310 ;; Last release version was in 2016.
8311 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
8312 (revision "1"))
8313 (package
8314 (name "emacs-iedit")
8315 (version (git-version "0.9.9.9" revision commit))
8316 (source
8317 (origin
8318 (method git-fetch)
8319 (uri (git-reference
8320 (url "https://github.com/victorhge/iedit")
8321 (commit commit)))
8322 (file-name (git-file-name name version))
8323 (sha256
8324 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
8325 (build-system emacs-build-system)
8326 (home-page "https://www.emacswiki.org/emacs/Iedit")
8327 (synopsis "Edit multiple regions in the same way simultaneously")
8328 (description
8329 "This package is an Emacs minor mode and allows you to edit one
8330 occurrence of some text in a buffer (possibly narrowed) or region, and
8331 simultaneously have other occurrences edited in the same way.
8332
8333 You can also use Iedit mode as a quick way to temporarily show only the buffer
8334 lines that match the current text being edited. This gives you the effect of
8335 a temporary @code{keep-lines} or @code{occur}.")
8336 (license license:gpl3+))))
8337
8338 (define-public emacs-zoutline
8339 (package
8340 (name "emacs-zoutline")
8341 (version "0.2.0")
8342 (source
8343 (origin
8344 (method git-fetch)
8345 (uri (git-reference
8346 (url "https://github.com/abo-abo/zoutline")
8347 (commit version)))
8348 (sha256
8349 (base32
8350 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
8351 (file-name (git-file-name name version))))
8352 (build-system emacs-build-system)
8353 (home-page "https://github.com/abo-abo/zoutline")
8354 (synopsis "Simple outline library")
8355 (description
8356 "This library provides helpers for outlines. Outlines allow users to
8357 navigate code in a tree-like fashion.")
8358 (license license:gpl3+)))
8359
8360 (define-public emacs-lispy
8361 ;; No release since May 2019 and tons of fixes have landed on master.
8362 ;; https://github.com/abo-abo/lispy/issues/513
8363 (let ((commit "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58"))
8364 (package
8365 (name "emacs-lispy")
8366 (version (git-version "0.27.0" "2" commit))
8367 (home-page "https://github.com/abo-abo/lispy")
8368 (source (origin
8369 (method git-fetch)
8370 (uri (git-reference
8371 (url "https://github.com/abo-abo/lispy")
8372 (commit commit)))
8373 (sha256
8374 (base32
8375 "1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs"))
8376 (file-name (git-file-name name version))))
8377 (build-system emacs-build-system)
8378 (propagated-inputs
8379 `(("emacs-ace-window" ,emacs-ace-window)
8380 ("emacs-hydra" ,emacs-hydra)
8381 ("emacs-iedit" ,emacs-iedit)
8382 ("emacs-swiper" ,emacs-swiper)
8383 ("emacs-zoutline" ,emacs-zoutline)))
8384 (native-inputs
8385 `(("which" ,which)
8386 ("emacs-clojure-mode" ,emacs-clojure-mode)
8387 ("emacs-undercover" ,emacs-undercover)))
8388 (arguments
8389 `(#:include (cons* "^lispy-clojure\\.clj$"
8390 "^lispy-python\\.py$"
8391 %default-include)
8392 #:phases
8393 ;; XXX: Some failing tests
8394 (modify-phases %standard-phases
8395 (add-before 'check 'make-test-writable
8396 (lambda _
8397 (make-file-writable "lispy-test.el")
8398 #t))
8399 (add-before 'check 'remove-failing-test
8400 (lambda _
8401 (emacs-batch-edit-file "lispy-test.el"
8402 `(progn
8403 (dolist (test '("lispy-eval-python-str" "lispy--clojure-dot-object"))
8404 (goto-char (point-min))
8405 (re-search-forward
8406 (concat "ert-deftest " test))
8407 (beginning-of-line)
8408 (kill-sexp))
8409 (basic-save-buffer)))
8410 #t)))
8411 #:tests? #t
8412 ;; Set BEMACS to prevent the test suite from loading straight.el.
8413 #:test-command '("make" "test" "BEMACS=emacs -batch")))
8414 (synopsis "Modal S-expression editing")
8415 (description
8416 "Due to the structure of Lisp syntax it's very rare for the programmer
8417 to want to insert characters right before \"(\" or right after \")\". Thus
8418 unprefixed printable characters can be used to call commands when the point is
8419 at one of these special locations. Lispy provides unprefixed keybindings for
8420 S-expression editing when point is at the beginning or end of an
8421 S-expression.")
8422 (license license:gpl3+))))
8423
8424 (define-public emacs-lispyville
8425 (let ((commit "89316f01822b2135e52ca27fd308d207ef618052")
8426 (revision "3"))
8427 (package
8428 (name "emacs-lispyville")
8429 (version (git-version "0.1" revision commit))
8430 (home-page "https://github.com/noctuid/lispyville")
8431 (source (origin
8432 (method git-fetch)
8433 (uri (git-reference (url home-page) (commit commit)))
8434 (sha256
8435 (base32
8436 "10k3hxxpx2v2k4dyad7j1bzmr1q7rzvv4y6c67pa9zcqyaw8m91v"))
8437 (file-name (git-file-name name version))))
8438 (propagated-inputs
8439 `(("emacs-evil" ,emacs-evil)
8440 ("emacs-lispy" ,emacs-lispy)))
8441 (build-system emacs-build-system)
8442 (synopsis "Minor mode for integrating Evil with lispy")
8443 (description
8444 "LispyVille's main purpose is to provide a Lisp editing environment
8445 suited towards Evil users. It can serve as a minimal layer on top of lispy
8446 for better integration with Evil, but it does not require the use of lispy’s
8447 keybinding style. The provided commands allow for editing Lisp in normal
8448 state and will work even without lispy being enabled.")
8449 (license license:gpl3+))))
8450
8451 (define-public emacs-lpy
8452 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
8453 (revision "3"))
8454 (package
8455 (name "emacs-lpy")
8456 (version (git-version "0.1.0" revision commit))
8457 (source
8458 (origin
8459 (method git-fetch)
8460 (uri (git-reference
8461 (url "https://github.com/abo-abo/lpy")
8462 (commit commit)))
8463 (sha256
8464 (base32
8465 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
8466 (file-name (git-file-name name version))))
8467 (propagated-inputs
8468 `(("emacs-zoutline" ,emacs-zoutline)
8469 ("emacs-lispy" ,emacs-lispy)))
8470 (build-system emacs-build-system)
8471 (home-page "https://github.com/abo-abo/lpy")
8472 (synopsis "Modal editing for Python")
8473 (description
8474 "This package provides a minor mode for Python that binds useful
8475 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
8476 circumstances, and leaves the keys untouched outside of those situations,
8477 allowing unprefixed keys to insert their respective characters as expected.")
8478 (license license:gpl3+))))
8479
8480 (define-public emacs-clojure-mode
8481 (package
8482 (name "emacs-clojure-mode")
8483 (version "5.12.0")
8484 (source
8485 (origin
8486 (method git-fetch)
8487 (uri (git-reference
8488 (url "https://github.com/clojure-emacs/clojure-mode")
8489 (commit version)))
8490 (file-name (git-file-name name version))
8491 (sha256
8492 (base32 "14ipfy9ji39pnb9x7bzjp8lyqyxk168fx017m823j7a2g9i0sgp3"))))
8493 (build-system emacs-build-system)
8494 (native-inputs
8495 `(("emacs-buttercup" ,emacs-buttercup)
8496 ("emacs-dash" ,emacs-dash)
8497 ("emacs-paredit" ,emacs-paredit)
8498 ("emacs-s" ,emacs-s)))
8499 (arguments
8500 `(#:tests? #t
8501 #:test-command '("buttercup")
8502 #:phases
8503 (modify-phases %standard-phases
8504 (add-before 'check 'fix-tests
8505 ;; See: https://github.com/clojure-emacs/clojure-mode/issues/568
8506 (lambda _
8507 (substitute* "clojure-mode.el"
8508 (("\\(list \\(cdr project\\)\\)" line)
8509 (string-append "\"Return the list of directory roots of the PROJECT.\"\n"
8510 line)))
8511 #t)))))
8512 (home-page "https://github.com/clojure-emacs/clojure-mode")
8513 (synopsis "Major mode for Clojure code")
8514 (description
8515 "This Emacs package provides font-lock, indentation, navigation and basic
8516 refactoring for the @uref{http://clojure.org, Clojure programming language}.
8517 It is recommended to use @code{clojure-mode} with Paredit or Smartparens.")
8518 (license license:gpl3+)))
8519
8520 (define-public emacs-epl
8521 (package
8522 (name "emacs-epl")
8523 (version "0.9")
8524 (source
8525 (origin
8526 (method git-fetch)
8527 (uri (git-reference
8528 (url "https://github.com/cask/epl")
8529 (commit version)))
8530 (file-name (git-file-name name version))
8531 (sha256
8532 (base32 "0d3z5z90ln8ipk1yds1n1p8fj9yyh2kpspqjs7agl38indra3nb4"))))
8533 (build-system emacs-build-system)
8534 (home-page "https://github.com/cask/epl")
8535 (synopsis "Emacs Package Library")
8536 (description
8537 "A package management library for Emacs, based on @code{package.el}.
8538
8539 The purpose of this library is to wrap all the quirks and hassle of
8540 @code{package.el} into a sane API.")
8541 (license license:gpl3+)))
8542
8543 (define-public emacs-counsel-jq
8544 (let ((release "1.0.0")
8545 (revision "0")
8546 (commit "aaf33fc2447096cd0d03b77395fe2a95c9fe1481"))
8547 (package
8548 (name "emacs-counsel-jq")
8549 (version (git-version release revision commit))
8550 (home-page "https://github.com/200ok-ch/counsel-jq")
8551 (source
8552 (origin
8553 (method git-fetch)
8554 (uri (git-reference
8555 (url home-page)
8556 (commit commit)))
8557 (file-name (git-file-name name version))
8558 (sha256
8559 (base32 "10rz0qm8a4bl0m86kx19zq8lri047p4sxqyny08bgm9pbam0wvwn"))))
8560 (build-system emacs-build-system)
8561 (propagated-inputs
8562 `(("emacs-swiper" ,emacs-swiper)
8563 ("jq" ,jq)))
8564 (synopsis "Live preview @code{jq} queries using counsel")
8565 (description
8566 "This Emacs package provides the ability to live preview @code{jq}
8567 queries using counsel.")
8568 (license license:gpl3+))))
8569
8570 (define-public emacs-counsel-notmuch
8571 ;; Upstream provides no release. Extract version for main file.
8572 (let ((commit "a4a1562935e4180c42524c51609d1283e9be0688")
8573 (revision "0"))
8574 (package
8575 (name "emacs-counsel-notmuch")
8576 (version (git-version "1.0" revision commit))
8577 (source
8578 (origin
8579 (method git-fetch)
8580 (uri (git-reference
8581 (url "https://github.com/fuxialexander/counsel-notmuch")
8582 (commit commit)))
8583 (file-name (git-file-name name version))
8584 (sha256
8585 (base32 "01k1321d961kc2i660a5595bqk0d85f16snsxngsn5si6y83kqr7"))))
8586 (build-system emacs-build-system)
8587 (arguments
8588 `(#:phases
8589 (modify-phases %standard-phases
8590 (add-after 'unpack 'locate-notmuch
8591 (lambda* (#:key inputs #:allow-other-keys)
8592 (make-file-writable "counsel-notmuch.el")
8593 (emacs-substitute-variables "counsel-notmuch.el"
8594 ("counsel-notmuch-path"
8595 (string-append (assoc-ref inputs "notmuch")
8596 "/bin/notmuch")))
8597 #t)))))
8598 (inputs
8599 `(("emacs-counsel" ,emacs-counsel)
8600 ("notmuch" ,notmuch)
8601 ("emacs-s" ,emacs-s)))
8602 (home-page "https://github.com/fuxialexander/counsel-notmuch")
8603 (synopsis "Search emails in Notmuch asynchronously with Ivy")
8604 (description
8605 "This package can be used to search emails in Notmuch
8606 asynchronously, with Counsel and Ivy. Simply call
8607 @code{counsel-notmuch} and input your Notmuch query.")
8608 (license license:gpl3+))))
8609
8610 (define-public emacs-counsel-projectile
8611 (package
8612 (name "emacs-counsel-projectile")
8613 (version "0.3.1")
8614 (source (origin
8615 (method git-fetch)
8616 (uri (git-reference
8617 (url "https://github.com/ericdanan/counsel-projectile")
8618 (commit version)))
8619 (file-name (git-file-name name version))
8620 (sha256
8621 (base32
8622 "1k4n5lw6wwbgpwv0dg9dw0bjzi0hvbgkzrs1zmq36yhfz6y8gwnh"))))
8623 (build-system emacs-build-system)
8624 (propagated-inputs
8625 `(("emacs-counsel" ,emacs-counsel)
8626 ("emacs-projectile" ,emacs-projectile)))
8627 (home-page "https://github.com/ericdanan/counsel-projectile")
8628 (synopsis "Enhance Projectile with Ivy")
8629 (description
8630 "This package uses Ivy to provide additional actions for Projectile
8631 commands and replacements for existing functions.")
8632 (license license:gpl3+)))
8633
8634 (define-public emacs-qml-mode
8635 (package
8636 (name "emacs-qml-mode")
8637 (version "0.4")
8638 (source (origin
8639 (method git-fetch)
8640 (uri (git-reference
8641 (url "https://github.com/coldnew/qml-mode")
8642 (commit version)))
8643 (file-name (git-file-name name version))
8644 (sha256
8645 (base32
8646 "1sncsvzjfgmhp4m8w5jd4y51k24n2jfpgvrkd64wlhhzbj3wb947"))))
8647 (build-system emacs-build-system)
8648 (home-page "https://github.com/coldnew/qml-mode/")
8649 (synopsis "Qt Modeling Language (QML) mode for Emacs")
8650 (description "This package provides the @code{qml-mode} major Emacs mode
8651 for editing source files written in the Qt Modeling Language (QML) user
8652 interface markup language. It provides syntax highlighting and basic
8653 navigation commands. @code{qml-mode} is derived from code{js-mode}, the Emacs
8654 builtin JavaScript mode.")
8655 (license license:gpl2+)))
8656
8657 (define-public emacs-queue
8658 (package
8659 (name "emacs-queue")
8660 (version "0.2")
8661 (source (origin
8662 (method url-fetch)
8663 (uri (string-append "https://elpa.gnu.org/packages/queue-"
8664 version ".el"))
8665 (sha256
8666 (base32
8667 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
8668 (build-system emacs-build-system)
8669 (home-page "https://www.dr-qubit.org/emacs_data-structures.html")
8670 (synopsis "Queue data structure for Emacs")
8671 (description
8672 "This Emacs library provides queue data structure. These queues can be
8673 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
8674 stack, i.e. elements can be added to the front or back of the queue, and can
8675 be removed from the front. This type of data structure is sometimes called an
8676 \"output-restricted deque\".")
8677 (license license:gpl3+)))
8678
8679 (define-public emacs-quickrun
8680 (package
8681 (name "emacs-quickrun")
8682 (version "2.3.1")
8683 (source
8684 (origin
8685 (method git-fetch)
8686 (uri (git-reference
8687 (url "https://github.com/emacsorphanage/quickrun")
8688 (commit version)))
8689 (sha256
8690 (base32 "0a1n2v09h0n7d9p2izflqqang4ny0b46dlqvmxvkkik4bb6f4wcz"))
8691 (file-name (git-file-name name version))))
8692 (build-system emacs-build-system)
8693 (home-page "https://github.com/emacsorphanage/quickrun")
8694 (synopsis "Execute editing buffer and show its output quickly")
8695 (description
8696 "This package evaluates the content of a buffer, or region, and displays
8697 the result. Quickrun executes not only script languages (Perl, Ruby, Python
8698 etc), but also compiling languages (C, C++, Go, Java etc) and markup
8699 languages.")
8700 (license license:gpl3+)))
8701
8702 (define-public emacs-pkg-info
8703 (package
8704 (name "emacs-pkg-info")
8705 (version "0.6")
8706 (source
8707 (origin
8708 (method git-fetch)
8709 (uri (git-reference
8710 (url "https://github.com/lunaryorn/pkg-info.el")
8711 (commit version)))
8712 (file-name (git-file-name name version))
8713 (sha256
8714 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
8715 (build-system emacs-build-system)
8716 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
8717 (home-page "https://github.com/lunaryorn/pkg-info.el")
8718 (synopsis "Information about Emacs packages")
8719 (description
8720 "This library extracts information from the installed Emacs packages.")
8721 (license license:gpl3+)))
8722
8723 (define-public emacs-spinner
8724 (package
8725 (name "emacs-spinner")
8726 (version "1.7.3")
8727 (source (origin
8728 (method url-fetch)
8729 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
8730 version ".el"))
8731 (sha256
8732 (base32
8733 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
8734 (build-system emacs-build-system)
8735 (home-page "https://github.com/Malabarba/spinner.el")
8736 (synopsis "Emacs mode-line spinner for operations in progress")
8737 (description
8738 "This Emacs package adds spinners and progress-bars to the mode-line for
8739 ongoing operations.")
8740 (license license:gpl3+)))
8741
8742 (define-public emacs-sparql-mode
8743 (package
8744 (name "emacs-sparql-mode")
8745 (version "4.0.2")
8746 (source
8747 (origin
8748 (method git-fetch)
8749 (uri (git-reference
8750 (url "https://github.com/ljos/sparql-mode")
8751 (commit (string-append "v" version))))
8752 (file-name (git-file-name name version))
8753 (sha256
8754 (base32 "0hqp8r24wvzrkl630wbm0lynrcrnawv2yn2a3xgwqwwhwgva35rn"))))
8755 (build-system emacs-build-system)
8756 (propagated-inputs
8757 `(("emacs-company" ,emacs-company)))
8758 (home-page "https://github.com/ljos/sparql-mode")
8759 (synopsis "SPARQL mode for Emacs")
8760 (description
8761 "This package is a major mode for Emacs that provides syntax highlighting
8762 for SPARQL. It can also execute queries against a SPARQL HTTP endpoint, such
8763 as Fuseki or DBPedia.")
8764 (license license:gpl3+)))
8765
8766 (define-public emacs-better-defaults
8767 (package
8768 (name "emacs-better-defaults")
8769 (version "0.1.3")
8770 (source
8771 (origin
8772 (method git-fetch)
8773 (uri (git-reference
8774 (url "https://github.com/technomancy/better-defaults")
8775 (commit version)))
8776 (file-name (git-file-name name version))
8777 (sha256
8778 (base32
8779 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
8780 (build-system emacs-build-system)
8781 (home-page "https://github.com/technomancy/better-defaults")
8782 (synopsis "Better defaults for Emacs")
8783 (description
8784 "Better defaults attempts to address the most obvious deficiencies of the
8785 Emacs default configuration in uncontroversial ways that nearly everyone can
8786 agree upon.")
8787 (license license:gpl3+)))
8788
8789 (define-public emacs-undohist-el
8790 (package
8791 (name "emacs-undohist-el")
8792 (version "0.2.1")
8793 (source
8794 (origin
8795 (method git-fetch)
8796 (uri (git-reference
8797 (url "https://github.com/m2ym/undohist-el")
8798 (commit version)))
8799 (file-name (git-file-name name version))
8800 (sha256
8801 (base32 "0hmx2b20nrxg2lb8vplgrzdh8chgxwlbmjvbq5scddggd302sd56"))))
8802 (build-system emacs-build-system)
8803 (home-page "https://github.com/m2ym/undohist-el")
8804 (synopsis "Save undo history between sessions")
8805 (description "This package allows persistent use of undo history for
8806 individual file buffers.")
8807 (license license:gpl3+)))
8808
8809 (define-public emacs-eprime
8810 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
8811 (package
8812 (name "emacs-eprime")
8813 (version (string-append "20140513-" (string-take commit 7)))
8814 (source (origin
8815 (method url-fetch)
8816 (uri (string-append "https://raw.githubusercontent.com"
8817 "/AndrewHynes/eprime-mode/"
8818 commit "/eprime-mode.el"))
8819 (file-name (string-append "eprime-" version ".el"))
8820 (sha256
8821 (base32
8822 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
8823 (build-system emacs-build-system)
8824 (home-page "https://github.com/AndrewHynes/eprime-mode")
8825 (synopsis "E-prime checking mode for Emacs")
8826 (description "This package provides an E-prime checking mode for Emacs
8827 that highlights non-conforming text. The subset of the English language called
8828 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
8829 (license license:gpl3+))))
8830
8831 (define-public emacs-julia-mode
8832 (package
8833 (name "emacs-julia-mode")
8834 (version "0.4")
8835 (source
8836 (origin
8837 (method git-fetch)
8838 (uri (git-reference
8839 (url "https://github.com/JuliaEditorSupport/julia-emacs")
8840 (commit version)))
8841 (file-name (git-file-name name version))
8842 (sha256
8843 (base32
8844 "1w131jb9mhvyjxa0p93iwfhzidgbcs6b8i6jg79yisqb9wchik99"))))
8845 (build-system emacs-build-system)
8846 (arguments
8847 `(#:tests? #t
8848 #:test-command '("emacs" "--batch"
8849 "-l" "julia-mode-tests.el"
8850 "-f" "ert-run-tests-batch-and-exit")))
8851 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
8852 (synopsis "Major mode for Julia")
8853 (description "This Emacs package provides a mode for the Julia
8854 programming language.")
8855 (license license:expat)))
8856
8857 (define-public emacs-julia-repl
8858 (package
8859 (name "emacs-julia-repl")
8860 (version "1.3.0")
8861 (source (origin
8862 (method git-fetch)
8863 (uri (git-reference
8864 (url "https://github.com/tpapp/julia-repl")
8865 (commit version)))
8866 (file-name (git-file-name name version))
8867 (sha256
8868 (base32
8869 "11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm"))))
8870 (build-system emacs-build-system)
8871 (home-page "https://github.com/tpapp/julia-repl")
8872 (synopsis "Minor mode for interacting with a Julia REPL")
8873 (description "This package provides a minor mode for interacting with a
8874 Julia REPL running inside Emacs. The julia process is started in an ANSI
8875 terminal (term), which allows text formatting and colors, and interaction with
8876 the help system and the debugger. It is recommended that you use this minor
8877 mode with the package emacs-julia-mode.")
8878 (license license:expat)))
8879
8880 (define-public emacs-julia-snail
8881 (package
8882 (name "emacs-julia-snail")
8883 (version "1.0.0rc4") ;rc5 requires CSTParser (julia package)
8884 (source (origin
8885 (method git-fetch)
8886 (uri (git-reference
8887 (url "https://github.com/gcv/julia-snail")
8888 (commit version)))
8889 (file-name (git-file-name name version))
8890 (sha256
8891 (base32
8892 "065ix3jycsx3wvkq7a6060i93caxisdvgxgqb1l6rq15n4qln78y"))))
8893 (build-system emacs-build-system)
8894 (arguments
8895 `(#:phases
8896 (modify-phases %standard-phases
8897 (add-after 'install 'JuliaSnail-jl
8898 (lambda* (#:key outputs #:allow-other-keys)
8899 (let ((out (assoc-ref outputs "out")))
8900 (install-file "JuliaSnail.jl"
8901 (string-append out "/share/emacs/site-lisp/")))
8902 #t)))))
8903 (inputs
8904 `(("emacs-dash" ,emacs-dash)
8905 ("emacs-s" ,emacs-s)
8906 ("emacs-spinner" ,emacs-spinner)
8907 ("emacs-xref" ,emacs-xref)))
8908 (propagated-inputs
8909 `(("libvterm" ,libvterm)
8910 ("emacs-julia-mode" ,emacs-julia-mode) ;required by parser
8911 ("emacs-parsec" ,emacs-parsec) ;required by parser
8912 ("emacs-vterm" ,emacs-vterm)))
8913 (home-page "https://github.com/gcv/julia-snail")
8914 (synopsis "Development environment and REPL interaction package for Julia")
8915 (description "This package provides a development environment and REPL
8916 interaction package for Julia in the spirit of Common Lisp’s SLIME and
8917 Clojure’s CIDER. It enables convenient and dynamic REPL-driven development.")
8918 (license license:gpl3)))
8919
8920 (define-public emacs-smex
8921 (package
8922 (name "emacs-smex")
8923 (version "3.0")
8924 (source (origin
8925 (method url-fetch)
8926 (uri (string-append "https://raw.githubusercontent.com"
8927 "/nonsequitur/smex/" version "/smex.el"))
8928 (file-name (string-append "smex-" version ".el"))
8929 (sha256
8930 (base32
8931 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
8932 (build-system emacs-build-system)
8933 (home-page "https://github.com/nonsequitur/smex/")
8934 (synopsis "M-x interface with Ido-style fuzzy matching")
8935 (description
8936 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
8937 convenient interface to your recently and most frequently used commands. And
8938 to all the other commands, too.")
8939 (license license:gpl3+)))
8940
8941 (define-public emacs-js2-mode
8942 (package
8943 (name "emacs-js2-mode")
8944 (version "20201220")
8945 (source
8946 (origin
8947 (method git-fetch)
8948 (uri (git-reference
8949 (url "https://github.com/mooz/js2-mode")
8950 (commit version)))
8951 (file-name (git-file-name name version))
8952 (sha256
8953 (base32 "00jy917cgp5xzfgs4m0spzlbqk8mg63layin8nxmn2647rfjnik4"))))
8954 (build-system emacs-build-system)
8955 (arguments
8956 `(#:tests? #t
8957 #:test-command '("make" "test")))
8958 (home-page "https://github.com/mooz/js2-mode/")
8959 (synopsis "Improved JavaScript editing mode for Emacs")
8960 (description
8961 "Js2-mode provides a JavaScript major mode for Emacs that is more
8962 advanced than the built-in javascript-mode. Features include accurate syntax
8963 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
8964 errors and strict-mode warnings, smart line-wrapping within comments and
8965 strings, and code folding.")
8966 (license license:gpl3+)))
8967
8968 (define-public emacs-nodejs-repl
8969 (package
8970 (name "emacs-nodejs-repl")
8971 (version "0.2.4")
8972 (source (origin
8973 (method git-fetch)
8974 (uri (git-reference
8975 (url "https://github.com/abicky/nodejs-repl.el")
8976 (commit version)))
8977 (file-name (git-file-name name version))
8978 (sha256
8979 (base32
8980 "0a5mmg3cmdi73giblp07ksl06xzl9nb2m3f96ny4r3rv0ar3v1bx"))))
8981 (build-system emacs-build-system)
8982 (inputs
8983 `(("node" ,node)))
8984 (native-inputs
8985 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
8986 (arguments
8987 `(#:phases
8988 (modify-phases %standard-phases
8989 (add-after 'unpack 'set-shell
8990 ;; Setting the SHELL environment variable is required for the tests
8991 ;; to find sh.
8992 (lambda _
8993 (setenv "SHELL" (which "sh"))
8994 #t))
8995 (add-after 'unpack 'configure
8996 (lambda* (#:key inputs outputs #:allow-other-keys)
8997 (let ((node (assoc-ref inputs "node")))
8998 ;; Specify the absolute file names of the various
8999 ;; programs so that everything works out-of-the-box.
9000 (make-file-writable "nodejs-repl.el")
9001 (emacs-substitute-variables
9002 "nodejs-repl.el"
9003 ("nodejs-repl-command"
9004 (string-append node "/bin/node")))))))
9005 #:tests? #t
9006 #:test-command '("emacs" "-Q" "--batch"
9007 "-L" "."
9008 "-l" "test/test.el"
9009 "-f" "ert-run-tests-batch-and-exit")))
9010 (home-page "https://github.com/abicky/nodejs-repl.el")
9011 (synopsis "Node.js REPL inside Emacs")
9012 (description
9013 "This program is derived from comint-mode and provides the following
9014 features:
9015
9016 @itemize
9017 @item TAB completion same as Node.js REPL
9018 @item file name completion in string
9019 @item incremental history search
9020 @end itemize")
9021 (license license:gpl3+)))
9022
9023 (define-public emacs-typescript-mode
9024 (package
9025 (name "emacs-typescript-mode")
9026 (version "0.3")
9027 (source (origin
9028 (method git-fetch)
9029 (uri (git-reference
9030 (url "https://github.com/ananthakumaran/typescript.el")
9031 (commit (string-append "v" version))))
9032 (file-name (git-file-name name version))
9033 (sha256
9034 (base32
9035 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
9036 (build-system emacs-build-system)
9037 (home-page "https://github.com/ananthakumaran/typescript.el")
9038 (synopsis "Emacs major mode for editing Typescript code")
9039 (description
9040 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
9041 This is much more robust and works with @code{cc-mode}'s comment
9042 filling (mostly). The modifications to the original @code{javascript.el} mode
9043 mainly consisted in replacing \"javascript\" with \"typescript\"
9044
9045 The main features of this Typescript mode are syntactic highlighting (enabled
9046 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
9047 indentation and filling of comments and C preprocessor fontification.")
9048 (license license:gpl3+)))
9049
9050 (define-public emacs-tide
9051 (package
9052 (name "emacs-tide")
9053 (version "4.0.2")
9054 (source (origin
9055 (method git-fetch)
9056 (uri (git-reference
9057 (url "https://github.com/ananthakumaran/tide")
9058 (commit (string-append "v" version))))
9059 (file-name (git-file-name name version))
9060 (sha256
9061 (base32
9062 "1n2dihpl53a48jis3l4rry581wpr5lxjd433drlkaa4lqgx8cw67"))))
9063 (build-system emacs-build-system)
9064 (propagated-inputs
9065 `(("emacs-dash" ,emacs-dash)
9066 ("emacs-s" ,emacs-s)
9067 ("emacs-flycheck" ,emacs-flycheck)
9068 ("emacs-typescript-mode" ,emacs-typescript-mode)))
9069 (home-page "https://github.com/ananthakumaran/tide")
9070 (synopsis "Typescript IDE for Emacs")
9071 (description
9072 "Tide is an Interactive Development Environment (IDE) for Emacs which
9073 provides the following features:
9074
9075 @itemize
9076 @item ElDoc
9077 @item Auto complete
9078 @item Flycheck
9079 @item Jump to definition, Jump to type definition
9080 @item Find occurrences
9081 @item Rename symbol
9082 @item Imenu
9083 @item Compile On Save
9084 @item Highlight Identifiers
9085 @item Code Fixes
9086 @item Code Refactor
9087 @item Organize Imports
9088 @end itemize")
9089 (license license:gpl3+)))
9090
9091 (define-public emacs-markdown-mode
9092 (package
9093 (name "emacs-markdown-mode")
9094 (version "2.4")
9095 (source
9096 (origin
9097 (method git-fetch)
9098 (uri (git-reference
9099 (url "https://github.com/jrblevin/markdown-mode")
9100 (commit (string-append "v" version))))
9101 (file-name (git-file-name name version))
9102 (sha256
9103 (base32 "0g0ja4h651yfabm3k6gbw4y8w7wibc9283fyfzb33kjj38ivl5d7"))))
9104 (build-system emacs-build-system)
9105 (home-page "https://jblevins.org/projects/markdown-mode/")
9106 (synopsis "Emacs Major mode for Markdown files")
9107 (description
9108 "Markdown-mode is a major mode for editing Markdown-formatted text files
9109 in Emacs.")
9110 (license license:gpl3+)))
9111
9112 (define-public emacs-evil-markdown
9113 (let ((commit "685d7fbb81bc02fa32779d2a127b99a0c8c7436b")
9114 (revision "2"))
9115 (package
9116 (name "emacs-evil-markdown")
9117 (version (git-version "0.0.2" revision commit))
9118 (source
9119 (origin
9120 (method git-fetch)
9121 (uri (git-reference
9122 (url "https://github.com/Somelauw/evil-markdown")
9123 (commit commit)))
9124 (file-name (git-file-name name version))
9125 (sha256
9126 (base32 "1z1sjn6dcqv8mmkh6nfcwhnql2z6xr9yx3hs77bfxj79pf3c466p"))))
9127 (build-system emacs-build-system)
9128 (propagated-inputs
9129 `(("emacs-evil" ,emacs-evil)
9130 ("emacs-markdown-mode" ,emacs-markdown-mode)))
9131 (home-page "https://github.com/Somelauw/evil-markdown/")
9132 (synopsis "Evil keybindings for @code{markdown-mode}")
9133 (description
9134 "This package provides custom text objects and bindings for
9135 @code{markdown-mode}.")
9136 (license license:gpl3+))))
9137
9138 (define-public emacs-edit-indirect
9139 (package
9140 (name "emacs-edit-indirect")
9141 (version "0.1.6")
9142 (source
9143 (origin
9144 (method git-fetch)
9145 (uri (git-reference
9146 (url "https://github.com/Fanael/edit-indirect")
9147 (commit version)))
9148 (file-name (git-file-name name version))
9149 (sha256
9150 (base32 "189nvmlkki1jfszm9i0crbb1p4nzgmbly0wpvpg0i8vmw7vrpl40"))))
9151 (build-system emacs-build-system)
9152 (home-page "https://github.com/Fanael/edit-indirect")
9153 (synopsis "Edit regions in separate buffers")
9154 (description "This package allows you to edit regions in separate buffers,
9155 like @code{org-edit-src-code} but for arbitrary regions.")
9156 (license license:bsd-2)))
9157
9158 (define-public emacs-projectile
9159 (package
9160 (name "emacs-projectile")
9161 (version "2.3.0")
9162 (source (origin
9163 (method url-fetch)
9164 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
9165 "/projectile/v" version "/projectile.el"))
9166 (file-name (string-append "projectile-" version ".el"))
9167 (sha256
9168 (base32
9169 "1a2drmvx80076d52w46rgynwndj78l3ljr71pdzp9g9hh71mr27y"))))
9170 (build-system emacs-build-system)
9171 (propagated-inputs
9172 `(("emacs-dash" ,emacs-dash)
9173 ("emacs-pkg-info" ,emacs-pkg-info)))
9174 (home-page "https://github.com/bbatsov/projectile")
9175 (synopsis "Manage and navigate projects in Emacs easily")
9176 (description
9177 "This library provides easy project management and navigation. The
9178 concept of a project is pretty basic - just a folder containing special file.
9179 Currently git, mercurial and bazaar repos are considered projects by default.
9180 If you want to mark a folder manually as a project just create an empty
9181 .projectile file in it.")
9182 (license license:gpl3+)))
9183
9184 (define-public emacs-skeletor
9185 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
9186 (revision "1"))
9187 (package
9188 (name "emacs-skeletor")
9189 (version (git-version "1.6.1" revision commit))
9190 (source (origin
9191 (method git-fetch)
9192 (uri (git-reference
9193 (url "https://github.com/chrisbarrett/skeletor.el")
9194 (commit commit)))
9195 (file-name (git-file-name name version))
9196 (sha256
9197 (base32
9198 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
9199 (build-system emacs-build-system)
9200 (propagated-inputs
9201 `(("emacs-s" ,emacs-s)
9202 ("emacs-f" ,emacs-f)
9203 ("emacs-dash" ,emacs-dash)
9204 ("emacs-let-alist" ,emacs-let-alist)))
9205 (native-inputs
9206 `(("emacs-ert-runner" ,emacs-ert-runner)))
9207 (arguments
9208 `(#:include (cons "^project-skeletons\\/" %default-include)
9209 ;; XXX: one failing test involving initializing a git repo
9210 #:phases
9211 (modify-phases %standard-phases
9212 (add-before 'check 'make-test-writable
9213 (lambda _
9214 (make-file-writable "test/skeletor-test.el")
9215 #t))
9216 (add-before 'check 'remove-git-test
9217 (lambda _
9218 (emacs-batch-edit-file "test/skeletor-test.el"
9219 `(progn
9220 (progn
9221 (goto-char (point-min))
9222 (re-search-forward
9223 "ert-deftest initialises-git-repo")
9224 (beginning-of-line)
9225 (kill-sexp))
9226 (basic-save-buffer)))
9227 #t)))
9228 #:tests? #t
9229 #:test-command '("ert-runner")))
9230 (home-page "https://github.com/chrisbarrett/skeletor.el")
9231 (synopsis "Project skeletons for Emacs")
9232 (description "This package provides project templates and automates the
9233 mundane parts of setting up a new project, such as version control, licenses,
9234 and tooling.")
9235 (license license:gpl3+))))
9236
9237 (define-public emacs-elfeed
9238 (package
9239 (name "emacs-elfeed")
9240 (version "3.4.0")
9241 (source
9242 (origin
9243 (method git-fetch)
9244 (uri (git-reference
9245 (url "https://github.com/skeeto/elfeed")
9246 (commit version)))
9247 (file-name (git-file-name name version))
9248 (sha256
9249 (base32 "1y95410hrcp23zc84sn79bxla9xr2fqh7wwagza05iaprv7zbbw0"))))
9250 (build-system emacs-build-system)
9251 (arguments
9252 `(#:tests? #t
9253 #:test-command '("make" "test")))
9254 (home-page "https://github.com/skeeto/elfeed")
9255 (synopsis "Atom/RSS feed reader for Emacs")
9256 (description
9257 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
9258 and RSS, with a user interface inspired by notmuch.")
9259 (license license:gpl3+)))
9260
9261 (define-public emacs-elfeed-org
9262 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
9263 (package
9264 (name "emacs-elfeed-org")
9265 (version (git-version "0.1" "1" commit))
9266 (source
9267 (origin
9268 (method git-fetch)
9269 (uri (git-reference
9270 (url "https://github.com/remyhonig/elfeed-org")
9271 (commit commit)))
9272 (file-name (git-file-name name version))
9273 (sha256
9274 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
9275 (build-system emacs-build-system)
9276 (propagated-inputs
9277 `(("emacs-elfeed" ,emacs-elfeed)
9278 ("emacs-org" ,emacs-org)
9279 ("emacs-dash" ,emacs-dash)
9280 ("emacs-s" ,emacs-s)))
9281 (native-inputs
9282 `(("ert-runner" ,emacs-ert-runner)
9283 ("emacs-xtest" ,emacs-xtest)))
9284 (arguments
9285 `(#:tests? #t
9286 #:test-command '("ert-runner" "-L" "org-mode/lisp")
9287 #:phases
9288 (modify-phases %standard-phases
9289 (add-before 'check 'chmod
9290 (lambda _
9291 (chmod "test/fixture-mark-feed-ignore.org" #o644)
9292 #t)))))
9293 (home-page "https://github.com/remyhonig/elfeed-org")
9294 (synopsis "Configure Elfeed with an Org-mode file")
9295 (description
9296 "@code{elfeed-org} lets you manage your Elfeed subscriptions
9297 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
9298 the regular flat list, where there is no hierarchy and tag names are
9299 duplicated a lot. Org-mode makes the book keeping of tags and feeds
9300 much easier.")
9301 (license license:gpl3+))))
9302
9303 (define-public emacs-elfeed-protocol
9304 (package
9305 (name "emacs-elfeed-protocol")
9306 (version "0.8.0")
9307 (source
9308 (origin
9309 (method git-fetch)
9310 (uri (git-reference
9311 (url "https://github.com/fasheng/elfeed-protocol")
9312 (commit version)))
9313 (file-name (git-file-name name version))
9314 (sha256
9315 (base32 "07r1qlldgd0kfikd0y737y5n42ab3nkw2s5jx7frimj41yandbdp"))))
9316 (build-system emacs-build-system)
9317 (propagated-inputs
9318 `(("emacs-elfeed" ,emacs-elfeed)))
9319 (home-page "https://github.com/fasheng/elfeed-protocol")
9320 (synopsis "Fever/NewsBlur/ownCloud/tt-RSS protocols for Elfeed")
9321 (description
9322 "Elfeed-protocol provides extra protocols to make self-hosting RSS
9323 readers like Fever, NewsBlur, ownCloud News and Tiny TIny RSS work
9324 with Elfeed.")
9325 (license license:gpl3+)))
9326
9327 (define-public emacs-elfeed-score
9328 (package
9329 (name "emacs-elfeed-score")
9330 (version "0.7.7")
9331 (source
9332 (origin
9333 (method git-fetch)
9334 (uri (git-reference
9335 (url "https://github.com/sp1ff/elfeed-score")
9336 (commit version)))
9337 (file-name (git-file-name name version))
9338 (sha256
9339 (base32
9340 "07xid0a31ghknbfwj8dxzbqkg4sfayjhlqvp17p2bzlf1mj0zjyd"))))
9341 (build-system emacs-build-system)
9342 (propagated-inputs
9343 `(("emacs-elfeed" ,emacs-elfeed)))
9344 (home-page "https://github.com/sp1ff/elfeed-score")
9345 (synopsis "Gnus-style scoring for Elfeed")
9346 (description
9347 "Elfeed-score is an add-on for Elfeed, an RSS reader for Emacs. It
9348 brings Gnus-style scoring to your RSS feeds. Elfeed, by default, displays
9349 feed entries by date. This package allows you to setup rules for assigning
9350 numeric scores to entries, and sorting entries with higher scores ahead of
9351 those with lower, regardless of date. The idea is to prioritize content
9352 important to you.")
9353 (license license:gpl3+)))
9354
9355 (define-public emacs-el-x
9356 (package
9357 (name "emacs-el-x")
9358 (version "0.3.1")
9359 (source (origin
9360 (method git-fetch)
9361 (uri (git-reference
9362 (url "https://github.com/sigma/el-x")
9363 (commit (string-append "v" version))))
9364 (file-name (git-file-name name version))
9365 (sha256
9366 (base32
9367 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
9368 (build-system emacs-build-system)
9369 (arguments
9370 `(#:phases
9371 (modify-phases %standard-phases
9372 ;; Move the source files to the top level, which is included in
9373 ;; the EMACSLOADPATH.
9374 (add-after 'unpack 'move-source-files
9375 (lambda _
9376 (let ((el-files (find-files "./lisp" ".*\\.el$")))
9377 (for-each (lambda (f)
9378 (rename-file f (basename f)))
9379 el-files))
9380 #t)))))
9381 (home-page "https://github.com/sigma/el-x")
9382 (synopsis "Emacs Lisp extensions")
9383 (description "command@{emacs-el-x} defines the @code{dflet} macro to
9384 provide the historic behavior of @code{flet}, as well as
9385 @code{declare-function} stub for older Emacs.")
9386 (license license:gpl2+)))
9387
9388 (define-public emacs-mocker
9389 (package
9390 (name "emacs-mocker")
9391 (version "0.5.0")
9392 (source (origin
9393 (method git-fetch)
9394 (uri (git-reference
9395 (url "https://github.com/sigma/mocker.el")
9396 (commit (string-append "v" version))))
9397 (file-name (git-file-name name version))
9398 (sha256
9399 (base32
9400 "1dc514cqbfmg33sb3j90s5jmw6jnm3wzvs0zhw3maz13bp7w6z48"))))
9401 (build-system emacs-build-system)
9402 (arguments
9403 `(#:tests? #t
9404 #:test-command '("ert-runner")))
9405 (native-inputs
9406 `(("ert-runner" ,emacs-ert-runner)))
9407 (propagated-inputs
9408 `(("emacs-el-x" ,emacs-el-x)))
9409 (home-page "https://github.com/sigma/mocker.el")
9410 (synopsis "Mocking framework for Emacs Lisp")
9411 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
9412 It uses regular Lisp rather than a domain specific language (DSL), which
9413 maximizes flexibility (at the expense of conciseness).")
9414 (license license:gpl2+)))
9415
9416 (define-public emacs-find-file-in-project
9417 (package
9418 (name "emacs-find-file-in-project")
9419 (version "6.0.0")
9420 (source (origin
9421 (method git-fetch)
9422 (uri (git-reference
9423 (url "https://github.com/technomancy/find-file-in-project")
9424 (commit version)))
9425 (file-name (git-file-name name version))
9426 (sha256
9427 (base32
9428 "1iagywiihwv96y9p811xlx4cmbsj8h76niymprv1vm4fj6cmihr6"))))
9429 (build-system emacs-build-system)
9430 (arguments
9431 `(#:tests? #t
9432 #:test-command '("ert-runner" "tests")))
9433 (native-inputs
9434 `(("ert-runner" ,emacs-ert-runner)))
9435 (home-page "https://github.com/technomancy/find-file-in-project")
9436 (synopsis "File/directory finder for Emacs")
9437 (description "@code{find-file-in-project} finds files or
9438 directories quickly in the current project. The project root is detected
9439 automatically when Git, Subversion or Mercurial are used. It also provides
9440 functions to assist in reviewing changes on files.")
9441 (license license:gpl3+)))
9442
9443 (define-public emacs-pyvenv
9444 (package
9445 (name "emacs-pyvenv")
9446 (version "1.21")
9447 (source (origin
9448 (method git-fetch)
9449 (uri (git-reference
9450 (url "https://github.com/jorgenschaefer/pyvenv")
9451 (commit (string-append "v" version))))
9452 (file-name (git-file-name name version))
9453 (sha256
9454 (base32
9455 "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"))))
9456 (build-system emacs-build-system)
9457 (arguments
9458 `(#:phases
9459 (modify-phases %standard-phases
9460 ;; This phase incorrectly attempts to substitute "activate" and fails
9461 ;; doing so.
9462 (delete 'patch-el-files))
9463 #:tests? #t
9464 #:test-command '("ert-runner")))
9465 (native-inputs
9466 `(("ert-runner" ,emacs-ert-runner)
9467 ("emacs-mocker" ,emacs-mocker)))
9468 (home-page "https://github.com/jorgenschaefer/pyvenv")
9469 (synopsis "Python virtual environment interface for Emacs")
9470 (description "pyvenv.el is a minor mode to support using Python virtual
9471 environments (virtualenv) inside Emacs.")
9472 (license license:gpl3+)))
9473
9474 (define-public emacs-highlight-indent-guides
9475 (let ((version "0.8.5") ; from package metadata
9476 (revision "0")
9477 (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c"))
9478 (package
9479 (name "emacs-highlight-indent-guides")
9480 (version (git-version version revision commit))
9481 (source
9482 (origin
9483 (method git-fetch)
9484 (uri (git-reference
9485 (url "https://github.com/DarthFennec/highlight-indent-guides")
9486 (commit commit)))
9487 (file-name (git-file-name name version))
9488 (sha256
9489 (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2"))))
9490 (build-system emacs-build-system)
9491 (home-page
9492 "https://github.com/DarthFennec/highlight-indent-guides")
9493 (synopsis "Minor mode to highlight indentation")
9494 (description
9495 "This package provides a minor mode to highlight indentation levels via
9496 font-lock. Indent widths are dynamically discovered, which means this
9497 correctly highlights in any mode, regardless of indent width, even in
9498 languages with non-uniform indentation such as Haskell. This mode works
9499 properly around hard tabs and mixed indentation and behaves well in large
9500 buffers.")
9501 (license license:expat))))
9502
9503 (define-public emacs-highlight-indentation
9504 ;; Last release version is from 2015.
9505 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
9506 (revision "1"))
9507 (package
9508 (name "emacs-highlight-indentation")
9509 (version (git-version "0.7.0" revision commit))
9510 (source
9511 (origin
9512 (method git-fetch)
9513 (uri (git-reference
9514 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs")
9515 (commit commit)))
9516 (file-name (git-file-name name version))
9517 (sha256
9518 (base32
9519 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
9520 (build-system emacs-build-system)
9521 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
9522 (synopsis "Highlighting indentation for Emacs")
9523 (description "This package provides two minor modes to highlight
9524 indentation guides in Emacs:
9525
9526 @enumerate
9527 @item @code{highlight-indentation-mode}, which displays guidelines
9528 indentation (space indentation only).
9529 @item @code{highlight-indentation-current-column-mode}, which displays
9530 guidelines for the current-point indentation (space indentation only).
9531 @end enumerate")
9532 (license license:gpl2+))))
9533
9534 (define-public emacs-elpy
9535 (package
9536 (name "emacs-elpy")
9537 (version "1.35.0")
9538 (source (origin
9539 (method git-fetch)
9540 (uri (git-reference
9541 (url "https://github.com/jorgenschaefer/elpy")
9542 (commit version)))
9543 (file-name (git-file-name name version))
9544 (sha256
9545 (base32
9546 "07rdb9w3bxzfr07224awa541xdy116hyc2b3bpl3fc3ikddmbydk"))))
9547 (build-system emacs-build-system)
9548 (arguments
9549 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
9550 #:phases
9551 (modify-phases %standard-phases
9552 (add-after 'unpack 'patch-ffip-project-search-call
9553 (lambda _
9554 ;; Since version 6.0.0 of find-file-in-project,
9555 ;; ffip-project-search doesn't accept a third argument anymore
9556 ;; (see: https://github.com/jorgenschaefer/elpy/issues/1889).
9557 (substitute* "elpy.el"
9558 (("\\((ffip-project-search nil nil) project-root\\)" _ signature)
9559 (format #f "(let ((ffip-project-root project-root)) (~a))"
9560 signature)))))
9561 ;; The default environment of the RPC uses Virtualenv to install
9562 ;; Python dependencies from PyPI. We don't want/need this in Guix.
9563 (add-before 'check 'do-not-use-virtualenv
9564 (lambda _
9565 (setenv "ELPY_TEST_DONT_USE_VIRTUALENV" "1")
9566 (substitute* "elpy-rpc.el"
9567 (("defcustom elpy-rpc-virtualenv-path 'default")
9568 "defcustom elpy-rpc-virtualenv-path 'system"))))
9569 (add-before 'check 'build-doc
9570 (lambda _
9571 (with-directory-excursion "docs"
9572 (invoke "make" "info" "man"))
9573 ;; Move .info file at the root so that it can installed by the
9574 ;; 'move-doc phase.
9575 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")))
9576 (add-after 'build-doc 'install-manpage
9577 (lambda* (#:key outputs #:allow-other-keys)
9578 (let* ((out (assoc-ref outputs "out"))
9579 (man1 (string-append out "/share/man/man1")))
9580 (mkdir-p man1)
9581 (copy-file "docs/_build/man/elpy.1"
9582 (string-append man1 "/elpy.1"))))))
9583 #:tests? #t
9584 #:test-command '("ert-runner")))
9585 (propagated-inputs
9586 `(("emacs-company" ,emacs-company)
9587 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
9588 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
9589 ("emacs-yasnippet" ,emacs-yasnippet)
9590 ("pyvenv" ,emacs-pyvenv)
9591 ("s" ,emacs-s)
9592 ;; The following are recommended Python dependencies that make Elpy
9593 ;; much more useful. Installing these avoids Elpy prompting to install them
9594 ;; from PyPI using pip.
9595 ("python-autopep8" ,python-autopep8)
9596 ("python-black" ,python-black)
9597 ("python-flake8" ,python-flake8)
9598 ("python-jedi" ,python-jedi)
9599 ("python-rope" ,python-rope)
9600 ("python-yapf" ,python-yapf)))
9601 (native-inputs
9602 `(("ert-runner" ,emacs-ert-runner)
9603 ("emacs-f" ,emacs-f)
9604 ("python" ,python-wrapper)
9605 ;; For documentation.
9606 ("python-sphinx" ,python-sphinx)
9607 ("texinfo" ,texinfo)))
9608 (home-page "https://github.com/jorgenschaefer/elpy")
9609 (synopsis "Python development environment for Emacs")
9610 (description "Elpy brings powerful Python editing to Emacs. It combines
9611 and configures a number of other packages written in Emacs Lisp as well as
9612 Python, together offering features such as navigation, documentation,
9613 completion, interactive development and more.")
9614 (license license:gpl3+)))
9615
9616 (define-public emacs-rainbow-delimiters
9617 (package
9618 (name "emacs-rainbow-delimiters")
9619 (version "2.1.4")
9620 (source (origin
9621 (method git-fetch)
9622 (uri (git-reference
9623 (url "https://github.com/Fanael/rainbow-delimiters")
9624 (commit version)))
9625 (file-name (git-file-name name version))
9626 (sha256
9627 (base32
9628 "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"))))
9629 (build-system emacs-build-system)
9630 (home-page "https://github.com/Fanael/rainbow-delimiters")
9631 (arguments
9632 `(#:tests? #t
9633 #:test-command '("emacs" "-Q" "-batch"
9634 "-l" "rainbow-delimiters-test.el"
9635 "-f" "ert-run-tests-batch-and-exit")))
9636 (synopsis "Highlight brackets according to their depth")
9637 (description
9638 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
9639 highlights parentheses, brackets, and braces according to their depth. Each
9640 successive level is highlighted in a different color, making it easy to spot
9641 matching delimiters, orient yourself in the code, and tell which statements
9642 are at a given level.")
9643 (license license:gpl3+)))
9644
9645 (define-public emacs-rainbow-identifiers
9646 (package
9647 (name "emacs-rainbow-identifiers")
9648 (version "0.2.2")
9649 (source (origin
9650 (method url-fetch)
9651 (uri (string-append "https://raw.githubusercontent.com/Fanael"
9652 "/rainbow-identifiers/" version
9653 "/rainbow-identifiers.el"))
9654 (file-name (string-append "rainbow-identifiers-" version ".el"))
9655 (sha256
9656 (base32
9657 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
9658 (build-system emacs-build-system)
9659 (home-page "https://github.com/Fanael/rainbow-identifiers")
9660 (synopsis "Highlight identifiers in source code")
9661 (description
9662 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
9663 identifiers based on their names. Each identifier gets a color based on a hash
9664 of its name.")
9665 (license license:bsd-2)))
9666
9667 (define-public emacs-rainbow-mode
9668 (package
9669 (name "emacs-rainbow-mode")
9670 (version "1.0.5")
9671 (source
9672 (origin
9673 (method url-fetch)
9674 (uri (string-append "https://elpa.gnu.org/packages/"
9675 "rainbow-mode-" version ".el"))
9676 (sha256
9677 (base32 "159fps843k5pap9k04a7ll1k3gw6d9c6w08lq4bbc3lqg78aa2l9"))))
9678 (build-system emacs-build-system)
9679 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
9680 (synopsis "Colorize color names in buffers")
9681 (description
9682 "This minor mode sets background color to strings that match color
9683 names, e.g., @samp{#0000ff} is displayed in white with a blue background.")
9684 (license license:gpl3+)))
9685
9686 (define-public emacs-ryo-modal
9687 ;; Package has no release. Version is extracted from "Version:" keyword in
9688 ;; main file.
9689 (let ((commit "3a54312eea7023a86ca3f8eb3c03c872554bff2f")
9690 (revision "0"))
9691 (package
9692 (name "emacs-ryo-modal")
9693 (version (git-version "0.4" revision commit))
9694 (source
9695 (origin
9696 (method git-fetch)
9697 (uri (git-reference
9698 (url "https://github.com/Kungsgeten/ryo-modal")
9699 (commit commit)))
9700 (file-name (git-file-name name version))
9701 (sha256
9702 (base32 "1cyvp3bi6yhckbdnq98xvghmhdzghya5y9wd7hxjawibs75rza95"))))
9703 (build-system emacs-build-system)
9704 (home-page "https://github.com/Kungsgeten/ryo-modal")
9705 (synopsis "Emacs minor mode for defining modal editing environments")
9706 (description "RYO modal provides a convenient way of defining modal
9707 keybindings in Emacs, and does not come with any predefined bindings.")
9708 (license license:expat))))
9709
9710 (define-public emacs-visual-fill-column
9711 (package
9712 (name "emacs-visual-fill-column")
9713 (version "2.2")
9714 (source
9715 (origin
9716 (method git-fetch)
9717 (uri (git-reference
9718 (url "https://github.com/joostkremers/visual-fill-column")
9719 (commit version)))
9720 (file-name (git-file-name name version))
9721 (sha256
9722 (base32 "1wjb4zm9mx07v0qx2fxmclg4pg0ssgnf8lp89wc56kmc0s40jhii"))))
9723 (build-system emacs-build-system)
9724 (home-page "https://github.com/joostkremers/visual-fill-column")
9725 (synopsis "Fill-column for visual-line-mode")
9726 (description
9727 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
9728 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
9729 wrapping lines at the window edge, which is the standard behaviour of
9730 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
9731 @code{fill-column} is too large for the window, the text is wrapped at the
9732 window edge.")
9733 (license license:gpl3+)))
9734
9735 (define-public emacs-writeroom
9736 (package
9737 (name "emacs-writeroom")
9738 (version "3.11")
9739 (source
9740 (origin
9741 (method git-fetch)
9742 (uri (git-reference
9743 (url "https://github.com/joostkremers/writeroom-mode")
9744 (commit version)))
9745 (file-name (git-file-name name version))
9746 (sha256
9747 (base32
9748 "0y4jcja9kml1lq88r8b9myk39dgaggh7q7f3a43sj828hvzlccb7"))))
9749 (build-system emacs-build-system)
9750 (propagated-inputs
9751 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
9752 (home-page "https://github.com/joostkremers/writeroom-mode")
9753 (synopsis "Distraction-free writing for Emacs")
9754 (description
9755 "This package defines a minor mode for distraction-free writing. Some of
9756 the default effects include entering fullscreen, deleting other windows of the
9757 current frame, disabling the mode line, and adding margins to the buffer that
9758 restrict the text width to 80 characters.")
9759 (license license:bsd-3)))
9760
9761 (define-public emacs-ido-completing-read+
9762 (package
9763 (name "emacs-ido-completing-read+")
9764 (version "4.13")
9765 (source (origin
9766 (method url-fetch)
9767 (uri (string-append "https://raw.githubusercontent.com"
9768 "/DarwinAwardWinner/ido-ubiquitous/v"
9769 version "/ido-completing-read+.el"))
9770 (file-name (string-append "ido-completing-read+-" version ".el"))
9771 (sha256
9772 (base32
9773 "0g2ixvw2sxpvrgz78745zi6iql4501pqi85zi6j31dnc1hx1i0r6"))))
9774 (build-system emacs-build-system)
9775 (propagated-inputs
9776 `(("emacs-s" ,emacs-s)))
9777 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
9778 (synopsis "Replacement for completing-read using ido")
9779 (description
9780 "The ido-completing-read+ function is a wrapper for ido-completing-read.
9781 Importantly, it detects edge cases that ordinary ido cannot handle and either
9782 adjusts them so ido can handle them, or else simply falls back to the standard
9783 Emacs completion function instead.")
9784 (license license:gpl3+)))
9785
9786 (define-public emacs-ido-ubiquitous
9787 (package
9788 (name "emacs-ido-ubiquitous")
9789 (version "4.13")
9790 (source (origin
9791 (method url-fetch)
9792 (uri (string-append "https://raw.githubusercontent.com"
9793 "/DarwinAwardWinner/ido-ubiquitous/v"
9794 version "/ido-ubiquitous.el"))
9795 (file-name (string-append "ido-ubiquitous-" version ".el"))
9796 (sha256
9797 (base32
9798 "08iwvqknicqlffda7ixwgzw7q9g2g4j4nsxdw6544r85vaysi4cc"))))
9799 (build-system emacs-build-system)
9800 (propagated-inputs
9801 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
9802 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
9803 (synopsis "Use ido (nearly) everywhere")
9804 (description
9805 "Ido-ubiquitous enables ido-style completion for almost every function
9806 that uses the standard completion function completing-read.")
9807 (license license:gpl3+)))
9808
9809 (define-public emacs-yaml-mode
9810 (package
9811 (name "emacs-yaml-mode")
9812 (version "0.0.15")
9813 (source
9814 (origin
9815 (method git-fetch)
9816 (uri (git-reference
9817 (url "https://github.com/yoshiki/yaml-mode")
9818 (commit version)))
9819 (file-name (git-file-name name version))
9820 (sha256
9821 (base32 "0gsa153yp8lmwrvcc3nzpw5lj037y7q2nm23k5k404r5as4k355l"))))
9822 (build-system emacs-build-system)
9823 (home-page "https://github.com/yoshiki/yaml-mode")
9824 (synopsis "Major mode for editing YAML files")
9825 (description
9826 "Yaml mode is an Emacs major mode for editing files in the YAML data
9827 serialization format. As YAML and Python share the fact that indentation
9828 determines structure, this mode provides indentation and indentation command
9829 behavior very similar to that of Python mode.")
9830 (license license:gpl3+)))
9831
9832 (define-public emacs-gitlab-ci-mode
9833 (package
9834 (name "emacs-gitlab-ci-mode")
9835 (version "20190425.11.10")
9836 (source (origin
9837 (method git-fetch)
9838 (uri (git-reference
9839 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
9840 (commit (string-append "v" version))))
9841 (file-name (git-file-name name version))
9842 (sha256
9843 (base32
9844 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
9845 (build-system emacs-build-system)
9846 (propagated-inputs
9847 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
9848 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
9849 (synopsis "Emacs mode for editing GitLab CI files")
9850 (description
9851 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
9852 files. It provides syntax highlighting and completion for keywords and
9853 special variables. An interface to GitLab’s CI file linter is also provided
9854 via @code{gitlab-ci-lint}.")
9855 (license license:gpl3+)))
9856
9857 (define-public emacs-gitlab-snip-helm
9858 (package
9859 (name "emacs-gitlab-snip-helm")
9860 (version "0.0.2")
9861 (source (origin
9862 (method git-fetch)
9863 (uri (git-reference
9864 (url "https://gitlab.com/sasanidas/gitlab-snip-helm.git")
9865 (commit version)))
9866 (file-name (git-file-name name version))
9867 (sha256
9868 (base32
9869 "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"))))
9870 (build-system emacs-build-system)
9871 (propagated-inputs
9872 `(("emacs-dash" ,emacs-dash)
9873 ("emacs-helm" ,emacs-helm)))
9874 (home-page "https://gitlab.com/sasanidas/gitlab-snip-helm/")
9875 (synopsis "GitLab snippet API interaction for Emacs")
9876 (description "This package provides GitLab snippet API interaction for
9877 Emacs.")
9878 (license license:gpl3+)))
9879
9880 (define-public emacs-web-mode
9881 (package
9882 (name "emacs-web-mode")
9883 (version "17")
9884 (source
9885 (origin
9886 (method git-fetch)
9887 (uri (git-reference
9888 (url "https://github.com/fxbois/web-mode")
9889 (commit (string-append "v" version))))
9890 (file-name (git-file-name name version))
9891 (sha256
9892 (base32 "0jr5a1nzp8nbdng0k2fcaymiiv9ngrbknbrqaswgqn3akvx793jk"))))
9893 (build-system emacs-build-system)
9894 (synopsis "Major mode for editing web templates")
9895 (description "Web mode is an Emacs major mode for editing web templates
9896 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
9897 client/server side engines). Web mode is compatible with many template
9898 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
9899 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
9900 Dust.js, React/JSX, Angularjs, ejs, etc.")
9901 (home-page "https://web-mode.org/")
9902 (license license:gpl3+)))
9903
9904 (define-public emacs-templatel
9905 (package
9906 (name "emacs-templatel")
9907 (version "0.1.4")
9908 (source
9909 (origin
9910 (method git-fetch)
9911 (uri (git-reference
9912 (url "https://github.com/clarete/templatel")
9913 (commit version)))
9914 (file-name (git-file-name name version))
9915 (sha256
9916 (base32 "1k33h503038l2bcr8gs020z2cjxfs94lamkdgv52cvd9i20d0kqq"))))
9917 (build-system emacs-build-system)
9918 (home-page "https://clarete.li/templatel")
9919 (synopsis "Jinja inspired template language for Emacs Lisp")
9920 (description
9921 "templatel is the modern templating language. It provides variable
9922 substitution and control flow through a clean and powerful language inspired
9923 by Python's Jinja.")
9924 (license license:gpl3+)))
9925
9926 (define-public emacs-wgrep
9927 (package
9928 (name "emacs-wgrep")
9929 (version "2.3.2")
9930 (source (origin
9931 (method git-fetch)
9932 (uri (git-reference
9933 (url "https://github.com/mhayashi1120/Emacs-wgrep")
9934 (commit version)))
9935 (file-name (git-file-name name version))
9936 (sha256
9937 (base32
9938 "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
9939 (build-system emacs-build-system)
9940 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
9941 (synopsis "Edit a grep buffer and apply those changes to the files")
9942 (description
9943 "Emacs wgrep allows you to edit a grep buffer and apply those changes
9944 to the file buffer. Several backends are supported beside the classic grep:
9945 ack, ag, helm and pt.")
9946 (license license:gpl3+)))
9947
9948 (define-public emacs-helm
9949 (package
9950 (name "emacs-helm")
9951 (version "3.7.0")
9952 (source
9953 (origin
9954 (method git-fetch)
9955 (uri (git-reference
9956 (url "https://github.com/emacs-helm/helm")
9957 (commit (string-append "v" version))))
9958 (file-name (git-file-name name version))
9959 (sha256
9960 (base32 "0lxq13bsbh7xawgsq08kjm7s28x9yl8mid3538flv5kcc1rv2b9y"))))
9961 (build-system emacs-build-system)
9962 (propagated-inputs
9963 `(("emacs-async" ,emacs-async)
9964 ("emacs-popup" ,emacs-popup)))
9965 (home-page "https://emacs-helm.github.io/helm/")
9966 (synopsis "Incremental completion and selection narrowing
9967 framework for Emacs")
9968 (description "Helm is incremental completion and selection narrowing
9969 framework for Emacs. It will help steer you in the right direction when
9970 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
9971 of @code{anything.el} originally written by Tamas Patrovic and can be
9972 considered to be its successor. Helm sets out to clean up the legacy code in
9973 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
9974 not tied in the trap of backward compatibility.")
9975 (license license:gpl3+)))
9976
9977 (define-public emacs-helm-org
9978 (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
9979 (revision "3"))
9980 (package
9981 (name "emacs-helm-org")
9982 (version (git-version "1.0" revision commit))
9983 (source
9984 (origin
9985 (method git-fetch)
9986 (uri (git-reference
9987 (url "https://github.com/emacs-helm/helm-org")
9988 (commit commit)))
9989 (file-name (git-file-name name version))
9990 (sha256
9991 (base32 "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"))))
9992 (build-system emacs-build-system)
9993 (propagated-inputs
9994 `(("emacs-helm" ,emacs-helm)))
9995 (home-page "https://github.com/emacs-helm/helm-org")
9996 (synopsis "Helm interface to the Silver Searcher")
9997 (description
9998 "This package provides a frontend for grepping tools like ag and ack,
9999 as well as features for editing search results.")
10000 (license license:gpl3+))))
10001
10002 (define-public emacs-helm-swoop
10003 (package
10004 (name "emacs-helm-swoop")
10005 (version "3.0.0")
10006 (source
10007 (origin
10008 (method git-fetch)
10009 (uri (git-reference
10010 (url "https://github.com/emacsorphanage/helm-swoop")
10011 (commit version)))
10012 (file-name (git-file-name name version))
10013 (sha256
10014 (base32 "1qjay0fvryxa8n1ws6r1by512p2fylb2nj7ycm1497fcalb0d706"))))
10015 (build-system emacs-build-system)
10016 (propagated-inputs
10017 `(("emacs-helm" ,emacs-helm)))
10018 (home-page "https://github.com/emacsorphanage/helm-swoop")
10019 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
10020 (description
10021 "This package builds on the Helm interface to provide several commands
10022 for search-based navigation of buffers.")
10023 (license license:gpl2+)))
10024
10025 (define-public emacs-helm-ag
10026 (package
10027 (name "emacs-helm-ag")
10028 (version "0.62")
10029 (source
10030 (origin
10031 (method git-fetch)
10032 (uri (git-reference
10033 (url "https://github.com/syohex/emacs-helm-ag")
10034 (commit version)))
10035 (file-name (git-file-name name version))
10036 (sha256
10037 (base32 "0xgbpp8xqdiyvfs64x0q909g77ml28z3irw2lnasvpsg0dfdm2zy"))))
10038 (build-system emacs-build-system)
10039 (propagated-inputs
10040 `(("emacs-helm" ,emacs-helm)))
10041 (home-page "https://github.com/syohex/emacs-helm-ag")
10042 (synopsis "Helm interface to the Silver Searcher")
10043 (description
10044 "This package provides a frontend for grepping tools like ag and ack,
10045 as well as features for editing search results.")
10046 (license license:gpl3+)))
10047
10048 (define-public emacs-helm-projectile
10049 (package
10050 (name "emacs-helm-projectile")
10051 (version "1.0.0")
10052 (source
10053 (origin
10054 (method git-fetch)
10055 (uri (git-reference
10056 (url "https://github.com/bbatsov/helm-projectile")
10057 (commit (string-append "v" version))))
10058 (file-name (git-file-name name version))
10059 (sha256
10060 (base32 "05gpg90gg03yalmv9fw1y9k21i2l617iipvs0p9n80aln8nrzs8g"))))
10061 (build-system emacs-build-system)
10062 (propagated-inputs
10063 `(("emacs-helm" ,emacs-helm)
10064 ("emacs-projectile" ,emacs-projectile)))
10065 (home-page "https://github.com/bbatsov/helm-projectile")
10066 (synopsis "Helm integration for Projectile")
10067 (description
10068 "This Emacs library provides a Helm interface for Projectile.")
10069 (license license:gpl3+)))
10070
10071 (define-public emacs-taskrunner
10072 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
10073 (revision "1"))
10074 (package
10075 (name "emacs-taskrunner")
10076 (version (git-version "0.6" revision commit))
10077 (source
10078 (origin
10079 (method git-fetch)
10080 (uri (git-reference
10081 (url "https://github.com/emacs-taskrunner/emacs-taskrunner")
10082 (commit commit)))
10083 (file-name (git-file-name name version))
10084 (sha256
10085 (base32
10086 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
10087 (build-system emacs-build-system)
10088 (propagated-inputs
10089 `(("emacs-async" ,emacs-async)
10090 ("emacs-projectile" ,emacs-projectile)))
10091 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
10092 (synopsis "Retrieve tasks from various build systems and task-runners")
10093 (description "This package parses Makefiles and build-system files for
10094 multiple project types.")
10095 (license license:gpl3+))))
10096
10097 (define-public emacs-ivy-taskrunner
10098 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
10099 (revision "1"))
10100 (package
10101 (name "emacs-ivy-taskrunner")
10102 (version (git-version "0.9" revision commit))
10103 (source
10104 (origin
10105 (method git-fetch)
10106 (uri (git-reference
10107 (url "https://github.com/emacs-taskrunner/ivy-taskrunner")
10108 (commit commit)))
10109 (file-name (git-file-name name version))
10110 (sha256
10111 (base32
10112 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
10113 (build-system emacs-build-system)
10114 (propagated-inputs
10115 `(("emacs-ivy" ,emacs-ivy)
10116 ("emacs-taskrunner" ,emacs-taskrunner)
10117 ("emacs-projectile" ,emacs-projectile)))
10118 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
10119 (synopsis "Retrieve build-system tasks using Ivy")
10120 (description "This package provides an Ivy interface for selecting
10121 Makefile targets.")
10122 (license license:gpl3+))))
10123
10124 (define-public emacs-helm-taskrunner
10125 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
10126 (revision "1"))
10127 (package
10128 (name "emacs-helm-taskrunner")
10129 (version (git-version "0.9" revision commit))
10130 (source
10131 (origin
10132 (method git-fetch)
10133 (uri (git-reference
10134 (url "https://github.com/emacs-taskrunner/helm-taskrunner")
10135 (commit commit)))
10136 (file-name (git-file-name name version))
10137 (sha256
10138 (base32
10139 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
10140 (build-system emacs-build-system)
10141 (propagated-inputs
10142 `(("emacs-helm" ,emacs-helm)
10143 ("emacs-taskrunner" ,emacs-taskrunner)
10144 ("emacs-projectile" ,emacs-projectile)))
10145 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
10146 (synopsis "Retrieve build-system tasks using Helm")
10147 (description "This package provides a Helm interface for selecting
10148 Makefile targets.")
10149 (license license:gpl3+))))
10150
10151 (define-public emacs-helm-make
10152 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
10153 (revision "1"))
10154 (package
10155 (name "emacs-helm-make")
10156 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
10157 (source
10158 (origin
10159 (method git-fetch)
10160 (uri (git-reference
10161 (url "https://github.com/abo-abo/helm-make")
10162 (commit commit)))
10163 (file-name (git-file-name name version))
10164 (sha256
10165 (base32
10166 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
10167 (build-system emacs-build-system)
10168 (propagated-inputs
10169 `(("emacs-helm" ,emacs-helm)
10170 ("emacs-projectile" ,emacs-projectile)))
10171 (home-page "https://github.com/abo-abo/helm-make")
10172 (synopsis "Select a Makefile target with helm")
10173 (description "@code{helm-make} or @code{helm-make-projectile} will give
10174 you a @code{helm} selection of directory Makefile's targets. Selecting a
10175 target will call @code{compile} on it.")
10176 (license license:gpl3+))))
10177
10178 (define-public emacs-cider
10179 (package
10180 (name "emacs-cider")
10181 (version "1.0.0")
10182 (source
10183 (origin
10184 (method git-fetch)
10185 (uri (git-reference
10186 (url "https://github.com/clojure-emacs/cider")
10187 (commit (string-append "v" version))))
10188 (file-name (git-file-name name version))
10189 (sha256
10190 (base32 "143kh9k34yk0g6kdlkma6g432kmb2r9r1lhyq4irsw6d3vaql7dj"))))
10191 (build-system emacs-build-system)
10192 (arguments
10193 '(#:exclude ;don't exclude 'cider-test.el'
10194 '("^\\.dir-locals\\.el$" "^test/")))
10195 (propagated-inputs
10196 `(("emacs-clojure-mode" ,emacs-clojure-mode)
10197 ("emacs-parseedn" ,emacs-parseedn)
10198 ("emacs-pkg-info" ,emacs-pkg-info)
10199 ("emacs-queue" ,emacs-queue)
10200 ("emacs-sesman" ,emacs-sesman)
10201 ("emacs-spinner" ,emacs-spinner)))
10202 (home-page "https://cider.mx/")
10203 (synopsis "Clojure development environment for Emacs")
10204 (description
10205 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
10206 provide an interactive development experience similar to the one you'd get
10207 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
10208 Geiser) and Smalltalk.
10209
10210 CIDER is the successor to the now deprecated combination of using SLIME +
10211 swank-clojure for Clojure development.
10212
10213 There are plenty of differences between CIDER and SLIME, but the core ideas
10214 are pretty much the same (and SLIME served as the principle inspiration for
10215 CIDER).")
10216 (license license:gpl3+)))
10217
10218 (define-public emacs-sly
10219 ;; Update together with sbcl-slynk.
10220 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
10221 ;; Versions are not always tagged. Besides, latest master contains
10222 ;; important fixes.
10223 (package
10224 (name "emacs-sly")
10225 (version (git-version "1.0.43" "4" commit))
10226 (source
10227 (origin
10228 (method git-fetch)
10229 (uri (git-reference
10230 (url "https://github.com/joaotavora/sly")
10231 (commit commit)))
10232 (file-name (git-file-name name version))
10233 (sha256
10234 (base32
10235 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))))
10236 (build-system emacs-build-system)
10237 (native-inputs
10238 `(("texinfo" ,texinfo)))
10239 (arguments
10240 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
10241 #:phases
10242 ;; The package provides autoloads.
10243 (modify-phases %standard-phases
10244 (delete 'make-autoloads)
10245 (add-before 'install 'install-doc
10246 (lambda* (#:key outputs #:allow-other-keys)
10247 (let* ((out (assoc-ref outputs "out"))
10248 (info-dir (string-append out "/share/info"))
10249 (doc-dir (string-append out "/share/doc/"
10250 ,name "-" ,version))
10251 (doc-files '( ;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
10252 "README.md" "NEWS.md" "PROBLEMS.md"
10253 "CONTRIBUTING.md")))
10254 (with-directory-excursion "doc"
10255 (substitute* "Makefile"
10256 (("infodir=/usr/local/info")
10257 (string-append "infodir=" info-dir))
10258 ;; Don't rebuild contributors.texi since we are not in
10259 ;; the git repo.
10260 (("contributors.texi: Makefile texinfo-tabulate.awk")
10261 "contributors.texi:"))
10262 (invoke "make" "html/index.html")
10263 (invoke "make" "sly.info")
10264 ;; TODO: We need minimal texlive with "preprint" package
10265 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
10266 (install-file "sly.info" info-dir)
10267 (copy-recursively "html" (string-append doc-dir "/html")))
10268 (for-each (lambda (f)
10269 (install-file f doc-dir)
10270 (delete-file f))
10271 doc-files)
10272 (delete-file-recursively "doc")
10273 #t))))))
10274 (home-page "https://github.com/joaotavora/sly")
10275 (synopsis "Sylvester the Cat's Common Lisp IDE")
10276 (description
10277 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
10278 contains the following improvements over it:
10279
10280 @enumerate
10281 @item A full-featured REPL based on Emacs's @code{comint.el}. Everything
10282 can be copied to the REPL;
10283 @item Stickers, or live code annotations that record values as code traverses them.
10284 @item Flex-style completion out-of-the-box, using Emacs's completion API.
10285 Company, Helm, and other supported natively, no plugin required;
10286 @item An interactive Trace Dialog;
10287 @item Multiple inspectors and multiple REPLs, with independent history.
10288 @item Regexp-capable @code{M-x sly-apropos}.
10289 @item Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box;
10290 @item \"Presentations\" replaced by interactive backreferences, which
10291 highlight the object and remain stable throughout the REPL session;
10292 @end enumerate
10293
10294 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
10295 xref, etc.) are still available, but with better integration.")
10296 (license license:gpl3+))))
10297
10298 (define-public emacs-sly-quicklisp
10299 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
10300 (revision "1"))
10301 (package
10302 (name "emacs-sly-quicklisp")
10303 (version (git-version "0.0.0" revision commit))
10304 (home-page "https://github.com/joaotavora/sly-quicklisp")
10305 (source
10306 (origin
10307 (method git-fetch)
10308 (uri (git-reference
10309 (url home-page)
10310 (commit commit)))
10311 (file-name (git-file-name name version))
10312 (sha256
10313 (base32
10314 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
10315 (build-system emacs-build-system)
10316 (propagated-inputs
10317 `(("emacs-sly" ,emacs-sly)))
10318 (arguments
10319 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10320 #:phases
10321 ;; The package provides autoloads.
10322 (modify-phases %standard-phases
10323 (delete 'make-autoloads)
10324 (delete 'enable-autoloads-compilation))))
10325 (synopsis "Quicklisp support for SLY")
10326 (description
10327 "@command{sly-quicklisp} is an external contrib for SLY that provides a
10328 sly-quickload command that prompts the user for a package to install. ")
10329 (license license:gpl3+))))
10330
10331 (define-public emacs-sly-asdf
10332 (let ((commit "32ce14994e8faee9321605cec36d156b02996c46")
10333 (revision "4"))
10334 (package
10335 (name "emacs-sly-asdf")
10336 (version (git-version "0.1.0" revision commit))
10337 (home-page "https://github.com/mmgeorge/sly-asdf")
10338 (source
10339 (origin
10340 (method git-fetch)
10341 (uri (git-reference
10342 (url home-page)
10343 (commit commit)))
10344 (file-name (git-file-name name version))
10345 (sha256
10346 (base32
10347 "09x8l37wwqw74xc2frwzbfdb1if8rb3szg5akdk3v2qhik4sm3dd"))))
10348 (build-system emacs-build-system)
10349 (propagated-inputs
10350 `(("emacs-sly" ,emacs-sly)
10351 ("emacs-popup" ,emacs-popup)))
10352 (arguments
10353 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
10354 (synopsis "ASDF contrib for SLY")
10355 (description
10356 "@command{sly-asdf} is an external contrib for SLY that provides
10357 additional support for working with ASDF projects.")
10358 (license license:gpl3+))))
10359
10360 (define-public emacs-sly-named-readtables
10361 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
10362 (revision "1"))
10363 (package
10364 (name "emacs-sly-named-readtables")
10365 (version (git-version "0.1" revision commit))
10366 (home-page "https://github.com/joaotavora/sly-named-readtables")
10367 (source
10368 (origin
10369 (method git-fetch)
10370 (uri (git-reference
10371 (url home-page)
10372 (commit commit)))
10373 (file-name (git-file-name name version))
10374 (sha256
10375 (base32
10376 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
10377 (build-system emacs-build-system)
10378 (propagated-inputs
10379 `(("emacs-sly" ,emacs-sly)))
10380 (arguments
10381 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10382 #:phases (modify-phases %standard-phases
10383 ;; Byte compilation of the autoload file fails.
10384 (delete 'enable-autoloads-compilation))))
10385 (synopsis "Named-readtables support for SLY")
10386 (description
10387 "@command{sly-named-readtables} is an external contrib for SLY that
10388 enables different readtables to be active in different parts of the same
10389 file.")
10390 (license license:gpl3+))))
10391
10392 (define-public emacs-sly-macrostep
10393 (let ((commit "5113e4e926cd752b1d0bcc1508b3ebad5def5fad")
10394 (revision "2"))
10395 (package
10396 (name "emacs-sly-macrostep")
10397 (version (git-version "0.1" revision commit))
10398 (home-page "https://github.com/joaotavora/sly-macrostep")
10399 (source
10400 (origin
10401 (method git-fetch)
10402 (uri (git-reference
10403 (url home-page)
10404 (commit commit)))
10405 (file-name (git-file-name name version))
10406 (sha256
10407 (base32
10408 "1nxf28gn4f3n0wnv7nb5sgl36fz175y470zs9hig4kq8cp0yal0r"))))
10409 (build-system emacs-build-system)
10410 (propagated-inputs
10411 `(("emacs-sly" ,emacs-sly)
10412 ("emacs-macrostep" ,emacs-macrostep)))
10413 (arguments
10414 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10415 #:phases
10416 ;; The package provides autoloads.
10417 (modify-phases %standard-phases
10418 (delete 'make-autoloads)
10419 (delete 'enable-autoloads-compilation))))
10420 (synopsis "Expand Common Lisp macros inside source files with SLY")
10421 (description
10422 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
10423 inside the source file.")
10424 (license license:gpl3+))))
10425
10426 (define-public emacs-sly-stepper
10427 (let ((commit "ec3c0a7f3c8b82926882e5fcfdacf67b86d989f8"))
10428 (package
10429 (name "emacs-sly-stepper")
10430 (version (git-version "0.0.0" "1" commit))
10431 (home-page "https://github.com/joaotavora/sly-stepper")
10432 (source
10433 (origin
10434 (method git-fetch)
10435 (uri (git-reference
10436 (url home-page)
10437 (commit commit)))
10438 (file-name (git-file-name name version))
10439 (sha256
10440 (base32
10441 "1hxniaxifdw3m4y4yssgy22xcmmf558wx7rpz66wy5hwybjslf7b"))))
10442 (build-system emacs-build-system)
10443 (inputs
10444 `(("cl-agnostic-lizard" ,cl-agnostic-lizard)))
10445 (propagated-inputs
10446 `(("emacs-sly" ,emacs-sly)))
10447 (arguments
10448 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10449 #:phases
10450 (modify-phases %standard-phases
10451 ;; The package provides autoloads.
10452 (delete 'make-autoloads)
10453 (delete 'enable-autoloads-compilation)
10454 (add-after 'add-source-to-load-path 'add-contrib-to-emacs-load-path
10455 (lambda* (#:key inputs #:allow-other-keys)
10456 (let ((sly (assoc-ref inputs "emacs-sly")))
10457 (setenv "EMACSLOADPATH"
10458 (string-append sly "/share/emacs/site-lisp/contrib:"
10459 (getenv "EMACSLOADPATH"))))
10460 #t))
10461 (add-after 'install 'find-agnostic-lizard
10462 (lambda* (#:key inputs outputs #:allow-other-keys)
10463 (let* ((out (assoc-ref outputs "out"))
10464 (file (string-append out "/share/emacs/site-lisp/"
10465 "slynk-stepper.lisp"))
10466 (asd (string-append
10467 (assoc-ref inputs "cl-agnostic-lizard")
10468 "/share/common-lisp/systems/agnostic-lizard.asd")))
10469 ;; agnostic-lizard is found at runtime.
10470 (substitute* file
10471 (("\\(require :asdf\\)")
10472 (string-append
10473 "(require :asdf)\n"
10474 " (funcall (read-from-string \"asdf:load-asd\")\n"
10475 " \"" asd "\")\n")))))))))
10476 (synopsis "Portable Common Lisp stepper interface for Emacs")
10477 (description
10478 "This package features a new, portable, visual stepping facility for
10479 Common Lisp, realized as an extension to SLY.")
10480 (license license:gpl3+))))
10481
10482 (define-public emacs-sly-package-inferred
10483 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
10484 (revision "1"))
10485 (package
10486 (name "emacs-sly-package-inferred")
10487 (version (git-version "0.1" revision commit))
10488 (home-page "https://github.com/40ants/sly-package-inferred")
10489 (source
10490 (origin
10491 (method git-fetch)
10492 (uri (git-reference
10493 (url home-page)
10494 (commit commit)))
10495 (file-name (git-file-name name version))
10496 (sha256
10497 (base32
10498 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
10499 (build-system emacs-build-system)
10500 (propagated-inputs
10501 `(("emacs-sly" ,emacs-sly)))
10502 (arguments
10503 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10504 #:phases
10505 ;; The package provides autoloads.
10506 (modify-phases %standard-phases
10507 (delete 'make-autoloads))))
10508 (synopsis "Improved package inferred systems support for SLY")
10509 (description
10510 "@command{sly-package-inferred} is an external contrib for SLY that
10511 replaces its completion with a function which is better suited for systems
10512 using package inferred style.")
10513 (license license:gpl3+))))
10514
10515 (define-public emacs-lua-mode
10516 (package
10517 (name "emacs-lua-mode")
10518 (version "20201010")
10519 (home-page "https://github.com/immerrr/lua-mode/")
10520 (source
10521 (origin
10522 (method git-fetch)
10523 (uri (git-reference
10524 (url home-page)
10525 (commit (string-append "v" version))))
10526 (file-name (git-file-name name version))
10527 (sha256
10528 (base32 "0zf43f7fkrgki6pbc09zak975p4jx1yf3ipfs38hypfl9s5d6xrf"))))
10529 (build-system emacs-build-system)
10530 (arguments
10531 `(#:tests? #t
10532 #:test-command '("buttercup" "-l" "lua-mode.el")))
10533 (native-inputs
10534 `(("emacs-buttercup" ,emacs-buttercup)
10535 ("lua" ,lua)))
10536 (synopsis "Major mode for lua")
10537 (description
10538 "This Emacs package provides a mode for @uref{https://www.lua.org/,
10539 Lua programming language}.")
10540 (license license:gpl2+)))
10541
10542 (define-public emacs-ebuild-mode
10543 (package
10544 (name "emacs-ebuild-mode")
10545 (version "1.52")
10546 (source
10547 (origin
10548 (method url-fetch)
10549 (uri (string-append
10550 "https://dev.gentoo.org/~ulm/emacs/"
10551 "ebuild-mode-" version ".tar.xz"))
10552 (file-name (string-append name "-" version ".tar.xz"))
10553 (sha256
10554 (base32 "10nikbbwh612qlnms2i31963a0h3ccyg85vrxlizdpsqs4cjpg6h"))))
10555 (build-system emacs-build-system)
10556 (arguments
10557 '(#:phases
10558 (modify-phases %standard-phases
10559 (add-after 'install 'install-doc
10560 (lambda* (#:key outputs #:allow-other-keys)
10561 (invoke "make" "ebuild-mode.info")
10562 (install-file "ebuild-mode.info"
10563 (string-append (assoc-ref outputs "out")
10564 "/share/info"))
10565 #t)))))
10566 (native-inputs
10567 `(("texinfo" ,texinfo)))
10568 (home-page "https://devmanual.gentoo.org")
10569 (synopsis "Major modes for Gentoo package files")
10570 (description
10571 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
10572 news items, openrc and runscripts.")
10573 (license license:gpl2+)))
10574
10575 (define-public emacs-evil
10576 (package
10577 (name "emacs-evil")
10578 (version "1.14.0")
10579 (source
10580 (origin
10581 (method git-fetch)
10582 (uri (git-reference
10583 (url "https://github.com/emacs-evil/evil")
10584 (commit version)))
10585 (file-name (git-file-name name version))
10586 (sha256
10587 (base32
10588 "17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p"))))
10589 (arguments
10590 `(#:phases
10591 (modify-phases %standard-phases
10592 (add-before 'check 'fix-test-helpers
10593 (lambda _
10594 (substitute* "evil-test-helpers.el"
10595 (("\\(undo-tree-mode 1\\)") ""))
10596 #t))
10597 (add-before 'install 'make-info
10598 (lambda _
10599 (with-directory-excursion "doc/build/texinfo"
10600 (invoke "makeinfo" "--no-split"
10601 "-o" "evil.info" "evil.texi")))))))
10602 (build-system emacs-build-system)
10603 (native-inputs `(("texinfo" ,texinfo)))
10604 (home-page "https://github.com/emacs-evil/evil")
10605 (synopsis "Extensible Vi layer for Emacs")
10606 (description
10607 "Evil is an extensible vi layer for Emacs. It emulates the
10608 main features of Vim, and provides facilities for writing custom
10609 extensions.")
10610 (license license:gpl3+)))
10611
10612 (define-public emacs-evil-collection
10613 (package
10614 (name "emacs-evil-collection")
10615 (version "0.0.5")
10616 (source (origin
10617 (method git-fetch)
10618 (uri (git-reference
10619 (url "https://github.com/emacs-evil/evil-collection")
10620 (commit version)))
10621 (file-name (git-file-name name version))
10622 (sha256
10623 (base32
10624 "0dxrwcf5dnww0a9mvwjkcgm8ry3y282v9l85jh0645zk71nz1in3"))))
10625 (build-system emacs-build-system)
10626 (propagated-inputs
10627 `(("emacs-evil" ,emacs-evil)
10628 ("emacs-annalist" ,emacs-annalist)))
10629 (arguments
10630 `(#:include (cons* "^modes\\/" %default-include)))
10631 (home-page "https://github.com/emacs-evil/evil-collection")
10632 (synopsis "Collection of Evil bindings for many major and minor modes")
10633 (description "This is a collection of Evil bindings for the parts of
10634 Emacs that Evil does not cover properly by default, such as @code{help-mode},
10635 @code{M-x calendar}, Eshell and more.")
10636 (license license:gpl3+)))
10637
10638 (define-public emacs-evil-goggles
10639 (let ((commit "08a22058fd6a167f9f1b684c649008caef571459")
10640 (version "0.0.1")
10641 (revision "0"))
10642 (package
10643 (name "emacs-evil-goggles")
10644 (version (git-version version revision commit))
10645 (source
10646 (origin
10647 (method git-fetch)
10648 (uri (git-reference
10649 (url "https://github.com/edkolev/evil-goggles")
10650 (commit commit)))
10651 (file-name (git-file-name name version))
10652 (sha256
10653 (base32 "1p3vjrij63v9nrcyj3b5jsqzv9y7dgv9i1inx1q7x3s90vndavac"))))
10654 (build-system emacs-build-system)
10655 (propagated-inputs
10656 `(("emacs-evil" ,emacs-evil)))
10657 (home-page "https://github.com/edkolev/evil-goggles")
10658 (synopsis "Displays visual hints when editing with evil")
10659 (description "Creates a visual pulse to indicate the region that is
10660 being deleted, changed, yanked, or pasted when using evil commands")
10661 (license license:gpl3+))))
10662
10663 (define-public emacs-goto-chg
10664 (let ((commit "2af612153bc9f5bed135d25abe62f46ddaa9027f")
10665 (version "1.7.3")
10666 (revision "2"))
10667 (package
10668 (name "emacs-goto-chg")
10669 (version (git-version version revision commit))
10670 (source
10671 (origin
10672 (method git-fetch)
10673 (uri (git-reference
10674 (url "https://github.com/emacs-evil/goto-chg")
10675 (commit commit)))
10676 (file-name (git-file-name name version))
10677 (sha256
10678 (base32
10679 "1awmvihqgw6kspx192bcp9xp56xqbma90wlhxfxmidx3bvxghwpv"))))
10680 (build-system emacs-build-system)
10681 (home-page "https://github.com/emacs-evil/goto-chg")
10682 (synopsis "Go to the last change in the Emacs buffer")
10683 (description
10684 "This package provides @code{M-x goto-last-change} command that goes to
10685 the point of the most recent edit in the current Emacs buffer. When repeated,
10686 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
10687 used for reverse direction.")
10688 (license license:gpl2+))))
10689
10690 (define-public emacs-janpath-evil-numbers
10691 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
10692 (version "0.5")
10693 (revision "1"))
10694 (package
10695 (name "emacs-janpath-evil-numbers")
10696 (version (git-version version revision commit))
10697 (source
10698 (origin
10699 (method git-fetch)
10700 (uri (git-reference
10701 (url "https://github.com/janpath/evil-numbers")
10702 (commit commit)))
10703 (file-name (git-file-name name version))
10704 (sha256
10705 (base32
10706 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
10707 (build-system emacs-build-system)
10708 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10709 (home-page "https://github.com/janpath/evil-numbers")
10710 (synopsis "Increment and decrement numeric literals")
10711 (description
10712 "This package provides functionality to search for a number up to the
10713 end of a line and increment or decrement it.")
10714 (license license:gpl3+))))
10715
10716 (define-public emacs-evil-owl
10717 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
10718 (revision "3"))
10719 (package
10720 (name "emacs-evil-owl")
10721 (version (git-version "0.0.1" revision commit))
10722 (source
10723 (origin
10724 (method git-fetch)
10725 (uri (git-reference
10726 (url "https://github.com/mamapanda/evil-owl")
10727 (commit commit)))
10728 (file-name (git-file-name name version))
10729 (sha256
10730 (base32
10731 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
10732 (build-system emacs-build-system)
10733 (propagated-inputs
10734 `(("emacs-evil" ,emacs-evil)))
10735 (arguments
10736 `(#:tests? #t
10737 #:test-command '("make" "test")))
10738 (home-page "https://github.com/mamapanda/evil-owl")
10739 (synopsis "Preview candidates when using Evil registers and marks")
10740 (description
10741 "This package supplements Evil's register- and mark-based commands with
10742 a popup window for previewing candidates.")
10743 (license license:gpl3+))))
10744
10745 (define-public emacs-evil-args
10746 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
10747 (revision "1"))
10748 (package
10749 (name "emacs-evil-args")
10750 (version (git-version "1.0" revision commit))
10751 (source
10752 (origin
10753 (method git-fetch)
10754 (uri (git-reference
10755 (url "https://github.com/wcsmith/evil-args")
10756 (commit commit)))
10757 (file-name (git-file-name name version))
10758 (sha256
10759 (base32
10760 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
10761 (build-system emacs-build-system)
10762 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10763 (home-page "https://github.com/wcsmith/evil-args")
10764 (synopsis "Motions and text objects for delimited arguments in Evil")
10765 (description
10766 "This package provides motions and text objects for delimited
10767 arguments, such as arguments separated by commas and semicolons.")
10768 (license license:expat))))
10769
10770 (define-public emacs-evil-escape
10771 (package
10772 (name "emacs-evil-escape")
10773 (version "3.14")
10774 (source
10775 (origin
10776 (method git-fetch)
10777 (uri
10778 (git-reference
10779 (url "https://github.com/syl20bnr/evil-escape")
10780 (commit (string-append "v" version))))
10781 (file-name (git-file-name name version))
10782 (sha256
10783 (base32 "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i"))))
10784 (propagated-inputs
10785 `(("emacs-evil" ,emacs-evil)))
10786 (build-system emacs-build-system)
10787 (home-page "https://github.com/syl20bnr/evil-escape")
10788 (synopsis "Escape from insert state and everything else in Emacs")
10789 (description
10790 "Evil escape provides a customizable key sequence to escape from insert
10791 state and everything else in Emacs.")
10792 (license license:gpl3+)))
10793
10794 (define-public emacs-evil-exchange
10795 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
10796 (version "0.41")
10797 (revision "1"))
10798 (package
10799 (name "emacs-evil-exchange")
10800 (version (git-version version revision commit))
10801 (source
10802 (origin
10803 (method git-fetch)
10804 (uri (git-reference
10805 (url "https://github.com/Dewdrops/evil-exchange")
10806 (commit commit)))
10807 (file-name (git-file-name name version))
10808 (sha256
10809 (base32
10810 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
10811 (build-system emacs-build-system)
10812 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10813 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
10814 (arguments
10815 `(#:phases
10816 (modify-phases %standard-phases
10817 (add-before 'check 'fix-makefile
10818 (lambda _
10819 (substitute* "Makefile"
10820 (("cask exec ") ""))
10821 #t)))
10822 #:tests? #t
10823 #:test-command '("make" "test")))
10824 (home-page "https://github.com/Dewdrops/evil-exchange")
10825 (synopsis "Exchange text easily within Evil")
10826 (description
10827 "This package, a port of @code{vim-exchange}, provides an Evil operator
10828 for exchanging text.")
10829 (license license:gpl3+))))
10830
10831 (define-public emacs-evil-replace-with-register
10832 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
10833 (version "0.1")
10834 (revision "1"))
10835 (package
10836 (name "emacs-evil-replace-with-register")
10837 (version (git-version version revision commit))
10838 (source
10839 (origin
10840 (method git-fetch)
10841 (uri (git-reference
10842 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
10843 (commit commit)))
10844 (file-name (git-file-name name version))
10845 (sha256
10846 (base32
10847 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
10848 (build-system emacs-build-system)
10849 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10850 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
10851 (synopsis "Quickly replace text with the contents of a register")
10852 (description
10853 "This package provides an Evil operator for replacing text with the
10854 contents of a register.")
10855 (license license:gpl3+))))
10856
10857 (define-public emacs-evil-indent-plus
10858 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
10859 (version "1.0.0")
10860 (revision "1"))
10861 (package
10862 (name "emacs-evil-indent-plus")
10863 (version (git-version version revision commit))
10864 (source
10865 (origin
10866 (method git-fetch)
10867 (uri (git-reference
10868 (url "https://github.com/TheBB/evil-indent-plus")
10869 (commit commit)))
10870 (file-name (git-file-name name version))
10871 (sha256
10872 (base32
10873 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
10874 (build-system emacs-build-system)
10875 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10876 (home-page "https://github.com/TheBB/evil-indent-plus")
10877 (synopsis "Text objects based on indentation")
10878 (description
10879 "This package adds new text objects for @code{evil-mode} based on
10880 blocks having the same or higher indentation, including or excluding
10881 surrounding lines.")
10882 (license license:gpl2+))))
10883
10884 (define-public emacs-evil-text-object-python
10885 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
10886 (version "1.0.1")
10887 (revision "1"))
10888 (package
10889 (name "emacs-evil-text-object-python")
10890 (version (git-version version revision commit))
10891 (source
10892 (origin
10893 (method git-fetch)
10894 (uri (git-reference
10895 (url "https://github.com/wbolster/evil-text-object-python")
10896 (commit commit)))
10897 (file-name (git-file-name name version))
10898 (sha256
10899 (base32
10900 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
10901 (build-system emacs-build-system)
10902 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10903 (home-page "https://github.com/wbolster/evil-text-object-python")
10904 (synopsis "Text objects for Python")
10905 (description
10906 "This package provides @code{evil-mode} text objects for Python.")
10907 (license license:gpl3+))))
10908
10909 (define-public emacs-evil-lion
10910 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
10911 (revision "1"))
10912 (package
10913 (name "emacs-evil-lion")
10914 (version (git-version "0.0.2" revision commit))
10915 (source
10916 (origin
10917 (method git-fetch)
10918 (uri (git-reference
10919 (url "https://github.com/edkolev/evil-lion")
10920 (commit commit)))
10921 (file-name (git-file-name name version))
10922 (sha256
10923 (base32
10924 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
10925 (build-system emacs-build-system)
10926 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10927 (arguments
10928 `(#:tests? #t
10929 #:test-command '("make" "test")))
10930 (home-page "https://github.com/edkolev/evil-lion")
10931 (synopsis "Align operator for @code{evil-mode}")
10932 (description
10933 "This package, a port of @code{vim-lion}, provides an operator for
10934 aligning text objects based on separators.")
10935 (license license:gpl3+))))
10936
10937 (define-public emacs-evil-expat
10938 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
10939 (revision "1"))
10940 (package
10941 (name "emacs-evil-expat")
10942 (version (git-version "0.0.1" revision commit))
10943 (source
10944 (origin
10945 (method git-fetch)
10946 (uri (git-reference
10947 (url "https://github.com/edkolev/evil-expat")
10948 (commit commit)))
10949 (file-name (git-file-name name version))
10950 (sha256
10951 (base32
10952 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
10953 (build-system emacs-build-system)
10954 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10955 (arguments
10956 `(#:tests? #t
10957 #:test-command '("make" "test")))
10958 (home-page "https://github.com/edkolev/evil-expat")
10959 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
10960 (description
10961 "This package provides additional commands for the @code{ex} command
10962 line, including functions for version control with Git and for copying and
10963 pasting into and from @code{tmux} paste buffers.")
10964 (license license:gpl3+))))
10965
10966 (define-public emacs-evil-nerd-commenter
10967 (package
10968 (name "emacs-evil-nerd-commenter")
10969 (version "3.5.3")
10970 (source
10971 (origin
10972 (method git-fetch)
10973 (uri (git-reference
10974 (url "https://github.com/redguardtoo/evil-nerd-commenter")
10975 (commit version)))
10976 (file-name (git-file-name name version))
10977 (sha256
10978 (base32
10979 "1y5pn3rkqj8dxp5c7dsci621vnv6hsia74w2c1hybkkrjbka851q"))))
10980 (build-system emacs-build-system)
10981 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10982 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
10983 (synopsis "Comment and uncomment lines efficiently")
10984 (description
10985 "This package provides text objects and operators for comments within
10986 @code{evil-mode}.")
10987 (license license:gpl3+)))
10988
10989 (define-public emacs-evil-visual-replace
10990 (package
10991 (name "emacs-evil-visual-replace")
10992 (version "0.0.5")
10993 (source
10994 (origin
10995 (method git-fetch)
10996 (uri (git-reference
10997 (url "https://github.com/troyp/evil-visual-replace")
10998 (commit version)))
10999 (file-name (git-file-name name version))
11000 (sha256
11001 (base32
11002 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
11003 (build-system emacs-build-system)
11004 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11005 (home-page "https://github.com/troyp/evil-visual-replace")
11006 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
11007 (description
11008 "This package provides versions of @code{query-replace} and
11009 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
11010 (license license:gpl2+)))
11011
11012 (define-public emacs-evil-visualstar
11013 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
11014 (version "0.2.0")
11015 (revision "1"))
11016 (package
11017 (name "emacs-evil-visualstar")
11018 (version (git-version version revision commit))
11019 (source
11020 (origin
11021 (method git-fetch)
11022 (uri (git-reference
11023 (url "https://github.com/bling/evil-visualstar")
11024 (commit commit)))
11025 (file-name (git-file-name name version))
11026 (sha256
11027 (base32
11028 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
11029 (build-system emacs-build-system)
11030 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11031 (home-page "https://github.com/bling/evil-visualstar")
11032 (synopsis "Instantly search using the visual selection")
11033 (description
11034 "This package provides @code{evil-mode} functions for using selected text
11035 to search.")
11036 (license license:gpl3+))))
11037
11038 (define-public emacs-monky
11039 (package
11040 (name "emacs-monky")
11041 (version "0.1")
11042 (source (origin
11043 (method git-fetch)
11044 (uri (git-reference
11045 (url "https://github.com/ananthakumaran/monky")
11046 (commit version)))
11047 (file-name (git-file-name name version))
11048 (sha256
11049 (base32
11050 "1fgn7al4zwz2k5wb5dy3byqg9lsrjk9fra341mxh5ma2pfwxjgps"))))
11051 (build-system emacs-build-system)
11052 (home-page "https://ananthakumaran.in/monky/index.html")
11053 (arguments
11054 `(#:tests? #t
11055 #:test-command '("emacs" "--batch"
11056 "-l" "test/monky-unit-test.el"
11057 "-f" "ert-run-tests-batch-and-exit")))
11058 (synopsis "Interactive interface for the Mercurial version control system")
11059 (description
11060 "Monky provides an Emacs interface for Mercurial (Hg). Using Monky, you
11061 can selectively commit files, view the diffs, and other things.")
11062 (license license:gpl3+)))
11063
11064 (define-public emacs-monroe
11065 (package
11066 (name "emacs-monroe")
11067 (version "0.3.1")
11068 (source
11069 (origin
11070 (method git-fetch)
11071 (uri (git-reference
11072 (url "https://github.com/sanel/monroe")
11073 (commit version)))
11074 (file-name (git-file-name name version))
11075 (sha256
11076 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
11077 (build-system emacs-build-system)
11078 (home-page "https://github.com/sanel/monroe")
11079 (synopsis "Clojure nREPL client for Emacs")
11080 (description
11081 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
11082 distribution, primarily targeting Clojure users")
11083 (license license:gpl3+)))
11084
11085 (define-public emacs-orgalist
11086 (package
11087 (name "emacs-orgalist")
11088 (version "1.13")
11089 (source
11090 (origin
11091 (method url-fetch)
11092 (uri (string-append "https://elpa.gnu.org/packages/"
11093 "orgalist-" version ".el"))
11094 (sha256
11095 (base32 "1wkxc5kcy1g4lx6pd78pa8znncjyl9zyhsvz7wpp56qmhq4hlav3"))))
11096 (build-system emacs-build-system)
11097 (home-page "https://elpa.gnu.org/packages/orgalist.html")
11098 (synopsis "Manage Org-like lists in non-Org buffers")
11099 (description "Orgalist writes and manages Org mode's plain lists in
11100 non-Org buffers. More specifically, it supports the syntax of Org mode for
11101 numbered, unnumbered, description items, checkboxes, and counter cookies.
11102
11103 The library also implements radio lists, i.e., lists written in Org syntax
11104 later translated into the host format, e.g., LaTeX or HTML.")
11105 (license license:gpl3+)))
11106
11107 (define-public emacs-writegood-mode
11108 (package
11109 (name "emacs-writegood-mode")
11110 (version "2.0.2")
11111 (home-page "https://github.com/bnbeckwith/writegood-mode")
11112 (source (origin
11113 (method git-fetch)
11114 (uri (git-reference
11115 (url home-page)
11116 (commit (string-append "v" version))))
11117 (sha256
11118 (base32
11119 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
11120 (file-name (string-append name "-checkout"))))
11121 (build-system emacs-build-system)
11122 (synopsis "Polish up poor writing on the fly")
11123 (description
11124 "This minor mode tries to find and highlight problems with your writing
11125 in English as you type. It primarily detects \"weasel words\" and abuse of
11126 passive voice.")
11127 (license license:gpl3+)))
11128
11129 (define-public emacs-neotree
11130 (package
11131 (name "emacs-neotree")
11132 (version "0.5.2")
11133 (home-page "https://github.com/jaypei/emacs-neotree")
11134 (source (origin
11135 (method git-fetch)
11136 (uri (git-reference
11137 (url home-page)
11138 (commit version)))
11139 (sha256
11140 (base32
11141 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
11142 (file-name (git-file-name name version))))
11143 (build-system emacs-build-system)
11144 (synopsis "Folder tree view for Emacs")
11145 (description "This Emacs package provides a folder tree view.")
11146 (license license:gpl3+)))
11147
11148 (define-public emacs-org
11149 (package
11150 (name "emacs-org")
11151 ;; emacs-org-contrib inherits from this package. Please update it as
11152 ;; well.
11153 (version "9.4.5")
11154 (source
11155 (origin
11156 (method url-fetch)
11157 (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
11158 (sha256
11159 (base32 "0h5qhrd984vf17qc227wz68191xfgbpq32dyhw0lcz2d9i0pl3xk"))))
11160 (build-system emacs-build-system)
11161 (arguments
11162 `(#:phases
11163 (modify-phases %standard-phases
11164 ;; FIXME: The elpa tarball upstream does not include the version
11165 ;; number, remove this phase when this is fixed.
11166 ;; https://lists.gnu.org/archive/html/emacs-orgmode/2020-12/msg00729.html
11167 (add-after 'unpack 'fix-org-version
11168 (lambda _
11169 (substitute* "org-version.el"
11170 (("org-release \"\"")
11171 (string-append "org-release \"" ,version "\"")))
11172 #t))
11173 (add-after 'install 'install-documentation
11174 (lambda* (#:key outputs #:allow-other-keys)
11175 (let* ((share (string-append (assoc-ref outputs "out") "/share"))
11176 (info-dir (string-append share "/info"))
11177 (doc-dir (string-append share "/doc/" ,name "-" ,version)))
11178 (install-file "org.info" info-dir)
11179 (install-file "orgguide.info" info-dir)
11180 ;; XXX: "orgcard.pdf" is not built in Org 9.4.5.
11181 ;; (install-file "orgcard.pdf" doc-dir)
11182 )
11183 #t)))))
11184 (home-page "https://orgmode.org/")
11185 (synopsis "Outline-based notes management and organizer")
11186 (description "Org is an Emacs mode for keeping notes, maintaining TODO
11187 lists, and project planning with a fast and effective lightweight markup
11188 language. It also is an authoring system with unique support for literate
11189 programming and reproducible research.")
11190 (license license:gpl3+)))
11191
11192 (define-public emacs-org-contrib
11193 (package
11194 (inherit emacs-org)
11195 (name "emacs-org-contrib")
11196 (version "20210329")
11197 (source
11198 (origin
11199 (method url-fetch)
11200 (uri (string-append "https://orgmode.org/elpa/"
11201 "org-plus-contrib-" version ".tar"))
11202 (sha256
11203 (base32 "1l0ycz77hwmjb4sffhabb0d0hg1c9ypxbpbyv8xj5ib4nbi87f2h"))
11204 ;; ob-sclang.el is packaged separately to avoid the dependency on
11205 ;; SuperCollider and qtwebengine.
11206 (modules '((guix build utils)))
11207 (snippet '(begin (delete-file "ob-sclang.el") #t))))
11208 (arguments
11209 `(#:modules ((guix build emacs-build-system)
11210 (guix build utils)
11211 (guix build emacs-utils)
11212 (ice-9 ftw)
11213 (srfi srfi-1))
11214 #:phases
11215 (modify-phases %standard-phases
11216 (add-after 'install 'delete-org-files
11217 (lambda* (#:key inputs outputs #:allow-other-keys)
11218 (let* ((out (assoc-ref outputs "out"))
11219 (org (assoc-ref inputs "org"))
11220 (contrib-files
11221 (map basename (find-files out)))
11222 (org+contrib-files
11223 (map basename (find-files org)))
11224 (duplicates (lset-intersection string=?
11225 contrib-files
11226 org+contrib-files)))
11227 (with-directory-excursion
11228 (string-append out "/share/emacs/site-lisp")
11229 (for-each delete-file duplicates))
11230 #t))))))
11231 (propagated-inputs
11232 `(("arduino-mode" ,emacs-arduino-mode)
11233 ("cider" ,emacs-cider)
11234 ("org" ,emacs-org)))
11235 (synopsis "Contributed packages to Org mode")
11236 (description "Org is an Emacs mode for keeping notes, maintaining TODO
11237 lists, and project planning with a fast and effective plain-text system.
11238
11239 This package is equivalent to org-plus-contrib, but only includes additional
11240 files that you would find in @file{contrib/} from the git repository.")))
11241
11242 (define-public emacs-org-pretty-table
11243 ;; There is no release yet.
11244 (let ((commit "1331c600b83d95b28730b1bfcb48369ac1cf12ef")
11245 (revision "0"))
11246 (package
11247 (name "emacs-org-pretty-table")
11248 (version (git-version "0.0.1" revision commit))
11249 (source
11250 (origin
11251 (method git-fetch)
11252 (uri (git-reference
11253 (url "https://github.com/Fuco1/org-pretty-table")
11254 (commit commit)))
11255 (file-name (git-file-name name version))
11256 (sha256
11257 (base32 "0yvqxh66y400n2n5ykmb1zrzd80bakffpwn6nmf37728x4cj8krh"))))
11258 (build-system emacs-build-system)
11259 (home-page "https://github.com/Fuco1/org-pretty-table")
11260 (synopsis "Make tables in Org mode and OrgTbl mode prettier")
11261 (description
11262 "This package displays tables in Org mode and OrgTbl mode using Unicode
11263 characters.")
11264 (license license:gpl3+))))
11265
11266 (define-public emacs-ob-sclang
11267 (package
11268 (inherit emacs-org-contrib)
11269 (name "emacs-ob-sclang")
11270 (source
11271 (origin (inherit (package-source emacs-org-contrib))
11272 (modules '((guix build utils)))
11273 (snippet
11274 '(begin
11275 (for-each (lambda (file)
11276 (unless (equal? file "./ob-sclang.el")
11277 (delete-file file)))
11278 (find-files "." "\\.el"))
11279 #t))))
11280 (propagated-inputs
11281 `(("org" ,emacs-org)
11282 ("scel" ,emacs-scel)))
11283 (synopsis "Org Babel support for SuperCollider")
11284 (description "This package adds support for evaluating @code{sclang}
11285 Org mode source blocks. It is extracted from the @code{emacs-org-contrib}
11286 package.")))
11287
11288 (define-public emacs-org-edna
11289 (package
11290 (name "emacs-org-edna")
11291 (version "1.1.2")
11292 (source (origin
11293 (method bzr-fetch)
11294 (uri (bzr-reference
11295 (url "bzr://bzr.savannah.nongnu.org/org-edna-el")
11296 (revision version)))
11297 (file-name (string-append name "-" version "-checkout"))
11298 (sha256
11299 (base32
11300 "01dblddgx0yid5hrgl4swbr4grhv057kfbdy122wihzqpsrgq86n"))))
11301 (build-system emacs-build-system)
11302 (home-page "https://savannah.nongnu.org/projects/org-edna-el/")
11303 (synopsis "Manage Org task dependencies")
11304 (description "This package provides an extensible means of specifying
11305 conditions which must be fulfilled before a task can be completed and actions
11306 to take once it is. Org Edna runs when either the BLOCKER or TRIGGER
11307 properties are set on a heading, and when it is changing from a TODO state to
11308 a DONE state.")
11309 (license license:gpl3+)))
11310
11311 (define-public emacs-flx
11312 (package
11313 (name "emacs-flx")
11314 (version "0.6.1")
11315 (source
11316 (origin
11317 (method git-fetch)
11318 (uri (git-reference
11319 (url "https://github.com/lewang/flx")
11320 (commit (string-append "v" version))))
11321 (sha256
11322 (base32
11323 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
11324 (file-name (git-file-name name version))))
11325 (build-system emacs-build-system)
11326 (home-page "https://github.com/lewang/flx")
11327 (synopsis "Fuzzy matching for Emacs")
11328 (description
11329 "Flx provides fuzzy matching for emacs a la sublime text.
11330 The sorting algorithm is a balance between word beginnings (abbreviation)
11331 and contiguous matches (substring). The longer the substring match,
11332 the higher it scores. This maps well to how we think about matching.
11333 Flx has support for ido (interactively do things) through flx-ido.")
11334 (license license:gpl3+)))
11335
11336 (define-public emacs-cyberpunk-theme
11337 (package
11338 (name "emacs-cyberpunk-theme")
11339 (version "1.22")
11340 (source
11341 (origin
11342 (method git-fetch)
11343 (uri (git-reference
11344 (url "https://github.com/n3mo/cyberpunk-theme.el/")
11345 (commit version)))
11346 (sha256
11347 (base32
11348 "06nff38pcy5rgz13svkajsg0jjk73qy4a8m7p9f76yxcywxlgxlc"))
11349 (file-name (git-file-name name version))))
11350 (build-system emacs-build-system)
11351 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
11352 (synopsis "Cyberpunk theme for Emacs built-in color theme support")
11353 (description
11354 "Cyberpunk color theme for the Emacs 24+ built-in color theme support
11355 known loosely as deftheme. Many mode-specific customizations are included.")
11356 (license license:gpl3+)))
11357
11358 (define-public emacs-dart-mode
11359 (package
11360 (name "emacs-dart-mode")
11361 (version "1.0.5")
11362 (source
11363 (origin
11364 (method git-fetch)
11365 (uri (git-reference
11366 (url "https://github.com/bradyt/dart-mode")
11367 (commit version)))
11368 (file-name (git-file-name name version))
11369 (sha256
11370 (base32 "1qmdlwjmmqyyb65sqvfpygifai5m0llc815vp0jqwp8ldd8ls172"))))
11371 (build-system emacs-build-system)
11372 (propagated-inputs
11373 `(("emacs-dash" ,emacs-dash)
11374 ("emacs-flycheck" ,emacs-flycheck)
11375 ("emacs-s" ,emacs-s)))
11376 (home-page "https://github.com/bradyt/dart-mode")
11377 (synopsis "Emacs mode for the Dart programming language")
11378 (description
11379 "Dart mode is an Emacs major mode for editing Dart files. It provides
11380 basic syntax highlighting and indentation.")
11381 (license license:gpl3+)))
11382
11383 (define-public emacs-danneskjold-theme
11384 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
11385 (revision "1"))
11386 (package
11387 (name "emacs-danneskjold-theme")
11388 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
11389 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
11390 (source
11391 (origin
11392 (method git-fetch)
11393 (uri (git-reference
11394 (url home-page)
11395 (commit commit)))
11396 (file-name (git-file-name name version))
11397 (sha256
11398 (base32
11399 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
11400 (build-system emacs-build-system)
11401 (arguments
11402 `(#:phases
11403 (modify-phases %standard-phases
11404 (add-after 'unpack 'delete-screenshots
11405 (lambda _
11406 (delete-file-recursively "screenshots") #t)))))
11407 (synopsis "High-contrast Emacs theme")
11408 (description
11409 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
11410 (license license:gpl3+))))
11411
11412 (define-public emacs-dream-theme
11413 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
11414 (revision "1"))
11415 (package
11416 (name "emacs-dream-theme")
11417 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
11418 (source
11419 (origin
11420 (method git-fetch)
11421 (uri (git-reference
11422 (url "https://github.com/djcb/dream-theme")
11423 (commit commit)))
11424 (file-name (git-file-name name version))
11425 (sha256
11426 (base32
11427 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
11428 (build-system emacs-build-system)
11429 (home-page "https://github.com/djcb/dream-theme")
11430 (synopsis "High-contrast Emacs theme")
11431 (description
11432 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
11433 by zenburn, sinburn and similar themes, but slowly diverging from them.")
11434 (license license:gpl3+))))
11435
11436 (define-public emacs-dracula-theme
11437 (package
11438 (name "emacs-dracula-theme")
11439 (version "1.7.0")
11440 (source
11441 (origin
11442 (method git-fetch)
11443 (uri (git-reference
11444 (url "https://github.com/dracula/emacs")
11445 (commit (string-append "v" version))))
11446 (file-name (git-file-name name version))
11447 (sha256
11448 (base32 "15y2djc5jljlvls1x9kp50m1kp0dcksmyixafsyimj66xpq9ngh0"))))
11449 (build-system emacs-build-system)
11450 (home-page "https://draculatheme.com/")
11451 (synopsis "Dark theme for Emacs")
11452 (description
11453 "Dracula is a dark color theme for many editors, shells and more. This
11454 package provides the Emacs theme.")
11455 (license license:expat)))
11456
11457 (define-public emacs-auto-complete
11458 (package
11459 (name "emacs-auto-complete")
11460 (version "1.5.1")
11461 (source
11462 (origin
11463 (method git-fetch)
11464 (uri (git-reference
11465 (url "https://github.com/auto-complete/auto-complete")
11466 (commit (string-append "v" version))))
11467 (sha256
11468 (base32
11469 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
11470 (file-name (git-file-name name version))))
11471 (build-system emacs-build-system)
11472 (propagated-inputs
11473 `(("emacs-popup" ,emacs-popup)))
11474 (home-page "https://github.com/auto-complete/auto-complete")
11475 (synopsis "Intelligent auto-completion extension for Emacs")
11476 (description
11477 "Auto-Complete is an intelligent auto-completion extension for Emacs.
11478 It extends the standard Emacs completion interface and provides an environment
11479 that allows users to concentrate more on their own work. Its features are:
11480 a visual interface, reduce overhead of completion by using statistic method,
11481 extensibility.")
11482 (license license:gpl3+)))
11483
11484 (define-public emacs-nginx-mode
11485 (package
11486 (name "emacs-nginx-mode")
11487 (version "1.1.9")
11488 (source
11489 (origin
11490 (method git-fetch)
11491 (uri (git-reference
11492 (url "https://github.com/ajc/nginx-mode")
11493 (commit (string-append "v" version))))
11494 (file-name (git-file-name name version))
11495 (sha256
11496 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
11497 (build-system emacs-build-system)
11498 (home-page "https://github.com/ajc/nginx-mode")
11499 (synopsis "Emacs major mode for editing nginx config files")
11500 (description "This package provides an Emacs major mode for
11501 editing nginx config files.")
11502 (license license:gpl2+)))
11503
11504 (define-public emacs-stream
11505 (package
11506 (name "emacs-stream")
11507 (version "2.2.5")
11508 (source
11509 (origin
11510 (method url-fetch)
11511 (uri (string-append "https://elpa.gnu.org/packages/"
11512 "stream-" version ".tar"))
11513 (file-name (git-file-name name version))
11514 (sha256
11515 (base32 "00c3n4gyxzv7vczqms0d62kl8zsmjfyxa92mwxn2snyx857a9jfw"))))
11516 (build-system emacs-build-system)
11517 (home-page "http://elpa.gnu.org/packages/stream.html")
11518 (synopsis "Implementation of streams for Emacs")
11519 (description "This library provides an implementation of streams for Emacs.
11520 Streams are implemented as delayed evaluation of cons cells.")
11521 (license license:gpl3+)))
11522
11523 (define-public emacs-cl-print
11524 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
11525 (revision "1"))
11526 (package
11527 (name "emacs-cl-print")
11528 (version (git-version "1.0" revision commit))
11529 (source
11530 (origin
11531 (method git-fetch)
11532 (uri (git-reference
11533 (url "https://github.com/emacsmirror/cl-print")
11534 (commit commit)))
11535 (file-name (git-file-name name version))
11536 (sha256
11537 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
11538 (build-system emacs-build-system)
11539 (home-page "https://github.com/emacsmirror/cl-print")
11540 (synopsis "CL-style generic printing")
11541 (description "This package provides a generic function,
11542 @code{cl-print-object}, to which the programmer can add any method they
11543 please.")
11544 (license license:gpl3+))))
11545
11546 (define-public emacs-el-search
11547 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
11548 (revision "2"))
11549 (package
11550 (name "emacs-el-search")
11551 (version (git-version "1.12.6.1" revision commit))
11552 (source
11553 (origin
11554 (method git-fetch)
11555 (uri (git-reference
11556 (url "https://github.com/emacsmirror/el-search")
11557 (commit commit)))
11558 (file-name (git-file-name name version))
11559 (sha256
11560 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
11561 (build-system emacs-build-system)
11562 (inputs
11563 `(("emacs-stream" ,emacs-stream)
11564 ("emacs-cl-print" ,emacs-cl-print)))
11565 (home-page "https://github.com/emacsmirror/el-search")
11566 (synopsis "Expression based interactive search for emacs-lisp-mode")
11567 (description "This package provides expression based interactive search
11568 procedures for emacs-lisp-mode.")
11569 (license license:gpl3+))))
11570
11571 (define-public emacs-ht
11572 (package
11573 (name "emacs-ht")
11574 (version "2.3")
11575 (source
11576 (origin
11577 (method git-fetch)
11578 (uri (git-reference
11579 (url "https://github.com/Wilfred/ht.el")
11580 (commit version)))
11581 (file-name (git-file-name name version))
11582 (sha256
11583 (base32 "0can9v336lgnq0q2ha3js0565jzp3dlwwqxhcbx5swk5kp148f07"))))
11584 (build-system emacs-build-system)
11585 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
11586 (native-inputs
11587 `(("emacs-ert-runner" ,emacs-ert-runner)))
11588 (arguments
11589 `(#:tests? #t
11590 #:test-command '("ert-runner")))
11591 (home-page "https://github.com/Wilfred/ht.el")
11592 (synopsis "Hash table library for Emacs")
11593 (description
11594 "This package simplifies the use of hash tables in elisp. It also
11595 provides functions to convert hash tables from and to alists and plists.")
11596 (license license:gpl3+)))
11597
11598 (define-public emacs-log4e
11599 (package
11600 (name "emacs-log4e")
11601 (version "0.3.3")
11602 (source
11603 (origin
11604 (method git-fetch)
11605 (uri (git-reference
11606 (url "https://github.com/aki2o/log4e")
11607 (commit (string-append "v" version))))
11608 (file-name (git-file-name name version))
11609 (sha256
11610 (base32 "0dbnks76v05allzkhx9zmyqpn6sk5376n8k2rbpnaw6gmz1ib2fv"))))
11611 (build-system emacs-build-system)
11612 (arguments
11613 `(#:phases
11614 (modify-phases %standard-phases
11615 (add-after 'unpack 'remove-tests
11616 ;; Guile builder complains about null characters in some
11617 ;; strings of test files. Remove "test" directory (it is not
11618 ;; needed anyway).
11619 (lambda _
11620 (delete-file-recursively "test"))))))
11621 (home-page "https://github.com/aki2o/log4e")
11622 (synopsis "Logging framework for elisp")
11623 (description
11624 "This package provides a logging framework for elisp. It allows
11625 you to deal with multiple log levels.")
11626 (license license:gpl3+)))
11627
11628 (define-public emacs-gn-mode
11629 (package
11630 (name "emacs-gn-mode")
11631 (version "0.4.1")
11632 (source
11633 (origin
11634 (method git-fetch)
11635 (uri (git-reference
11636 (url "https://github.com/lashtear/gn-mode")
11637 (commit version)))
11638 (file-name (git-file-name name version))
11639 (sha256
11640 (base32 "0dz5kgzbgsssr38z2kg6m915cvfys42ag1k42bsra3la2pixywfx"))))
11641 (build-system emacs-build-system)
11642 (home-page "https://github.com/lashtear/gn-mode")
11643 (synopsis "Emacs major mode for editing GN (ninja generator) config files")
11644 (description
11645 "GN mode is a major mode for editing @acronym{GN,Ninja Generator} config
11646 files in Emacs. Files of this type (e.g., @file{BUILD.gn} or @file{*.gni})
11647 are common in Chromium-derived projects.")
11648 (license license:bsd-3)))
11649
11650 (define-public emacs-gntp
11651 (package
11652 (name "emacs-gntp")
11653 (version "0.1")
11654 (source
11655 (origin
11656 (method git-fetch)
11657 (uri (git-reference
11658 (url "https://github.com/tekai/gntp.el")
11659 (commit (string-append "v" version))))
11660 (file-name (git-file-name name version))
11661 (sha256
11662 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
11663 (build-system emacs-build-system)
11664 (home-page "https://github.com/tekai/gntp.el")
11665 (synopsis "Growl Notification Protocol for Emacs")
11666 (description
11667 "This package implements the Growl Notification Protocol GNTP
11668 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
11669 It is incomplete as it only lets you send but not receive
11670 notifications.")
11671 (license license:bsd-3)))
11672
11673 (define-public emacs-alert
11674 (package
11675 (name "emacs-alert")
11676 (version "1.3")
11677 (source
11678 (origin
11679 (method git-fetch)
11680 (uri (git-reference
11681 (url "https://github.com/jwiegley/alert")
11682 (commit (string-append "v" version))))
11683 (file-name (git-file-name name version))
11684 (sha256
11685 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
11686 (build-system emacs-build-system)
11687 (propagated-inputs
11688 `(("emacs-gntp" ,emacs-gntp)
11689 ("emacs-log4e" ,emacs-log4e)))
11690 (home-page "https://github.com/jwiegley/alert")
11691 (synopsis "Growl-style notification system for Emacs")
11692 (description
11693 "Alert is a Growl-workalike for Emacs which uses a common notification
11694 interface and multiple, selectable \"styles\", whose use is fully
11695 customizable by the user.")
11696 (license license:gpl2+)))
11697
11698 (define-public emacs-zones
11699 (package
11700 (name "emacs-zones")
11701 (version "2019.7.13")
11702 (source
11703 (origin
11704 (method url-fetch)
11705 (uri (string-append "https://elpa.gnu.org/packages/"
11706 "zones-" version ".el"))
11707 (sha256
11708 (base32 "0qp1ba2pkqx9d35g7z8hf8qs2k455krf2a92l4rka3ipsbnmq5k1"))))
11709 (build-system emacs-build-system)
11710 (home-page "https://www.emacswiki.org/emacs/Zones")
11711 (synopsis "Define and act on multiple zones of buffer text")
11712 (description
11713 "Library @file{zones.el} lets you easily define and subsequently act on
11714 multiple zones of buffer text. You can think of this as enlarging the notion
11715 of region. In effect, it can remove the requirement of target text being
11716 a contiguous sequence of characters. A set of buffer zones is, in effect,
11717 a (typically) noncontiguous set of text.")
11718 (license license:gpl3+)))
11719
11720 (define-public emacs-mu4e-alert
11721 (package
11722 (name "emacs-mu4e-alert")
11723 (version "1.0")
11724 (source
11725 (origin
11726 (method git-fetch)
11727 (uri (git-reference
11728 (url "https://github.com/iqbalansari/mu4e-alert")
11729 (commit (string-append "v" version))))
11730 (file-name (git-file-name name version))
11731 (sha256
11732 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
11733 (build-system emacs-build-system)
11734 (propagated-inputs
11735 `(("emacs-alert" ,emacs-alert)
11736 ("emacs-s" ,emacs-s)
11737 ("emacs-ht" ,emacs-ht)
11738 ("mu" ,mu)))
11739 (home-page "https://github.com/iqbalansari/mu4e-alert")
11740 (synopsis "Desktop notification for mu4e")
11741 (description
11742 "This package provides desktop notifications for mu4e.
11743 Additionally it can display the number of unread emails in the
11744 mode-line.")
11745 (license license:gpl3+)))
11746
11747 (define-public emacs-mu4e-jump-to-list
11748 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
11749 (revision "1"))
11750 (package
11751 (name "emacs-mu4e-jump-to-list")
11752 (version (git-version "1.0" revision commit))
11753 (source
11754 (origin
11755 (method git-fetch)
11756 (uri (git-reference
11757 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
11758 (commit commit)))
11759 (file-name (git-file-name name version))
11760 (sha256
11761 (base32
11762 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
11763 (build-system emacs-build-system)
11764 (propagated-inputs
11765 `(("mu" ,mu)))
11766 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
11767 (synopsis "Select and view mailing lists in mu4e")
11768 (description
11769 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
11770 automatically using existing List-ID headers in your mu database. Just press
11771 \"l\" in the headers view and any mailing list you've subscribed to will be
11772 automatically discovered and presented in recency order.")
11773 (license license:gpl3+))))
11774
11775 (define-public emacs-mu4e-patch
11776 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
11777 (revision "1"))
11778 (package
11779 (name "emacs-mu4e-patch")
11780 (version (git-version "0.1.0" revision commit))
11781 (source (origin
11782 (method git-fetch)
11783 (uri (git-reference
11784 (url "https://github.com/seanfarley/mu4e-patch")
11785 (commit commit)))
11786 (file-name (git-file-name name version))
11787 (sha256
11788 (base32
11789 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
11790 (build-system emacs-build-system)
11791 (propagated-inputs
11792 `(("mu" ,mu)))
11793 (home-page "https://github.com/seanfarley/mu4e-patch")
11794 (synopsis "Colorize patch-like emails in mu4e")
11795 (description
11796 "Extension for mu4e to colorize patch-like emails with diff-mode.
11797 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
11798 been adapted to work with mu4e.")
11799 (license license:gpl3+))))
11800
11801 (define-public emacs-pretty-mode
11802 (package
11803 (name "emacs-pretty-mode")
11804 (version "2.0.3")
11805 (source
11806 (origin
11807 (method git-fetch)
11808 (uri (git-reference
11809 (url "https://github.com/akatov/pretty-mode/")
11810 (commit version)))
11811 (file-name (git-file-name name version))
11812 (sha256
11813 (base32
11814 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
11815 (build-system emacs-build-system)
11816 (home-page "https://github.com/akatov/pretty-mode")
11817 (synopsis "Redisplay parts of the buffer as Unicode symbols")
11818 (description
11819 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
11820 (license license:gpl3+)))
11821
11822 (define-public emacs-yasnippet
11823 (package
11824 (name "emacs-yasnippet")
11825 (version "0.14.0")
11826 (source
11827 (origin
11828 (method git-fetch)
11829 (uri (git-reference
11830 (url "https://github.com/joaotavora/yasnippet")
11831 (commit version)))
11832 (file-name (git-file-name name version))
11833 (sha256
11834 (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))))
11835 (build-system emacs-build-system)
11836 (arguments
11837 `(#:tests? #t
11838 #:test-command '("emacs" "--batch"
11839 "-l" "yasnippet-tests.el"
11840 "-f" "ert-run-tests-batch-and-exit")
11841 #:phases
11842 (modify-phases %standard-phases
11843 ;; Set HOME, otherwise test-rebindings fails.
11844 (add-before 'check 'set-home
11845 (lambda _
11846 (setenv "HOME" (getcwd))
11847 #t)))))
11848 (home-page "https://github.com/joaotavora/yasnippet")
11849 (synopsis "Yet another snippet extension for Emacs")
11850 (description "YASnippet is a template system for Emacs. It allows you to
11851 type an abbreviation and automatically expand it into function templates.")
11852 (license license:gpl3+)))
11853
11854 (define-public emacs-yasnippet-snippets
11855 (package
11856 (name "emacs-yasnippet-snippets")
11857 (version "0.23")
11858 (source
11859 (origin
11860 (method git-fetch)
11861 (uri (git-reference
11862 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
11863 (commit version)))
11864 (file-name (git-file-name name version))
11865 (sha256
11866 (base32 "18pcnjnqvcky6i49p38vy3ms5xiisn27vy47pc3vsgr3r2n87mqb"))))
11867 (build-system emacs-build-system)
11868 (arguments
11869 `(#:include (cons* "^snippets\\/" %default-include)))
11870 (propagated-inputs
11871 `(("emacs-s" ,emacs-s) ;for snippets/rjsx-mode/.yas-setup.el
11872 ("emacs-yasnippet" ,emacs-yasnippet)))
11873 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
11874 (synopsis "Collection of YASnippet snippets for many languages")
11875 (description "This package provides an extensive collection of YASnippet
11876 snippets. When this package is installed, the extra snippets it provides are
11877 automatically made available to YASnippet.")
11878 (license license:gpl3+)))
11879
11880 (define-public emacs-helm-c-yasnippet
11881 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
11882 (revision "1"))
11883 (package
11884 (name "emacs-helm-c-yasnippet")
11885 (version (string-append "0.6.7" "-" revision "."
11886 (string-take commit 7)))
11887 (source (origin
11888 (method git-fetch)
11889 (uri (git-reference
11890 (url "https://github.com/emacs-jp/helm-c-yasnippet")
11891 (commit commit)))
11892 (file-name (git-file-name name version))
11893 (sha256
11894 (base32
11895 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
11896 (build-system emacs-build-system)
11897 (propagated-inputs
11898 `(("emacs-helm" ,emacs-helm)
11899 ("emacs-yasnippet" ,emacs-yasnippet)))
11900 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
11901 (synopsis "Helm integration for Yasnippet")
11902 (description "This Emacs library provides Helm interface for
11903 Yasnippet.")
11904 (license license:gpl2+))))
11905
11906 (define-public emacs-helm-system-packages
11907 (package
11908 (name "emacs-helm-system-packages")
11909 (version "1.10.2")
11910 (source (origin
11911 (method git-fetch)
11912 (uri (git-reference
11913 (url "https://github.com/emacs-helm/helm-system-packages")
11914 (commit (string-append "v" version))))
11915 (file-name (git-file-name name version))
11916 (sha256
11917 (base32
11918 "13a8jpj4wwm0yjv8hnsizgjf8wi3r2ap87lyvw7g4c7snp2dydwa"))))
11919 (build-system emacs-build-system)
11920 (inputs
11921 `(("recutils" ,recutils)))
11922 (propagated-inputs
11923 `(("emacs-helm" ,emacs-helm)))
11924 (arguments
11925 `(#:phases
11926 (modify-phases %standard-phases
11927 (add-after 'unpack 'configure
11928 (lambda* (#:key inputs outputs #:allow-other-keys)
11929 (let ((recutils (assoc-ref inputs "recutils")))
11930 ;; Specify the absolute file names of the various
11931 ;; programs so that everything works out-of-the-box.
11932 (substitute* "helm-system-packages-guix.el"
11933 (("recsel") (string-append recutils "/bin/recsel")))))))))
11934 (home-page "https://github.com/emacs-helm/helm-system-packages")
11935 (synopsis "Helm System Packages is an interface to your package manager")
11936 (description "List all available packages in Helm (with installed
11937 packages displayed in their own respective face). Fuzzy-search, mark and
11938 execute the desired action over any selections of packages: Install,
11939 uninstall, display packages details (in Org Mode) or insert details at point,
11940 find files owned by packages... And much more, including performing all the
11941 above over the network.")
11942 (license license:gpl3+)))
11943
11944 (define-public emacs-helm-org-rifle
11945 (package
11946 (name "emacs-helm-org-rifle")
11947 (version "1.7.0")
11948 (source
11949 (origin
11950 (method git-fetch)
11951 (uri (git-reference
11952 (url "https://github.com/alphapapa/helm-org-rifle")
11953 (commit version)))
11954 (file-name (git-file-name name version))
11955 (sha256
11956 (base32
11957 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
11958 (build-system emacs-build-system)
11959 (propagated-inputs
11960 `(("emacs-dash" ,emacs-dash)
11961 ("emacs-f" ,emacs-f)
11962 ("emacs-helm" ,emacs-helm)
11963 ("emacs-org" ,emacs-org)
11964 ("emacs-s" ,emacs-s)))
11965 (home-page "https://github.com/alphapapa/helm-org-rifle")
11966 (synopsis "Rifle through Org files")
11967 (description "This package searches both headings and contents of entries
11968 in Org buffers and displays matching entries.")
11969 (license license:gpl3+)))
11970
11971 (define-public emacs-dired-git-info
11972 ;; Upstream has no proper release. The base version is extracted from the
11973 ;; "Version" keyword in the main file.
11974 (let ((commit "91d57e3a4c5104c66a3abc18e281ee55e8979176")
11975 (revision "0"))
11976 (package
11977 (name "emacs-dired-git-info")
11978 (version (git-version "0.3.1" revision commit))
11979 (source
11980 (origin
11981 (method git-fetch)
11982 (uri
11983 (git-reference
11984 (url "https://github.com/clemera/dired-git-info")
11985 (commit commit)))
11986 (file-name (git-file-name name version))
11987 (sha256
11988 (base32 "1dr4iv95s4barxxj56znqkl9z0lg5jw731jmjr01s6vn8ar69gik"))))
11989 (build-system emacs-build-system)
11990 (home-page "https://github.com/clemera/dired-git-info/")
11991 (synopsis "Show git info in Emacs Dired")
11992 (description "This Emacs package provides a minor mode which shows git
11993 information inside the Dired buffer.")
11994 (license license:gpl3+))))
11995
11996 (define-public emacs-dired-toggle-sudo
11997 (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
11998 (revision "0"))
11999 (package
12000 (name "emacs-dired-toggle-sudo")
12001 (version (git-version "1.0" revision commit))
12002 (source
12003 (origin
12004 (method git-fetch)
12005 (uri (git-reference
12006 (url "https://github.com/renard/dired-toggle-sudo")
12007 (commit commit)))
12008 (file-name (git-file-name name version))
12009 (sha256
12010 (base32
12011 "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car"))))
12012 (build-system emacs-build-system)
12013 (home-page "https://github.com/renard/dired-toggle-sudo")
12014 (synopsis "Browse directory with @code{sudo} privileges")
12015 (description "This package allows for the use of @code{dired} with
12016 @code{sudo} privileges.")
12017 (license license:wtfpl2))))
12018
12019 (define-public emacs-diredfl
12020 (package
12021 (name "emacs-diredfl")
12022 (version "0.4")
12023 (source
12024 (origin
12025 (method git-fetch)
12026 (uri
12027 (git-reference
12028 (url "https://github.com/purcell/diredfl")
12029 (commit version)))
12030 (file-name (git-file-name name version))
12031 (sha256
12032 (base32 "1zb2lz7rp58zqvpniqcsmqabi7nqg2d8bfd0hgmq68bn2hd25b5z"))))
12033 (build-system emacs-build-system)
12034 (home-page "https://github.com/purcell/diredfl/")
12035 (synopsis "Extra Emacs font lock rules for a more colourful Dired")
12036 (description "This library enables additional font locking in Dired mode.
12037 This is adapted from the extra font lock rules provided by Drew Adams' Dired+
12038 package.")
12039 (license license:gpl3+)))
12040
12041 (define-public emacs-memoize
12042 (package
12043 (name "emacs-memoize")
12044 (version "1.1")
12045 (source
12046 (origin
12047 (method git-fetch)
12048 (uri (git-reference
12049 (url "https://github.com/skeeto/emacs-memoize")
12050 (commit version)))
12051 (file-name (git-file-name name version))
12052 (sha256
12053 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
12054 (build-system emacs-build-system)
12055 (arguments
12056 `(#:tests? #t
12057 #:test-command '("emacs" "--batch"
12058 "-l" "memoize-test.el"
12059 "-f" "ert-run-tests-batch-and-exit")))
12060 (home-page "https://github.com/skeeto/emacs-memoize")
12061 (synopsis "Emacs lisp memoization library")
12062 (description "@code{emacs-memoize} is an Emacs library for
12063 memoizing functions.")
12064 (license license:unlicense)))
12065
12066 (define-public emacs-linum-relative
12067 (package
12068 (name "emacs-linum-relative")
12069 (version "0.6")
12070 (source
12071 (origin
12072 (method git-fetch)
12073 (uri (git-reference
12074 (url "https://github.com/coldnew/linum-relative")
12075 (commit version)))
12076 (file-name (git-file-name name version))
12077 (sha256
12078 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
12079 (build-system emacs-build-system)
12080 (home-page "https://github.com/coldnew/linum-relative")
12081 (synopsis "Relative line numbering for Emacs")
12082 (description "@code{emacs-linum-relative} displays the relative line
12083 number on the left margin in Emacs.")
12084 (license license:gpl2+)))
12085
12086 (define-public emacs-idle-highlight
12087 (package
12088 (name "emacs-idle-highlight")
12089 (version "1.1.3")
12090 (source
12091 (origin
12092 (method git-fetch)
12093 (uri (git-reference
12094 (url "https://github.com/nonsequitur/idle-highlight-mode")
12095 (commit version)))
12096 (file-name (git-file-name name version))
12097 (sha256
12098 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
12099 (build-system emacs-build-system)
12100 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
12101 (synopsis "Highlights all occurrences of the word the point is on")
12102 (description
12103 "This Emacs package provides @code{idle-highlight-mode} that sets
12104 an idle timer to highlight all occurrences in the buffer of the word under
12105 the point.")
12106 (license license:gpl3+)))
12107
12108 (define-public emacs-ox-twbs
12109 (package
12110 (name "emacs-ox-twbs")
12111 (version "1.1.4")
12112 (source
12113 (origin
12114 (method git-fetch)
12115 (uri (git-reference
12116 (url "https://github.com/marsmining/ox-twbs")
12117 (commit (string-append "v" version))))
12118 (file-name (git-file-name name version))
12119 (sha256
12120 (base32 "0nffy7ivs8fw0dj3s66hbsby0riz5wrv7xzm8g9mrfvhki938pqa"))))
12121 (build-system emacs-build-system)
12122 (home-page "https://github.com/marsmining/ox-twbs")
12123 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
12124 (description
12125 "This Emacs package outputs your org-mode docs with a simple, clean and
12126 modern look. It implements a new HTML back-end for exporting org-mode docs as
12127 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
12128 jQuery and Bootstrap resources included via osscdn.")
12129 (license license:gpl3+)))
12130
12131 (define-public emacs-highlight-sexp
12132 (package
12133 (name "emacs-highlight-sexp")
12134 (version "1.0")
12135 (source
12136 (origin
12137 (method git-fetch)
12138 (uri (git-reference
12139 (url "https://github.com/daimrod/highlight-sexp")
12140 (commit (string-append "v" version))))
12141 (file-name (git-file-name name version))
12142 (sha256
12143 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
12144 (build-system emacs-build-system)
12145 (home-page "https://github.com/daimrod/highlight-sexp")
12146 (synopsis "Minor mode that highlights the s-exp at the current position")
12147 (description
12148 "This Emacs package highlights the s-exp at the current position.")
12149 (license license:gpl3+)))
12150
12151 (define-public emacs-highlight-stages
12152 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
12153 (revision "1"))
12154 (package
12155 (name "emacs-highlight-stages")
12156 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
12157 (source
12158 (origin
12159 (method git-fetch)
12160 (uri (git-reference
12161 (url "https://github.com/zk-phi/highlight-stages")
12162 (commit commit)))
12163 (file-name (git-file-name name version))
12164 (sha256
12165 (base32
12166 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
12167 (patches
12168 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
12169 (build-system emacs-build-system)
12170 (home-page "https://github.com/wigust/highlight-stages")
12171 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
12172 (description "@code{highlight-stages} provides an Emacs minor mode that
12173 highlights quasi-quoted expressions.")
12174 (license license:gpl3+))))
12175
12176 (define-public emacspeak
12177 (package
12178 (name "emacspeak")
12179 (version "53.0")
12180 (source
12181 (origin
12182 (method url-fetch)
12183 (uri (string-append
12184 "https://github.com/tvraman/emacspeak/releases/download/"
12185 version "/emacspeak-" version ".tar.bz2"))
12186 (sha256
12187 (base32 "0lasj4ggsh93ingf46n16wxfx5zzxvr1igikbmdqlz3i99j331gs"))))
12188 (build-system gnu-build-system)
12189 (arguments
12190 '(#:make-flags (list (string-append "prefix="
12191 (assoc-ref %outputs "out")))
12192 #:phases
12193 (modify-phases %standard-phases
12194 (replace 'configure
12195 (lambda* (#:key inputs outputs #:allow-other-keys)
12196 (setenv "SHELL" (which "sh"))
12197 ;; Ensure the tclespeak.so binary is found in the correct location
12198 ;; by adding the path to the Tclx library to the Tcl $auto_path
12199 ;; variable.
12200 (with-fluids ((%default-port-encoding "ISO-8859-1"))
12201 (substitute* "servers/espeak"
12202 (("package require Tclx")
12203 (string-append "set auto_path [linsert $auto_path 0 "
12204 (assoc-ref inputs "tclx")
12205 "/lib]\n"
12206 "package require Tclx"))))
12207 ;; Configure Emacspeak according to etc/install.org.
12208 (invoke "make" "config")))
12209 (add-after 'build 'build-espeak
12210 (lambda _
12211 (invoke "make" "espeak")))
12212 (replace 'install
12213 (lambda* (#:key inputs outputs #:allow-other-keys)
12214 (let* ((out (assoc-ref outputs "out"))
12215 (bin (string-append out "/bin"))
12216 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
12217 (info (string-append out "/share/info"))
12218 (emacs (string-append (assoc-ref inputs "emacs")
12219 "/bin/emacs")))
12220 ;; According to etc/install.org, the Emacspeak directory should
12221 ;; be copied to its installation destination.
12222 (for-each
12223 (lambda (file)
12224 (copy-recursively file (string-append lisp "/" file)))
12225 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
12226 "stumpwm" "xsl"))
12227 ;; Make sure emacspeak is loaded from the correct directory.
12228 (substitute* "run"
12229 (("\\./lisp/emacspeak-setup.el")
12230 (string-append lisp "/lisp/emacspeak-setup.el")))
12231 ;; Install the convenient startup script.
12232 (mkdir-p bin)
12233 (copy-file "run" (string-append bin "/emacspeak")))
12234 #t)))
12235 #:tests? #f)) ; no check target
12236 (inputs
12237 `(("emacs" ,emacs)
12238 ("espeak" ,espeak-ng)
12239 ("perl" ,perl)
12240 ("tcl" ,tcl)
12241 ("tclx" ,tclx)))
12242 (home-page "http://emacspeak.sourceforge.net")
12243 (synopsis "Audio desktop interface for Emacs")
12244 (description
12245 "Emacspeak is a speech interface that allows visually impaired users to
12246 interact independently and efficiently with the computer. Audio
12247 formatting---a technique pioneered by AsTeR---and full support for W3C's Aural
12248 CSS (ACSS) allows Emacspeak to produce rich aural presentations of electronic
12249 information. By seamlessly blending all aspects of the Internet such as
12250 Web-surfing and messaging, Emacspeak speech-enables local and remote
12251 information via a consistent and well-integrated user interface.")
12252 (license license:gpl2+)))
12253
12254 (define-public emacs-adaptive-wrap
12255 (package
12256 (name "emacs-adaptive-wrap")
12257 (version "0.8")
12258 (source
12259 (origin
12260 (method url-fetch)
12261 (uri (string-append "https://elpa.gnu.org/packages/"
12262 "adaptive-wrap-" version ".tar"))
12263 (sha256
12264 (base32 "1gs1pqzywvvw4prj63vpj8abh8h14pjky11xfl23pgpk9l3ldrb0"))))
12265 (build-system emacs-build-system)
12266 (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html")
12267 (synopsis "Smart line-wrapping with wrap-prefix")
12268 (description
12269 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
12270 minor mode which sets the wrap-prefix property on the fly so that
12271 single-long-line paragraphs get word-wrapped in a way similar to what
12272 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
12273 actually changing the buffer's text.")
12274 (license license:gpl3+)))
12275
12276 (define-public emacs-diff-hl
12277 (package
12278 (name "emacs-diff-hl")
12279 (version "1.8.8")
12280 (source
12281 (origin
12282 (method git-fetch)
12283 (uri (git-reference
12284 (url "https://github.com/dgutov/diff-hl")
12285 (commit version)))
12286 (file-name (git-file-name name version))
12287 (sha256
12288 (base32 "075klzf66z1rvhpxv4j694pdkmi7f4fpw6c8q4ncz0h4y5wdbl8w"))))
12289 (build-system emacs-build-system)
12290 (home-page "https://github.com/dgutov/diff-hl")
12291 (synopsis
12292 "Highlight uncommitted changes using VC")
12293 (description
12294 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
12295 window (using the fringe, by default), allows you to jump between
12296 the hunks and revert them selectively.")
12297 (license license:gpl3+)))
12298
12299 (define-public emacs-diminish
12300 (package
12301 (name "emacs-diminish")
12302 (version "0.45")
12303 (source
12304 (origin
12305 (method git-fetch)
12306 (uri (git-reference
12307 (url "https://github.com/myrjola/diminish.el")
12308 (commit (string-append "v" version))))
12309 (file-name (git-file-name name version))
12310 (sha256
12311 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
12312 (build-system emacs-build-system)
12313 (home-page "https://github.com/myrjola/diminish.el")
12314 (synopsis "Diminish minor modes with no modeline display")
12315 (description "@code{emacs-diminish} implements hiding or
12316 abbreviation of the mode line displays (lighters) of minor modes.")
12317 (license license:gpl2+)))
12318
12319 (define-public emacs-use-package
12320 (package
12321 (name "emacs-use-package")
12322 (version "2.4.1")
12323 (source (origin
12324 (method git-fetch)
12325 (uri (git-reference
12326 (url "https://github.com/jwiegley/use-package")
12327 (commit version)))
12328 (file-name (git-file-name name version))
12329 (sha256
12330 (base32
12331 "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"))))
12332 (build-system emacs-build-system)
12333 (native-inputs
12334 `(("texinfo" ,texinfo)))
12335 (propagated-inputs
12336 `(("emacs-diminish" ,emacs-diminish)))
12337 (arguments
12338 `(#:tests? #t
12339 #:test-command '("emacs" "--batch"
12340 "-l" "use-package-tests.el"
12341 "-f" "ert-run-tests-batch-and-exit")
12342 #:phases
12343 (modify-phases %standard-phases
12344 (add-before 'install 'install-manual
12345 (lambda* (#:key outputs #:allow-other-keys)
12346 (let* ((out (assoc-ref outputs "out"))
12347 (info-dir (string-append out "/share/info")))
12348 (mkdir-p info-dir)
12349 (install-file "use-package.info" info-dir)
12350 #t)))
12351 (add-before 'install-manual 'build-manual
12352 (lambda _
12353 (invoke "makeinfo" "use-package.texi")
12354 #t)))))
12355 (home-page "https://github.com/jwiegley/use-package")
12356 (synopsis "Declaration for simplifying your .emacs")
12357 (description "The use-package macro allows you to isolate package
12358 configuration in your @file{.emacs} file in a way that is both
12359 performance-oriented and tidy.")
12360 (license license:gpl2+)))
12361
12362 (define-public emacs-leaf
12363 (package
12364 (name "emacs-leaf")
12365 (version "4.4.4")
12366 (source
12367 (origin
12368 (method url-fetch)
12369 (uri (string-append "https://elpa.gnu.org/packages/"
12370 "leaf-" version ".tar"))
12371 (sha256
12372 (base32 "1npg06zmy21kg2qsqgfm03l7vjib697i96awypcdb0hw5mvmc1a1"))))
12373 (build-system emacs-build-system)
12374 (home-page "https://github.com/conao3/leaf.el")
12375 (synopsis "Simplify your init.el configuration, extended use-package")
12376 (description
12377 "This package provides macros that allows you to declaratively configure
12378 settings typical of an Elisp package with various keywords. The syntax is
12379 similar, but not identical to use-package -- overall, leaf aims at a cleaner
12380 and more predictable implementation.")
12381 (license license:agpl3+)))
12382
12383 (define-public emacs-strace-mode
12384 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
12385 (revision "1"))
12386 (package
12387 (name "emacs-strace-mode")
12388 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
12389 (source (origin
12390 (method git-fetch)
12391 (uri (git-reference
12392 (url "https://github.com/pkmoore/strace-mode")
12393 (commit commit)))
12394 (file-name (git-file-name name version))
12395 (sha256
12396 (base32
12397 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
12398 (build-system emacs-build-system)
12399 (home-page "https://github.com/pkmoore/strace-mode")
12400 (synopsis "Emacs major mode to highlight strace outputs")
12401 (description "@code{emacs-strace-mode} provides an Emacs major mode
12402 highlighting strace outputs.")
12403 (license license:gpl3+))))
12404
12405 (define-public emacs-default-encrypt
12406 (package
12407 (name "emacs-default-encrypt")
12408 (version "4.4")
12409 (source
12410 (origin
12411 (method url-fetch)
12412 (uri (string-append
12413 "https://informationelle-selbstbestimmung-im-internet.de"
12414 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
12415 (file-name (string-append "jl-encrypt-" version ".el"))
12416 (sha256
12417 (base32
12418 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
12419 (build-system emacs-build-system)
12420 (home-page
12421 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
12422 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
12423 (description
12424 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
12425 automatically encrypts messages that you send (e.g., email) when public keys
12426 for all recipients are available, and it protects you from accidentally
12427 sending un-encrypted messages. It can also be configured to automatically
12428 sign messages that you send. For details and instructions on how to use
12429 DefaultEncrypt, please refer to the home page or read the comments in the
12430 source file, @file{jl-encrypt.el}.")
12431 (license license:gpl3+)))
12432
12433 (define-public emacs-extend-smime
12434 (package
12435 (name "emacs-extend-smime")
12436 (version "3.3")
12437 (source
12438 (origin
12439 (method url-fetch)
12440 (uri (string-append
12441 "https://informationelle-selbstbestimmung-im-internet.de"
12442 "/emacs/jl-smime" version "/jl-smime.el"))
12443 (file-name (string-append "jl-smime-" version ".el"))
12444 (sha256
12445 (base32
12446 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
12447 (build-system emacs-build-system)
12448 (home-page
12449 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
12450 (synopsis "Improved S/MIME support for Gnus in Emacs")
12451 (propagated-inputs
12452 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
12453 (description
12454 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
12455 ;; should not be translated. The name "emacs-default-encrypt" refers to
12456 ;; the Guix package that provides DefaultEncrypt.
12457 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
12458 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
12459 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
12460 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
12461 certificates via LDAP and imports them into @code{gpgsm}. When certificates
12462 for all recipients are available, DefaultEncrypt automatically encrypts the
12463 message. For details and instructions on how to use ExtendSMIME, please refer
12464 to the home page or read the comments in the source file,
12465 @file{jl-smime.el}.")
12466 (license license:gpl3+)))
12467
12468 (define-public emacs-htmlize
12469 (package
12470 (name "emacs-htmlize")
12471 (version "1.55")
12472 (source
12473 (origin
12474 (method git-fetch)
12475 (uri (git-reference
12476 (url "https://github.com/hniksic/emacs-htmlize")
12477 (commit (string-append "release/" version))))
12478 (file-name (git-file-name name version))
12479 (sha256
12480 (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"))))
12481 (build-system emacs-build-system)
12482 (home-page "https://github.com/hniksic/emacs-htmlize")
12483 (synopsis "Convert buffer text and decorations to HTML")
12484 (description "@code{emacs-htmlize} converts the buffer text and
12485 the associated decorations to HTML. Output to CSS, inline CSS and
12486 fonts is supported.")
12487 (license license:gpl2+)))
12488
12489 (define-public emacs-xmlgen
12490 (package
12491 (name "emacs-xmlgen")
12492 (version "0.5")
12493 (source
12494 (origin
12495 (method git-fetch)
12496 (uri (git-reference
12497 (url "https://github.com/philjackson/xmlgen")
12498 (commit version)))
12499 (file-name (git-file-name name version))
12500 (sha256
12501 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
12502 (build-system emacs-build-system)
12503 (arguments
12504 `(#:tests? #t
12505 #:test-command '("emacs" "--batch"
12506 "-l" "xmlgen-test.el"
12507 "-f" "ert-run-tests-batch-and-exit")))
12508 (home-page "https://github.com/philjackson/xmlgen")
12509 (synopsis "S-expression to XML domain specific language (DSL) in
12510 Emacs Lisp")
12511 (description "@code{emacs-xmlgen} provides S-expression to XML
12512 conversion for Emacs Lisp.")
12513 (license license:gpl2+)))
12514
12515 (define-public emacs-cdlatex
12516 (package
12517 (name "emacs-cdlatex")
12518 (version "4.7")
12519 (source
12520 (origin
12521 (method git-fetch)
12522 (uri (git-reference
12523 (url "https://github.com/cdominik/cdlatex")
12524 (commit version)))
12525 (file-name (git-file-name name version))
12526 (sha256
12527 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
12528 (build-system emacs-build-system)
12529 (propagated-inputs
12530 `(("emacs-auctex" ,emacs-auctex)))
12531 (home-page "https://github.com/cdominik/cdlatex")
12532 (synopsis "Fast Emacs input methods for LaTeX environments and
12533 math")
12534 (description "CDLaTeX is an Emacs minor mode supporting fast
12535 insertion of environment templates and math in LaTeX. Similar
12536 commands are also offered as part of the AUCTeX package, but it is not
12537 the same - CDLaTeX focuses on speediness for inserting LaTeX
12538 constructs.")
12539 (license license:gpl3+)))
12540
12541 (define-public emacs-cnfonts
12542 (package
12543 (name "emacs-cnfonts")
12544 (version "0.9.1")
12545 (source
12546 (origin
12547 (method git-fetch)
12548 (uri (git-reference
12549 (url "https://github.com/tumashu/cnfonts")
12550 (commit (string-append "v" version))))
12551 (file-name (git-file-name name version))
12552 (sha256
12553 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
12554 (build-system emacs-build-system)
12555 (home-page "https://github.com/tumashu/cnfonts")
12556 (synopsis "Emacs Chinese fonts setup tool")
12557 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
12558 configuration of Chinese fonts.")
12559 (license license:gpl2+)))
12560
12561 (define-public emacs-boon
12562 (package
12563 (name "emacs-boon")
12564 (version "1.1")
12565 (source
12566 (origin
12567 (method git-fetch)
12568 (uri (git-reference
12569 (url "https://github.com/jyp/boon")
12570 (commit version)))
12571 (file-name (git-file-name name version))
12572 (sha256
12573 (base32 "1ss9bjs34q41pa0g0nbdzd8fwpjcbd2239rdlx5aykfv9v0b8j77"))))
12574 (build-system emacs-build-system)
12575 (propagated-inputs
12576 `(("emacs-dash" ,emacs-dash)
12577 ("emacs-expand-region" ,emacs-expand-region)
12578 ("emacs-multiple-cursors" ,emacs-multiple-cursors)
12579 ("emacs-powerline" ,emacs-powerline)
12580 ("emacs-spaceline" ,emacs-spaceline)))
12581 (home-page "https://github.com/jyp/boon")
12582 (synopsis "Ergonomic command mode for Emacs")
12583 (description "Boon is a complete package for modal editing with a focus on
12584 ergonomics and modularity. Spacial allocation of keys comes first, mnemonics
12585 second. Most common operations are mapped to the home row, common editing
12586 commands are bound to keys reachable with the left hand and movement keys are
12587 reached with the right hand.")
12588 (license license:gpl3+)))
12589
12590 (define-public emacs-csharp-mode
12591 (package
12592 (name "emacs-csharp-mode")
12593 (version "0.10.0")
12594 (source
12595 (origin
12596 (method git-fetch)
12597 (uri (git-reference
12598 (url "https://github.com/josteink/csharp-mode")
12599 (commit (string-append "v" version))))
12600 (file-name (git-file-name name version))
12601 (sha256
12602 (base32 "0vwkbla2gkfa9dzxfvrvr7hd2z16769iwbycl7k6l701dnwli1fw"))))
12603 (build-system emacs-build-system)
12604 (home-page "https://github.com/josteink/csharp-mode")
12605 (synopsis "Major mode for C# code")
12606 (description
12607 "This is a C# editing mode for Emacs, based on CC mode. It handles
12608 syntax coloring, indentation, insertion of matched pairs of curly braces and
12609 documentation generation. In addition, it provides menu-based navigation
12610 using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.")
12611 ;; XXX: Project switched to GPL3+ after 0.10.0 release.
12612 (license license:gpl2+)))
12613
12614 (define-public emacs-php-mode
12615 (package
12616 (name "emacs-php-mode")
12617 (version "1.24.0")
12618 (source
12619 (origin
12620 (method git-fetch)
12621 (uri (git-reference
12622 (url "https://github.com/ejmr/php-mode")
12623 (commit (string-append "v" version))))
12624 (file-name (git-file-name name version))
12625 (sha256
12626 (base32 "0bs9q62bd7885c39v7x1qz3w1fhpmpdgm72xwsk2yygw0ii425nn"))))
12627 (build-system emacs-build-system)
12628 (arguments
12629 `(#:phases
12630 (modify-phases %standard-phases
12631 (add-after 'unpack 'enter-source-directory
12632 (lambda _
12633 (chdir "lisp"))))))
12634 (propagated-inputs `(("emacs-projectile" ,emacs-projectile)))
12635 (home-page "https://github.com/ejmr/php-mode")
12636 (synopsis "Major mode for editing PHP code")
12637 (description
12638 "PHP mode is a major mode for editing PHP source code. It's an extension
12639 of C mode; thus it inherits all C mode's navigation functionality. But it
12640 colors according to the PHP grammar and indents according to the PEAR coding
12641 guidelines. It also includes a couple handy IDE-type features such as
12642 documentation search and a source and class browser.")
12643 (license license:gpl3+)))
12644
12645 (define-public emacs-pos-tip
12646 (package
12647 (name "emacs-pos-tip")
12648 (version "0.4.6")
12649 (source
12650 (origin
12651 (method git-fetch)
12652 (uri (git-reference
12653 (url "https://github.com/pitkali/pos-tip")
12654 (commit version)))
12655 (file-name (git-file-name name version))
12656 (sha256
12657 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
12658 (build-system emacs-build-system)
12659 ;; The following functions and variables needed by emacs-pos-tip are
12660 ;; not included in emacs-minimal:
12661 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
12662 (arguments `(#:emacs ,emacs))
12663 (home-page "https://github.com/pitkali/pos-tip")
12664 (synopsis "Show tooltip at point")
12665 (description "The standard library tooltip.el provides a function for
12666 displaying a tooltip at the mouse position. However, locating a tooltip at an
12667 arbitrary buffer position in a window is not easy. Pos-tip provides such a
12668 function to be used by other frontend programs.")
12669 (license license:gpl2+)))
12670
12671 (define-public emacs-pyim-basedict
12672 (package
12673 (name "emacs-pyim-basedict")
12674 (version "0.3.1")
12675 (source
12676 (origin
12677 (method git-fetch)
12678 (uri (git-reference
12679 (url "https://github.com/tumashu/pyim-basedict")
12680 (commit (string-append "v" version))))
12681 (file-name (git-file-name name version))
12682 (sha256
12683 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
12684 (build-system emacs-build-system)
12685 (home-page "https://github.com/tumashu/pyim-basedict")
12686 (synopsis "Input method dictionary of pyim")
12687 (description "Pyim-basedict is the default pinyin input method dictionary,
12688 containing words from the Rime project.")
12689 (license license:gpl2+)))
12690
12691 (define-public emacs-pyim
12692 (package
12693 (name "emacs-pyim")
12694 (version "3.2")
12695 (source
12696 (origin
12697 (method url-fetch)
12698 (uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
12699 (sha256
12700 (base32 "1rr9mq334dqf7mx1ii7910zkigw7chl63iws4sw0qsn014kjlb0a"))))
12701 (build-system emacs-build-system)
12702 (propagated-inputs
12703 `(("emacs-async" ,emacs-async)
12704 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
12705 ("emacs-popup" ,emacs-popup)
12706 ("emacs-posframe" ,emacs-posframe)
12707 ("emacs-xr" ,emacs-xr)))
12708 (home-page "https://github.com/tumashu/pyim")
12709 (synopsis "Chinese input method")
12710 (description
12711 "This package provides a Chinese input method which supports quanpin,
12712 shuangpin, wubi and cangjie.")
12713 (license license:gpl2+)))
12714
12715 (define-public emacs-posframe
12716 (package
12717 (name "emacs-posframe")
12718 (version "1.0.1")
12719 (source
12720 (origin
12721 (method url-fetch)
12722 (uri (string-append "https://elpa.gnu.org/packages/"
12723 "posframe-" version ".tar"))
12724 (sha256
12725 (base32 "17znlh5xkk57imbblnfndwvld9m02h5fkr9gys89n2skdbxw9c7r"))))
12726 (build-system emacs-build-system)
12727 ;; emacs-minimal does not include the function font-info.
12728 (arguments
12729 `(#:emacs ,emacs))
12730 (home-page "https://github.com/tumashu/posframe")
12731 (synopsis "Pop a posframe (a child frame) at point")
12732 (description
12733 "Posframe can pop a posframe at point. A posframe is a child frame
12734 displayed within its root window's buffer. Posframe is fast and works well
12735 with CJK languages.")
12736 (license license:gpl3+)))
12737
12738 (define-public emacs-el2org
12739 (package
12740 (name "emacs-el2org")
12741 (version "0.6.0")
12742 (source
12743 (origin
12744 (method git-fetch)
12745 (uri (git-reference
12746 (url "https://github.com/tumashu/el2org")
12747 (commit (string-append "v" version))))
12748 (file-name (git-file-name name version))
12749 (sha256
12750 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
12751 (build-system emacs-build-system)
12752 (home-page "https://github.com/tumashu/el2org")
12753 (synopsis "Convert Emacs-lisp file to org file")
12754 (description "El2org is a simple tool, which can convert Emacs-lisp file
12755 to org file, you can use this tool to write orgify commentary.")
12756 (license license:gpl2+)))
12757
12758 (define-public emacs-mustache
12759 (package
12760 (name "emacs-mustache")
12761 (version "0.23")
12762 (source
12763 (origin
12764 (method git-fetch)
12765 (uri (git-reference
12766 (url "https://github.com/Wilfred/mustache.el")
12767 (commit version)))
12768 (file-name (git-file-name name version))
12769 (sha256
12770 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
12771 (build-system emacs-build-system)
12772 (propagated-inputs
12773 `(("emacs-dash" ,emacs-dash)
12774 ("emacs-ht" ,emacs-ht)
12775 ("emacs-s" ,emacs-s)))
12776 (home-page "https://github.com/Wilfred/mustache.el")
12777 (synopsis "Mustache templating library for Emacs")
12778 (description "Mustache templating library for Emacs, mustache is
12779 a simple web template system, which is described as a logic-less system
12780 because it lacks any explicit control flow statements, both looping and
12781 conditional evaluation can be achieved using section tags processing lists
12782 and lambdas.")
12783 (license license:gpl3+)))
12784
12785 (define-public emacs-org2web
12786 (package
12787 (name "emacs-org2web")
12788 (version "0.9.1")
12789 (source
12790 (origin
12791 (method git-fetch)
12792 (uri (git-reference
12793 (url "https://github.com/tumashu/org2web")
12794 (commit (string-append "v" version))))
12795 (file-name (git-file-name name version))
12796 (sha256
12797 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
12798 (build-system emacs-build-system)
12799 (propagated-inputs
12800 `(("emacs-dash" ,emacs-dash)
12801 ("emacs-el2org" ,emacs-el2org)
12802 ("emacs-ht" ,emacs-ht)
12803 ("emacs-mustache" ,emacs-mustache)
12804 ("emacs-simple-httpd" ,emacs-simple-httpd)))
12805 (home-page "https://github.com/tumashu/org2web")
12806 (synopsis "Static site generator based on org-mode ")
12807 (description "Org2web is a static site generator based on org-mode,
12808 which code derived from Kelvin H's org-page.")
12809 (license license:gpl2+)))
12810
12811 (define-public emacs-xelb
12812 (package
12813 (name "emacs-xelb")
12814 (version "0.18")
12815 (source (origin
12816 (method url-fetch)
12817 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
12818 version ".tar"))
12819 (sha256
12820 (base32
12821 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
12822 (build-system emacs-build-system)
12823 ;; The following functions and variables needed by emacs-xelb are
12824 ;; not included in emacs-minimal:
12825 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
12826 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
12827 ;; x-display-pixel-width, x-display-pixel-height
12828 (arguments
12829 `(#:emacs ,emacs
12830 #:phases
12831 (modify-phases %standard-phases
12832 (add-after 'unpack 'regenerate-el-files
12833 (lambda* (#:key inputs #:allow-other-keys)
12834 (invoke "make"
12835 (string-append "PROTO_PATH="
12836 (assoc-ref inputs "xcb-proto")
12837 "/share/xcb")
12838 (string-append "EMACS_BIN="
12839 (assoc-ref inputs "emacs")
12840 "/bin/emacs -Q")))))))
12841 (native-inputs `(("xcb-proto" ,xcb-proto)))
12842 (home-page "https://github.com/ch11ng/xelb")
12843 (synopsis "X protocol Emacs Lisp binding")
12844 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
12845 X11 protocol based on the XML description files from the XCB project. It
12846 features an object-oriented API and permits a certain degree of concurrency.
12847 It should enable you to implement low-level X11 applications.")
12848 (license license:gpl3+)))
12849
12850 (define-public emacs-exwm
12851 (package
12852 (name "emacs-exwm")
12853 (version "0.24")
12854 (synopsis "Emacs X window manager")
12855 (source
12856 (origin
12857 (method url-fetch)
12858 (uri (string-append "https://elpa.gnu.org/packages/"
12859 "exwm-" version ".tar"))
12860 (sha256
12861 (base32 "0lj1a3cmbpf4h6x8k6x8cdm1qb51ca6filydnvi5zcda8zpl060s"))
12862 (patches
12863 ;; Patch fixing fullscreen view. Applied upstream as
12864 ;; edb930005b0ba83051ca8a59b493e9a3c8ef580a. It can be removed in
12865 ;; next release.
12866 (search-patches "emacs-exwm-fix-fullscreen-states.patch"))))
12867 (build-system emacs-build-system)
12868 (propagated-inputs
12869 `(("emacs-xelb" ,emacs-xelb)))
12870 (inputs
12871 `(("xhost" ,xhost)
12872 ("dbus" ,dbus)))
12873 ;; The following functions and variables needed by emacs-exwm are
12874 ;; not included in emacs-minimal:
12875 ;; scroll-bar-mode, fringe-mode
12876 ;; x-display-pixel-width, x-display-pixel-height
12877 (arguments
12878 `(#:emacs ,emacs
12879 #:phases
12880 (modify-phases %standard-phases
12881 (add-after 'build 'install-xsession
12882 (lambda* (#:key inputs outputs #:allow-other-keys)
12883 (let* ((out (assoc-ref outputs "out"))
12884 (xsessions (string-append out "/share/xsessions"))
12885 (bin (string-append out "/bin"))
12886 (exwm-executable (string-append bin "/exwm")))
12887 ;; Add a .desktop file to xsessions
12888 (mkdir-p xsessions)
12889 (mkdir-p bin)
12890 (make-desktop-entry-file
12891 (string-append xsessions "/exwm.desktop")
12892 #:name ,name
12893 #:comment ,synopsis
12894 #:exec exwm-executable
12895 #:try-exec exwm-executable)
12896 ;; Add a shell wrapper to bin
12897 (with-output-to-file exwm-executable
12898 (lambda _
12899 (format #t "#!~a ~@
12900 ~a +SI:localuser:$USER ~@
12901 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
12902 (string-append (assoc-ref inputs "bash") "/bin/sh")
12903 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
12904 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
12905 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
12906 '(cond
12907 ((file-exists-p "~/.exwm")
12908 (load-file "~/.exwm"))
12909 ((not (featurep 'exwm))
12910 (require 'exwm)
12911 (require 'exwm-config)
12912 (exwm-config-default)
12913 (message (concat "exwm configuration not found. "
12914 "Falling back to default configuration...")))))))
12915 (chmod exwm-executable #o555)
12916 #t))))))
12917 (home-page "https://github.com/ch11ng/exwm")
12918 (description
12919 "EXWM is a full-featured tiling X window manager for Emacs built on top
12920 of XELB.")
12921 (license license:gpl3+)))
12922
12923 (define-public emacs-xelb-no-x-toolkit
12924 (package
12925 (inherit emacs-xelb)
12926 (name "emacs-xelb-no-x-toolkit")
12927 (arguments
12928 (substitute-keyword-arguments (package-arguments emacs-xelb)
12929 ((#:emacs emacs) `,emacs-no-x-toolkit)))))
12930
12931 (define-public emacs-exwm-no-x-toolkit
12932 (package
12933 (inherit emacs-exwm)
12934 (name "emacs-exwm-no-x-toolkit")
12935 (synopsis "Emacs X window manager (without an X toolkit)")
12936 (propagated-inputs
12937 `(("emacs-xelb-no-x-toolkit" ,emacs-xelb-no-x-toolkit)))
12938 (arguments
12939 (substitute-keyword-arguments (package-arguments emacs-exwm)
12940 ((#:emacs emacs) `,emacs-no-x-toolkit)))))
12941
12942 (define-public emacs-switch-window
12943 (package
12944 (name "emacs-switch-window")
12945 (version "1.6.2")
12946 (source
12947 (origin
12948 (method git-fetch)
12949 (uri (git-reference
12950 (url "https://github.com/dimitri/switch-window")
12951 (commit (string-append "v" version))))
12952 (file-name (git-file-name name version))
12953 (sha256
12954 (base32
12955 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
12956 (build-system emacs-build-system)
12957 (home-page "https://github.com/dimitri/switch-window")
12958 (synopsis "Emacs window switch tool")
12959 (description "Switch-window is an emacs window switch tool, which
12960 offer a visual way to choose a window to switch to, delete, split or
12961 other operations.")
12962 (license license:wtfpl2)))
12963
12964 (define-public emacs-exwm-x
12965 (package
12966 (name "emacs-exwm-x")
12967 (version "1.9.0")
12968 (synopsis "Derivative window manager based on EXWM")
12969 (source
12970 (origin
12971 (method git-fetch)
12972 (uri (git-reference
12973 (url "https://github.com/tumashu/exwm-x")
12974 (commit (string-append "v" version))))
12975 (file-name (git-file-name name version))
12976 (sha256
12977 (base32
12978 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
12979 (build-system emacs-build-system)
12980 (propagated-inputs
12981 `(("emacs-counsel" ,emacs-counsel)
12982 ("emacs-exwm" ,emacs-exwm)
12983 ("emacs-switch-window" ,emacs-switch-window)
12984 ("emacs-use-package" ,emacs-use-package)))
12985 (inputs
12986 `(("xhost" ,xhost)
12987 ("dbus" ,dbus)))
12988 ;; Need emacs instead of emacs-minimal,
12989 ;; for emacs's bin path will be inserted into bin/exwm-x file.
12990 (arguments
12991 `(#:emacs ,emacs
12992 #:phases
12993 (modify-phases %standard-phases
12994 (add-after 'build 'install-xsession
12995 (lambda* (#:key inputs outputs #:allow-other-keys)
12996 (let* ((out (assoc-ref outputs "out"))
12997 (xsessions (string-append out "/share/xsessions"))
12998 (bin (string-append out "/bin"))
12999 (exwm-executable (string-append bin "/exwm-x")))
13000 ;; Add a .desktop file to xsessions
13001 (mkdir-p xsessions)
13002 (mkdir-p bin)
13003 (with-output-to-file
13004 (string-append xsessions "/exwm-x.desktop")
13005 (lambda _
13006 (format #t "[Desktop Entry]~@
13007 Name=~a~@
13008 Comment=~a~@
13009 Exec=~a~@
13010 TryExec=~@*~a~@
13011 Type=Application~%" ,name ,synopsis exwm-executable)))
13012 ;; Add a shell wrapper to bin
13013 (with-output-to-file exwm-executable
13014 (lambda _
13015 (format #t "#!~a ~@
13016 ~a +SI:localuser:$USER ~@
13017 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
13018 (string-append (assoc-ref inputs "bash") "/bin/sh")
13019 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
13020 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
13021 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
13022 '(require 'exwmx-loader))))
13023 (chmod exwm-executable #o555)
13024 #t))))))
13025 (home-page "https://github.com/tumashu/exwm-x")
13026 (description "EXWM-X is a derivative window manager based on EXWM, with focus
13027 on mouse-control.")
13028 (license license:gpl3+)))
13029
13030 (define-public emacs-gnugo
13031 (package
13032 (name "emacs-gnugo")
13033 (version "3.1.0")
13034 (source
13035 (origin
13036 (method url-fetch)
13037 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
13038 version ".tar"))
13039 (sha256
13040 (base32
13041 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
13042 (build-system emacs-build-system)
13043 (arguments
13044 `(#:phases (modify-phases %standard-phases
13045 (add-after 'unpack 'configure-default-gnugo-xpms-variable
13046 (lambda _
13047 (substitute* "gnugo.el"
13048 (("defvar gnugo-xpms nil")
13049 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
13050 #t)))))
13051 (propagated-inputs
13052 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
13053 ("emacs-xpm" ,emacs-xpm)))
13054 (home-page "https://elpa.gnu.org/packages/gnugo.html")
13055 (synopsis "Emacs major mode for playing GNU Go")
13056 (description "This package provides an Emacs based interface for GNU Go.
13057 It has a graphical mode where the board and stones are drawn using XPM images
13058 and supports the use of a mouse.")
13059 (license license:gpl3+)))
13060
13061 (define-public emacs-gnuplot
13062 (package
13063 (name "emacs-gnuplot")
13064 (version "0.8.0")
13065 (source
13066 (origin
13067 (method git-fetch)
13068 (uri (git-reference
13069 (url "https://github.com/emacsorphanage/gnuplot-mode")
13070 (commit version)))
13071 (file-name (git-file-name name version))
13072 (sha256
13073 (base32 "09y177sq24gs7wwjihw59g0m4n1rv2ws9890ynxjxawv823r0fxm"))))
13074 (build-system emacs-build-system)
13075 (home-page "https://github.com/emacsorphanage/gnuplot-mode")
13076 (synopsis "Emacs major mode for interacting with Gnuplot")
13077 (description
13078 "Emacs Gnuplot is an Emacs major mode for interacting with Gnuplot.")
13079 (license license:gpl2+)))
13080
13081 (define-public emacs-transpose-frame
13082 (package
13083 (name "emacs-transpose-frame")
13084 (version "0.2.0")
13085 (source
13086 (origin
13087 (method git-fetch)
13088 (uri (git-reference
13089 (url "https://github.com/emacsorphanage/transpose-frame")
13090 (commit (string-append "v" version))))
13091 (file-name (git-file-name name version))
13092 (sha256
13093 (base32 "01j4ci0c52r2c31hc9r4p7nsb6s8blmvg50g9n5v5h3afjl1c35v"))))
13094 (build-system emacs-build-system)
13095 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
13096 (synopsis "Transpose window arrangement in current frame")
13097 (description "@code{emacs-transpose-frame} provides some interactive
13098 functions which allows users to transpose windows arrangement in currently
13099 selected frame.")
13100 (license license:bsd-2)))
13101
13102 (define-public emacs-key-chord
13103 (package
13104 (name "emacs-key-chord")
13105 (version "0.6")
13106 (source
13107 (origin
13108 (method url-fetch)
13109 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
13110 (file-name (string-append "key-chord-" version ".el"))
13111 (sha256
13112 (base32
13113 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
13114 (build-system emacs-build-system)
13115 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
13116 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
13117 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
13118 mode for binding key chords to commands. A key chord is defined as two keys
13119 pressed simultaneously or a single key quickly pressed twice.")
13120 (license license:gpl2+)))
13121
13122 (define-public emacs-evil-surround
13123 (package
13124 (name "emacs-evil-surround")
13125 (version "1.1.1")
13126 (source
13127 (origin
13128 (method git-fetch)
13129 (uri (git-reference
13130 (url "https://github.com/emacs-evil/evil-surround")
13131 (commit version)))
13132 (file-name (git-file-name name version))
13133 (sha256
13134 (base32 "1gfgmr4909m36gknprcam6q4rkcqfbi6w43ky7x6jnlmgb6mxggg"))))
13135 (build-system emacs-build-system)
13136 (propagated-inputs
13137 `(("emacs-evil" ,emacs-evil)))
13138 (arguments
13139 `(#:tests? #t
13140 #:test-command '("make" "test")))
13141 (home-page "https://github.com/emacs-evil/evil-surround")
13142 (synopsis "Easily modify surrounding parentheses and quotes")
13143 (description "@code{emacs-evil-surround} allows easy deletion, change and
13144 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
13145 (license license:gpl3+)))
13146
13147 (define-public emacs-evil-commentary
13148 (package
13149 (name "emacs-evil-commentary")
13150 (version "2.1.1")
13151 (source
13152 (origin
13153 (method git-fetch)
13154 (uri (git-reference
13155 (url "https://github.com/linktohack/evil-commentary")
13156 (commit (string-append "v" version))))
13157 (file-name (git-file-name name version))
13158 (sha256
13159 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
13160 (build-system emacs-build-system)
13161 (propagated-inputs
13162 `(("emacs-evil" ,emacs-evil)))
13163 (home-page "https://github.com/linktohack/evil-commentary")
13164 (synopsis "Comment out code in evil mode")
13165 (description "@code{emacs-evil-commentary} adds keybindings to easily
13166 comment out lines of code in evil mode. It provides @code{gcc} to comment out
13167 lines, and @code{gc} to comment out the target of a motion.")
13168 (license license:gpl3+)))
13169
13170 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
13171 ;; therefore cannot be run
13172 (define-public emacs-ansi
13173 (let ((commit "a41d5cc719297515d85bb5256980cd1204a71b88")
13174 (revision "1"))
13175 (package
13176 (name "emacs-ansi")
13177 (version (git-version "0.4.1" revision commit))
13178 (source
13179 (origin
13180 (method git-fetch)
13181 (uri (git-reference
13182 (url "https://github.com/rejeep/ansi.el")
13183 (commit commit)))
13184 (file-name (git-file-name name version))
13185 (sha256
13186 (base32 "051v8dmji90chwbsyqsqry7h35mksal2j6rgw1kpmjsni86d79y1"))))
13187 (build-system emacs-build-system)
13188 (propagated-inputs
13189 `(("emacs-dash" ,emacs-dash)
13190 ("emacs-s" ,emacs-s)))
13191 (home-page "https://github.com/rejeep/ansi.el")
13192 (synopsis "Convert strings to ANSI")
13193 (description "@code{emacs-ansi} defines functions that turns simple
13194 strings to ANSI strings. Turning a string into an ANSI string can be to add
13195 color to a text, add color in the background of a text or adding a style, such
13196 as bold, underscore or italic.")
13197 (license license:gpl3+))))
13198
13199 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
13200 ;; therefore cannot be run
13201 (define-public emacs-commander
13202 (package
13203 (name "emacs-commander")
13204 (version "0.7.0")
13205 (source
13206 (origin
13207 (method git-fetch)
13208 (uri (git-reference
13209 (url "https://github.com/rejeep/commander.el")
13210 (commit (string-append "v" version))))
13211 (file-name (git-file-name name version))
13212 (sha256
13213 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
13214 (build-system emacs-build-system)
13215 (propagated-inputs
13216 `(("emacs-dash" ,emacs-dash)
13217 ("emacs-f" ,emacs-f)
13218 ("emacs-s" ,emacs-s)))
13219 (home-page "https://github.com/rejeep/commander.el")
13220 (synopsis "Emacs command line parser")
13221 (description "@code{emacs-commander} provides command line parsing for
13222 Emacs.")
13223 (license license:gpl3+)))
13224
13225 (define-public emacs-eglot
13226 (package
13227 (name "emacs-eglot")
13228 (version "1.7")
13229 (source
13230 (origin
13231 (method url-fetch)
13232 (uri (string-append "https://elpa.gnu.org/packages/"
13233 "eglot-" version ".tar"))
13234 (sha256
13235 (base32 "1zvs144hxq2mmq1h0ynx9hy7yyccb46f3pjg9mgq8v9cw5y678vk"))))
13236 (build-system emacs-build-system)
13237 (propagated-inputs
13238 `(("emacs-eldoc" ,emacs-eldoc)
13239 ("emacs-jsonrpc" ,emacs-jsonrpc)
13240 ("emacs-project" ,emacs-project)))
13241 (home-page "https://github.com/joaotavora/eglot")
13242 (synopsis "Client for Language Server Protocol (LSP) servers")
13243 (description
13244 "Emacs Polyglot, or Eglot, is an Emacs @acronym{Language Server Protocol,
13245 LSP} client that stays out of the way. It guesses the LSP program to start
13246 for the current file, using the major mode as a hint. It prompts you to enter
13247 one if it fails.")
13248 (license license:gpl3+)))
13249
13250 (define-public emacs-eldoc
13251 (package
13252 (name "emacs-eldoc")
13253 (version "1.11.0")
13254 (source
13255 (origin
13256 (method url-fetch)
13257 (uri (string-append
13258 "https://elpa.gnu.org/packages/eldoc-" version ".el"))
13259 (sha256
13260 (base32 "1py9l1vl7s90y5kfpglhy11jswam2gcrqap09h6wb5ldnyb8cgq2"))))
13261 (build-system emacs-build-system)
13262 (home-page "http://elpa.gnu.org/packages/eldoc.html")
13263 (synopsis "Show function arglist or variable docstring in echo area")
13264 (description
13265 "This program was inspired by the behavior of the ``mouse documentation
13266 window'' on many Lisp Machine systems; as you type a function's symbol name as
13267 part of a sexp, it will print the argument list for that function. Behavior
13268 is not identical; for example, you need not actually type the function name,
13269 you need only move point around in a sexp that calls it. Also, if point is
13270 over a documented variable, it will print the one-line documentation for that
13271 variable instead, to remind you of that variable's meaning.")
13272 (license license:gpl3+)))
13273
13274 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
13275 ;; cannot be run
13276 (define-public emacs-ert-runner
13277 (package
13278 (name "emacs-ert-runner")
13279 (version "0.8.0")
13280 (source
13281 (origin
13282 (method git-fetch)
13283 (uri (git-reference
13284 (url "https://github.com/rejeep/ert-runner.el")
13285 (commit (string-append "v" version))))
13286 (file-name (git-file-name name version))
13287 (sha256
13288 (base32
13289 "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98"))))
13290 (build-system emacs-build-system)
13291 (inputs
13292 `(("emacs-ansi" ,emacs-ansi)
13293 ("emacs-commander" ,emacs-commander)
13294 ("emacs-dash" ,emacs-dash)
13295 ("emacs-f" ,emacs-f)
13296 ("emacs-s" ,emacs-s)
13297 ("emacs-shut-up" ,emacs-shut-up)))
13298 (arguments
13299 `(#:phases
13300 (modify-phases %standard-phases
13301 (add-after 'install 'install-executable
13302 (lambda* (#:key inputs outputs #:allow-other-keys)
13303 (let ((out (assoc-ref outputs "out"))
13304 (source-directory (string-append
13305 (getenv "TMPDIR") "/source")))
13306 (substitute* "bin/ert-runner"
13307 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
13308 (string-append "ERT_RUNNER=\"" out
13309 "/share/emacs/site-lisp")))
13310 (install-file "bin/ert-runner" (string-append out "/bin"))
13311 (wrap-program (string-append out "/bin/ert-runner")
13312 (list "EMACSLOADPATH" ":" 'prefix
13313 ;; Do not capture the transient source directory in
13314 ;; the wrapper.
13315 (delete source-directory
13316 (string-split (getenv "EMACSLOADPATH") #\:))))
13317 #t))))
13318 #:include (cons* "^reporters/.*\\.el$" %default-include)))
13319 (home-page "https://github.com/rejeep/ert-runner.el")
13320 (synopsis "Opinionated Ert testing workflow")
13321 (description "@code{ert-runner} is a tool for Emacs projects tested
13322 using ERT. It assumes a certain test structure setup and can therefore make
13323 running tests easier.")
13324 (license license:gpl3+)))
13325
13326 (define-public emacs-xtest
13327 (package
13328 (name "emacs-xtest")
13329 (version "1.1.0")
13330 (source (origin
13331 (method git-fetch)
13332 (uri (git-reference
13333 (url "https://github.com/promethial/xtest")
13334 (commit (string-append "v" version))))
13335 (file-name (git-file-name name version))
13336 (sha256
13337 (base32
13338 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
13339 (arguments
13340 `(#:exclude '()))
13341 (build-system emacs-build-system)
13342 (home-page "https://github.com/promethial/xtest/")
13343 (synopsis "Simple testing with Emacs")
13344 (description "This package provides a simple testing library for Emacs.")
13345 (license license:gpl3+)))
13346
13347 (define-public emacs-disable-mouse
13348 (package
13349 (name "emacs-disable-mouse")
13350 (version "0.3")
13351 (source
13352 (origin
13353 (method git-fetch)
13354 (uri (git-reference
13355 (url "https://github.com/purcell/disable-mouse")
13356 (commit version)))
13357 (file-name (git-file-name name version))
13358 (sha256
13359 (base32 "0l6mai68ns3qw3rlvjvzsnqwdy7bxqiy0vdwflq0l1plxb1vazyc"))))
13360 (build-system emacs-build-system)
13361 (home-page "https://github.com/purcell/disable-mouse")
13362 (synopsis "Disable mouse commands globally")
13363 (description
13364 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
13365 pair of minor modes which suppress all mouse events by intercepting them and
13366 running a customisable handler command (@code{ignore} by default). ")
13367 (license license:gpl3+)))
13368
13369 (define-public emacs-json-reformat
13370 (package
13371 (name "emacs-json-reformat")
13372 (version "0.0.6")
13373 (source
13374 (origin
13375 (method git-fetch)
13376 (uri (git-reference
13377 (url "https://github.com/gongo/json-reformat")
13378 (commit version)))
13379 (file-name (git-file-name name version))
13380 (sha256
13381 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
13382 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
13383 (build-system emacs-build-system)
13384 (propagated-inputs
13385 `(("emacs-undercover" ,emacs-undercover)))
13386 (native-inputs
13387 `(("emacs-dash" ,emacs-dash)
13388 ("emacs-shut-up" ,emacs-shut-up)
13389 ("ert-runner" ,emacs-ert-runner)))
13390 (arguments
13391 `(#:tests? #t
13392 #:test-command '("ert-runner")
13393 #:phases
13394 (modify-phases %standard-phases
13395 (add-before 'check 'make-tests-writable
13396 (lambda _
13397 (for-each make-file-writable (find-files "test"))
13398 #t))
13399 (add-before 'check 'delete-json-objects-order-test
13400 (lambda _
13401 (emacs-batch-edit-file "test/json-reformat-test.el"
13402 `(progn (progn (goto-char (point-min))
13403 (re-search-forward
13404 "ert-deftest json-reformat-test:json-reformat-region")
13405 (beginning-of-line)
13406 (kill-sexp))
13407 (basic-save-buffer)))
13408 #t)))))
13409 (home-page "https://github.com/gongo/json-reformat")
13410 (synopsis "Reformatting tool for JSON")
13411 (description "@code{json-reformat} provides a reformatting tool for
13412 @url{http://json.org/, JSON}.")
13413 (license license:gpl3+)))
13414
13415 (define-public emacs-json-snatcher
13416 (package
13417 (name "emacs-json-snatcher")
13418 (version "1.0.0")
13419 (source
13420 (origin
13421 (method git-fetch)
13422 (uri (git-reference
13423 (url "https://github.com/Sterlingg/json-snatcher")
13424 (commit version)))
13425 (file-name (git-file-name name version))
13426 (sha256
13427 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
13428 (build-system emacs-build-system)
13429 (home-page "https://github.com/sterlingg/json-snatcher")
13430 (synopsis "Grabs the path to JSON values in a JSON file")
13431 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
13432 a @url{http://json.org/, JSON} file.")
13433 (license license:gpl3+)))
13434
13435 (define-public emacs-json-mode
13436 (package
13437 (name "emacs-json-mode")
13438 (version "1.7.0")
13439 (source
13440 (origin
13441 (method git-fetch)
13442 (uri (git-reference
13443 (url "https://github.com/joshwnj/json-mode")
13444 (commit (string-append "v" version))))
13445 (file-name (git-file-name name version))
13446 (sha256
13447 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
13448 (build-system emacs-build-system)
13449 (propagated-inputs
13450 `(("emacs-json-reformat" ,emacs-json-reformat)
13451 ("emacs-json-snatcher" ,emacs-json-snatcher)))
13452 (home-page "https://github.com/joshwnj/json-mode")
13453 (synopsis "Major mode for editing JSON files")
13454 (description "@code{json-mode} extends the builtin js-mode syntax
13455 highlighting.")
13456 (license license:gpl3+)))
13457
13458 (define-public emacs-jsonrpc
13459 (package
13460 (name "emacs-jsonrpc")
13461 (version "1.0.14")
13462 (source
13463 (origin
13464 (method url-fetch)
13465 (uri (string-append "https://elpa.gnu.org/packages/"
13466 "jsonrpc-" version ".el"))
13467 (sha256
13468 (base32 "069l0sqkambam4ikj9id36kdw1jdjna8v586d51m64hiz96rmvm6"))))
13469 (build-system emacs-build-system)
13470 (home-page "http://elpa.gnu.org/packages/jsonrpc.html")
13471 (synopsis "JSON-RPC library")
13472 (description
13473 "This library implements the JSONRPC 2.0 specification as
13474 described in @url{http://www.jsonrpc.org/}. As the name suggests,
13475 JSONRPC is a generic Remote Procedure Call protocol designed around
13476 JSON objects.")
13477 (license license:gpl3+)))
13478
13479 (define-public emacs-jsonnet-mode
13480 (package
13481 (name "emacs-jsonnet-mode")
13482 (version "0.1.2")
13483 (source
13484 (origin
13485 (method git-fetch)
13486 (uri (git-reference
13487 (url "https://github.com/tminor/jsonnet-mode")
13488 (commit (string-append "v" version))))
13489 (file-name (git-file-name name version))
13490 (sha256
13491 (base32
13492 "0vi7415n90d1z2ww1hld0gdp6v7z4rd6f70h476dp2x4hydk293i"))))
13493 (build-system emacs-build-system)
13494 (propagated-inputs
13495 `(("emacs-dash" ,emacs-dash)))
13496 (home-page "https://github.com/tminor/jsonnet-mode")
13497 (synopsis "Major mode for editing jsonnet files")
13498 (description "This package provides syntax highlighting, indenting,
13499 formatting, and utility methods for jsonnet files.")
13500 (license license:gpl3+)))
13501
13502 (define-public emacs-restclient
13503 (let ((commit "ac8aad6c6b9e9d918062fa3c89c22c2f4ec48bc3")
13504 (version "0")
13505 (revision "3")) ;Guix package revision,
13506 ;upstream doesn't have official releases
13507 (package
13508 (name "emacs-restclient")
13509 (version (git-version version revision commit))
13510 (source (origin
13511 (method git-fetch)
13512 (uri (git-reference
13513 (url "https://github.com/pashky/restclient.el")
13514 (commit commit)))
13515 (sha256
13516 (base32
13517 "1a2c7xzy7rsan1zcdskia6m7n6j29xacfkqjlfdhzk6rr1bpzkwk"))
13518 (file-name (git-file-name name version))))
13519 (build-system emacs-build-system)
13520 (propagated-inputs
13521 `(("emacs-helm" ,emacs-helm)
13522 ("emacs-jq-mode" ,emacs-jq-mode)))
13523 (home-page "https://github.com/pashky/restclient.el")
13524 (synopsis "Explore and test HTTP REST webservices")
13525 (description
13526 "This tool allows for testing and exploration of HTTP REST Web services
13527 from within Emacs. Restclient runs queries from a plan-text query sheet,
13528 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
13529 (license license:public-domain))))
13530
13531 (define-public emacs-jq-mode
13532 (package
13533 (name "emacs-jq-mode")
13534 (version "0.5.0")
13535 (source
13536 (origin
13537 (method git-fetch)
13538 (uri (git-reference
13539 (url "https://github.com/ljos/jq-mode")
13540 (commit (string-append "v" version))))
13541 (file-name (git-file-name name version))
13542 (sha256
13543 (base32 "0xk0if5i9cz4w06lx8v1vdm112pn1ybqgfw048sx15yyvfzgril1"))))
13544 (build-system emacs-build-system)
13545 (home-page "https://github.com/ljos/jq-mode")
13546 (synopsis "Major mode for editing jq queries")
13547 (description
13548 "Jq mode is an Emacs major mode for editing jq-scripts.")
13549 (license license:gpl3+)))
13550
13551 (define-public emacs-whitespace-cleanup-mode
13552 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
13553 (revision "1"))
13554 (package
13555 (name "emacs-whitespace-cleanup-mode")
13556 (version (git-version "0.10" revision commit))
13557 (source (origin
13558 (method git-fetch)
13559 (uri (git-reference
13560 (url "https://github.com/purcell/whitespace-cleanup-mode")
13561 (commit commit)))
13562 (sha256
13563 (base32
13564 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
13565 (file-name (git-file-name name version))))
13566 (build-system emacs-build-system)
13567 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
13568 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
13569 (description
13570 "This package provides a minor mode that calls
13571 @code{whitespace-cleanup} before saving the current buffer only if the
13572 whitespace in the buffer was initially clean.")
13573 (license license:gpl3+))))
13574
13575 (define-public emacs-eimp
13576 (let ((version "1.4.0")
13577 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
13578 (revision "1"))
13579 (package
13580 (name "emacs-eimp")
13581 (version (git-version version revision commit))
13582 (source
13583 (origin
13584 (method git-fetch)
13585 (uri (git-reference
13586 (url "https://github.com/nicferrier/eimp")
13587 (commit commit)))
13588 (file-name (git-file-name name version))
13589 (sha256
13590 (base32
13591 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
13592 (build-system emacs-build-system)
13593 (arguments
13594 `(#:phases
13595 (modify-phases %standard-phases
13596 (add-after 'unpack 'configure
13597 (lambda* (#:key inputs #:allow-other-keys)
13598 (let ((imagemagick (assoc-ref inputs "imagemagick")))
13599 ;; eimp.el is read-only in git.
13600 (chmod "eimp.el" #o644)
13601 (emacs-substitute-variables "eimp.el"
13602 ("eimp-mogrify-program"
13603 (string-append imagemagick "/bin/mogrify"))))
13604 #t)))))
13605 (inputs
13606 `(("imagemagick" ,imagemagick)))
13607 (home-page "https://github.com/nicferrier/eimp")
13608 (synopsis "Interactive image manipulation utility for Emacs")
13609 (description "@code{emacs-eimp} allows interactive image manipulation
13610 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
13611 the actual transformations.")
13612 (license license:gpl2+))))
13613
13614 (define-public emacs-dired-hacks
13615 (let ((commit "d1a2bda6aa8f890cb367297ed93aee6d3b5ba388")
13616 (revision "3"))
13617 (package
13618 (name "emacs-dired-hacks")
13619 (version (git-version "0.0.1" revision commit))
13620 (source (origin
13621 (method git-fetch)
13622 (uri (git-reference
13623 (url "https://github.com/Fuco1/dired-hacks")
13624 (commit commit)))
13625 (file-name (git-file-name name version))
13626 (sha256
13627 (base32
13628 "12m81a9kjhs4cyq3lym0vp5nx6z3sfnypyzrnia76x6rjvixjf6y"))))
13629 (build-system emacs-build-system)
13630 (propagated-inputs
13631 `(("emacs-dash" ,emacs-dash)
13632 ("emacs-eimp" ,emacs-eimp)
13633 ("emacs-f" ,emacs-f)
13634 ("emacs-s" ,emacs-s)))
13635 (home-page "https://github.com/Fuco1/dired-hacks")
13636 (synopsis
13637 "Collection of useful dired additions")
13638 (description
13639 "This package provides the following collection of Emacs dired mode
13640 additions:
13641
13642 @itemize
13643 @item dired-avfs
13644 @item dired-columns
13645 @item dired-filter
13646 @item dired-hacks-utils
13647 @item dired-images
13648 @item dired-list
13649 @item dired-narrow
13650 @item dired-open
13651 @item dired-rainbow
13652 @item dired-ranger
13653 @item dired-subtree
13654 @item dired-tagsistant
13655 @end itemize\n")
13656 (license license:gpl3+))))
13657
13658 (define-public emacs-dired-sidebar
13659 (let ((commit "da77919081d9a4e73c2df63542353319381e4f89")
13660 (revision "2"))
13661 (package
13662 (name "emacs-dired-sidebar")
13663 (home-page "https://github.com/jojojames/dired-sidebar")
13664 (version (git-version "0.1.0" revision commit))
13665 (source (origin
13666 (method git-fetch)
13667 (uri (git-reference (url home-page) (commit commit)))
13668 (file-name (git-file-name name version))
13669 (sha256
13670 (base32
13671 "05h56wdl2xvc8davnx83ypg20fl7wlks97cafa4r2yf141xjc05h"))))
13672 (build-system emacs-build-system)
13673 (propagated-inputs
13674 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
13675 (synopsis "Sidebar for Emacs using Dired")
13676 (description
13677 "This package provides a sidebar for Emacs similar to @code{NeoTree}
13678 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
13679 (license license:gpl3+))))
13680
13681 (define-public emacs-which-key
13682 (package
13683 (name "emacs-which-key")
13684 (version "3.5.1")
13685 (source
13686 (origin
13687 (method git-fetch)
13688 (uri (git-reference
13689 (url "https://github.com/justbur/emacs-which-key")
13690 (commit (string-append "v" version))))
13691 (file-name (git-file-name name version))
13692 (sha256
13693 (base32 "1g07i6hyv9glhk6xq1z9vn81vi2f0byy7dp3rg4gw22sm6f6d1al"))))
13694 (build-system emacs-build-system)
13695 (arguments
13696 `(#:tests? #t
13697 #:test-command '("emacs" "--batch"
13698 "-l" "which-key-tests.el"
13699 "-f" "ert-run-tests-batch-and-exit")))
13700 (home-page "https://github.com/justbur/emacs-which-key")
13701 (synopsis "Display available key bindings in popup")
13702 (description
13703 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
13704 bindings following your currently entered incomplete command (a prefix) in a
13705 popup. For example, after enabling the minor mode if you enter C-x and wait
13706 for the default of 1 second, the minibuffer will expand with all of the
13707 available key bindings that follow C-x (or as many as space allows given your
13708 settings).")
13709 (license license:gpl3+)))
13710
13711 (define-public emacs-hercules
13712 (package
13713 (name "emacs-hercules")
13714 (version "0.3.1")
13715 (source
13716 (origin
13717 (method git-fetch)
13718 (uri (git-reference
13719 (url "https://gitlab.com/jjzmajic/hercules.el")
13720 (commit (string-append "v" version))))
13721 (file-name (git-file-name name version))
13722 (sha256
13723 (base32 "1rp37rhkj8jm07dwr74vc68dhrbvyvrxjdavpb0h073ps9vl9dsc"))))
13724 (build-system emacs-build-system)
13725 (propagated-inputs
13726 `(("emacs-which-key" ,emacs-which-key)))
13727 (home-page "https://gitlab.com/jjzmajic/hercules.el")
13728 (synopsis "Call a chain of related commands without repeated prefix keys")
13729 (description
13730 "This package provides sticky-key-like functionality to obviate the need
13731 for repeated prefix-key sequences, and can reuse existing keymaps. The list
13732 of commands is displayed in a handy popup.")
13733 (license license:gpl3+)))
13734
13735 (define-public emacs-ws-butler
13736 (package
13737 (name "emacs-ws-butler")
13738 (version "0.6")
13739 (source (origin
13740 (method git-fetch)
13741 (uri (git-reference
13742 (url "https://github.com/lewang/ws-butler")
13743 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
13744 (file-name (git-file-name name version))
13745 (sha256
13746 (base32
13747 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
13748 (build-system emacs-build-system)
13749 (native-inputs
13750 `(("ert-runner" ,emacs-ert-runner)))
13751 (arguments
13752 `(#:tests? #t
13753 #:test-command '("ert-runner" "tests")))
13754 (home-page "https://github.com/lewang/ws-butler")
13755 (synopsis "Trim spaces from end of lines")
13756 (description
13757 "This Emacs package automatically and unobtrusively trims whitespace
13758 characters from end of lines.")
13759 (license license:gpl3+)))
13760
13761 (define-public emacs-openwith
13762 ;; There is no release tag. Version is extracted from main file.
13763 (let ((version "20120531")
13764 (revision "0")
13765 (commit "5fe01dee520d24c839ad5ee18822667457d9f352"))
13766 (package
13767 (name "emacs-openwith")
13768 (version (git-version version revision commit))
13769 (source
13770 (origin
13771 (method git-fetch)
13772 (uri (git-reference
13773 (url "https://github.com/garberw/openwith")
13774 (commit commit)))
13775 (file-name (git-file-name name version))
13776 (sha256
13777 (base32 "1scbawhlzmj5nhix779rlqf462g37q84vpq205qhg4qyscvfx6bi"))))
13778 (build-system emacs-build-system)
13779 (home-page "https://github.com/garberw/openwith")
13780 (synopsis "Open external applications for files with Emacs")
13781 (description
13782 "This package enables you to associate file name patterns with external
13783 applications that are automatically invoked when you use commands like
13784 @code{find-file}. For example, you can have it open @code{png} files with
13785 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
13786 when browsing files with Dired.")
13787 (license license:gpl2+))))
13788
13789 (define-public emacs-org-edit-latex
13790 (package
13791 (name "emacs-org-edit-latex")
13792 (version "0.8.3")
13793 (source
13794 (origin
13795 (method git-fetch)
13796 (uri (git-reference
13797 (url "https://github.com/et2010/org-edit-latex")
13798 (commit (string-append "v" version))))
13799 (file-name (git-file-name name version))
13800 (sha256
13801 (base32 "1w0lyz71dq8x28ira4hig1b70bqn1dr53w3k5dgch9szcf6xa86y"))))
13802 (build-system emacs-build-system)
13803 (propagated-inputs
13804 `(("emacs-auctex" ,emacs-auctex)
13805 ("emacs-org" ,emacs-org)))
13806 (home-page "https://github.com/et2010/org-edit-latex")
13807 (synopsis "Edit a LaTeX fragment just like editing a source block")
13808 (description
13809 "Org Edit LaTeX is an extension for Org mode. It lets you edit a LaTeX
13810 fragment in a dedicated buffer just like editing a source block.")
13811 (license license:gpl3+)))
13812
13813 (define-public emacs-emamux
13814 (package
13815 (name "emacs-emamux")
13816 (version "0.14")
13817 (source
13818 (origin
13819 (method git-fetch)
13820 (uri (git-reference
13821 (url "https://github.com/syohex/emacs-emamux")
13822 (commit version)))
13823 (file-name (git-file-name name version))
13824 (sha256
13825 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
13826 (build-system emacs-build-system)
13827 (home-page "https://github.com/syohex/emacs-emamux")
13828 (synopsis "Manipulate Tmux from Emacs")
13829 (description
13830 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
13831 multiplexer.")
13832 (license license:gpl3+)))
13833
13834 (define-public emacs-rpm-spec-mode
13835 (package
13836 (name "emacs-rpm-spec-mode")
13837 (version "0.16")
13838 (source
13839 (origin
13840 (method url-fetch)
13841 ;; URI has the Fedora release number instead of the version
13842 ;; number. This will have to updated manually every new release.
13843 (uri (string-append
13844 "https://src.fedoraproject.org/cgit/rpms"
13845 "/emacs-rpm-spec-mode.git/snapshot"
13846 "/emacs-rpm-spec-mode-f26.tar.gz"))
13847 (sha256
13848 (base32
13849 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
13850 (build-system emacs-build-system)
13851 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
13852 (synopsis "Emacs major mode for editing RPM spec files")
13853 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
13854 editing RPM spec files.")
13855 (license license:gpl2+)))
13856
13857 (define-public emacs-lcr
13858 (package
13859 (name "emacs-lcr")
13860 (version "1.1")
13861 (source
13862 (origin
13863 (method git-fetch)
13864 (uri (git-reference
13865 (url "https://github.com/jyp/lcr")
13866 (commit version)))
13867 (file-name (git-file-name name version))
13868 (sha256
13869 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
13870 (build-system emacs-build-system)
13871 (propagated-inputs
13872 `(("emacs-dash" ,emacs-dash)))
13873 (home-page "https://github.com/jyp/lcr")
13874 (synopsis "Lightweight coroutines in Emacs Lisp")
13875 (description "This package provides macros that can translate code into
13876 equivalent continuation-passing code, as well as miscellaneous utility
13877 functions written in continuation-passing style.")
13878 (license license:gpl3+)))
13879
13880 (define-public emacs-attrap
13881 (package
13882 (name "emacs-attrap")
13883 (version "1.1")
13884 (source
13885 (origin
13886 (method git-fetch)
13887 (uri (git-reference
13888 (url "https://github.com/jyp/attrap")
13889 (commit version)))
13890 (sha256
13891 (base32 "0wqc7bqx9rvk8r7fd3x84h8p01v97s6w2jf29nnjb59xakwp22i7"))
13892 (file-name (git-file-name name version))))
13893 (build-system emacs-build-system)
13894 (propagated-inputs
13895 `(("emacs-dash" ,emacs-dash)
13896 ("emacs-f" ,emacs-f)
13897 ("emacs-flycheck" ,emacs-flycheck)
13898 ("emacs-s" ,emacs-s)))
13899 (home-page "https://github.com/jyp/attrap")
13900 (synopsis "Fix coding error at point")
13901 (description "This package provides a command to fix the Flycheck error
13902 at point.")
13903 (license license:gpl3+)))
13904
13905 (define-public emacs-git-messenger
13906 (package
13907 (name "emacs-git-messenger")
13908 (version "0.18")
13909 (source
13910 (origin
13911 (method git-fetch)
13912 (uri (git-reference
13913 (url "https://github.com/syohex/emacs-git-messenger")
13914 (commit version)))
13915 (file-name (git-file-name name version))
13916 (sha256
13917 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
13918 (build-system emacs-build-system)
13919 (propagated-inputs
13920 `(("emacs-popup" ,emacs-popup)))
13921 (arguments
13922 `(#:tests? #t
13923 #:test-command '("emacs" "--batch" "-l" "test/test.el"
13924 "-f" "ert-run-tests-batch-and-exit")))
13925 (home-page "https://github.com/syohex/emacs-git-messenger")
13926 (synopsis "Popup commit message at current line")
13927 (description "@code{emacs-git-messenger} provides
13928 @code{git-messenger:popup-message}, a function that when called, will popup
13929 the last git commit message for the current line. This uses git-blame
13930 internally.")
13931 (license license:gpl3+)))
13932
13933 (define-public emacs-gitpatch
13934 (package
13935 (name "emacs-gitpatch")
13936 (version "0.5.1")
13937 (source
13938 (origin
13939 (method git-fetch)
13940 (uri (git-reference
13941 (url "https://github.com/tumashu/gitpatch")
13942 (commit (string-append "v" version))))
13943 (file-name (git-file-name name version))
13944 (sha256
13945 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
13946 (build-system emacs-build-system)
13947 (home-page "https://github.com/tumashu/gitpatch")
13948 (synopsis "Mail git patch from Emacs")
13949 (description "@code{emacs-gitpatch} lets users easily send git patches,
13950 created by @code{git format-patch}, from @code{magit}, @code{dired} and
13951 @code{ibuffer} buffers.")
13952 (license license:gpl3+)))
13953
13954 (define-public emacs-erc-hl-nicks
13955 (package
13956 (name "emacs-erc-hl-nicks")
13957 (version "1.3.4")
13958 (source
13959 (origin
13960 (method git-fetch)
13961 (uri (git-reference
13962 (url "https://github.com/leathekd/erc-hl-nicks")
13963 (commit version)))
13964 (file-name (git-file-name name version))
13965 (sha256
13966 (base32 "0k57scxa8rm859fqsm8srhps7rlq06jzazhjbwnadzrh8i5fyvra"))))
13967 (build-system emacs-build-system)
13968 (synopsis "Nickname highlighting for Emacs ERC")
13969 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
13970 client for Emacs. The main features are:
13971 @itemize
13972 @item Auto-colorizes nicknames without having to specify colors
13973 @item Ignores certain characters that IRC clients add to nicknames to avoid
13974 duplicates (nickname, nickname’, nickname\", etc.)
13975 @item Attempts to produce colors with a sufficient amount of contrast between
13976 the nick color and the background color
13977 @end itemize\n")
13978 (home-page "https://github.com/leathekd/erc-hl-nicks")
13979 (license license:gpl3+)))
13980
13981 (define-public emacs-engine-mode
13982 (package
13983 (name "emacs-engine-mode")
13984 (version "2.1.1")
13985 (source
13986 (origin
13987 (method git-fetch)
13988 (uri (git-reference
13989 (url "https://github.com/hrs/engine-mode")
13990 (commit (string-append "v" version))))
13991 (file-name (git-file-name name version))
13992 (sha256
13993 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
13994 (build-system emacs-build-system)
13995 (synopsis "Minor mode for defining and querying search engines")
13996 (description "@code{engine-mode} is a global minor mode for Emacs. It
13997 enables you to easily define search engines, bind them to keybindings, and
13998 query them from the comfort of your editor.")
13999 (home-page "https://github.com/hrs/engine-mode")
14000 (license license:gpl3+)))
14001
14002 (define-public emacs-envrc
14003 (package
14004 (name "emacs-envrc")
14005 (version "0.2")
14006 (source
14007 (origin
14008 (method git-fetch)
14009 (uri (git-reference
14010 (url "https://github.com/purcell/envrc")
14011 (commit version)))
14012 (file-name (git-file-name name version))
14013 (sha256
14014 (base32
14015 "0ssf9i6iym2rb530k2w5aj392qa73i6p5y0vwrs5qhkv9lagqq7p"))))
14016 (build-system emacs-build-system)
14017 (home-page "https://github.com/purcell/envrc")
14018 (synopsis "Support for Direnv which operates buffer-locally")
14019 (description
14020 "This is library which uses Direnv to set environment variables on
14021 a per-buffer basis. This means that when you work across multiple projects
14022 which have @file{.envrc} files, all processes launched from the buffers ``in''
14023 those projects will be executed with the environment variables specified in
14024 those files. This allows different versions of linters and other tools to be
14025 used in each project if desired.")
14026 (license license:gpl3+)))
14027
14028 (define-public emacs-prop-menu
14029 (package
14030 (name "emacs-prop-menu")
14031 (version "0.1.2")
14032 (source
14033 (origin
14034 (method git-fetch)
14035 (uri (git-reference
14036 (url "https://github.com/david-christiansen/prop-menu-el")
14037 (commit version)))
14038 (file-name (git-file-name name version))
14039 (sha256
14040 (base32
14041 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
14042 (build-system emacs-build-system)
14043 (home-page
14044 "https://github.com/david-christiansen/prop-menu-el")
14045 (synopsis
14046 "Create and display a context menu based on text and overlay properties")
14047 (description
14048 "This is a library for computing context menus based on text
14049 properties and overlays. The intended use is to have tools that
14050 annotate source code and others that use these annotations, without
14051 requiring a direct coupling between them, but maintaining
14052 discoverability.
14053
14054 Major modes that wish to use this library should first define an
14055 appropriate value for @code{prop-menu-item-functions}. Then, they should
14056 bind @code{prop-menu-by-completing-read} to an appropriate
14057 key. Optionally, a mouse pop-up can be added by binding
14058 @code{prop-menu-show-menu} to a mouse event.")
14059 (license license:gpl3+)))
14060
14061 (define-public emacs-idris-mode
14062 (let ((commit "b77eadd8ac2048d5c882b4464bd9673e45dd6a59")
14063 (revision "0"))
14064 (package
14065 (name "emacs-idris-mode")
14066 (version (git-version "1.0" revision commit))
14067 (source
14068 (origin
14069 (method git-fetch)
14070 (uri (git-reference
14071 (url "https://github.com/idris-hackers/idris-mode")
14072 (commit commit)))
14073 (file-name (git-file-name name commit))
14074 (sha256
14075 (base32
14076 "1v8av6jza1j00ln75zjwaca0vmmv0fhhhi94p84rlfzgzykyb9g1"))))
14077 (build-system emacs-build-system)
14078 (propagated-inputs
14079 `(("emacs-prop-menu" ,emacs-prop-menu)))
14080 (home-page
14081 "https://github.com/idris-hackers/idris-mode")
14082 (synopsis "Major mode for editing Idris code")
14083 (description
14084 "This is an Emacs mode for editing Idris code. It is compatible with
14085 the latest versions of Idris 1.")
14086 (license license:gpl3+))))
14087
14088 (define-public emacs-browse-at-remote
14089 (package
14090 (name "emacs-browse-at-remote")
14091 (version "0.14.0")
14092 (source
14093 (origin
14094 (method git-fetch)
14095 (uri (git-reference
14096 (url "https://github.com/rmuslimov/browse-at-remote")
14097 (commit version)))
14098 (file-name (git-file-name name version))
14099 (sha256
14100 (base32 "0bx4ns0jb0sqrjk1nsspvl3mhz3n12925azf7brlwb1vcgnji09v"))))
14101 (build-system emacs-build-system)
14102 (propagated-inputs
14103 `(("emacs-f" ,emacs-f)
14104 ("emacs-s" ,emacs-s)))
14105 (native-inputs
14106 `(("ert-runner" ,emacs-ert-runner)))
14107 (arguments
14108 `(#:tests? #t
14109 #:test-command '("ert-runner")))
14110 (home-page "https://github.com/rmuslimov/browse-at-remote")
14111 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
14112 (description
14113 "This Emacs package allows you to open a target page on
14114 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
14115 It supports dired buffers and opens them in tree mode at destination.")
14116 (license license:gpl3+)))
14117
14118 (define-public emacs-tiny
14119 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
14120 (revision "1"))
14121 (package
14122 (name "emacs-tiny")
14123 (version (git-version "0.2.1" revision commit))
14124 (source
14125 (origin
14126 (method git-fetch)
14127 (uri (git-reference
14128 (url "https://github.com/abo-abo/tiny")
14129 (commit commit)))
14130 (file-name (git-file-name name version))
14131 (sha256
14132 (base32
14133 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
14134 (build-system emacs-build-system)
14135 (arguments
14136 `(#:tests? #t
14137 #:test-command '("make" "test")))
14138 (home-page "https://github.com/abo-abo/tiny")
14139 (synopsis "Quickly generate linear ranges in Emacs")
14140 (description
14141 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
14142 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
14143 proficiency is an advantage, since you can transform your numeric range with
14144 an elisp expression.")
14145 (license license:gpl3+))))
14146
14147 (define-public emacs-emojify
14148 (package
14149 (name "emacs-emojify")
14150 (version "1.2")
14151 (source
14152 (origin
14153 (method git-fetch)
14154 (uri (git-reference
14155 (url "https://github.com/iqbalansari/emacs-emojify")
14156 (commit (string-append "v" version))))
14157 (file-name (git-file-name name version))
14158 (sha256
14159 (base32
14160 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
14161 (build-system emacs-build-system)
14162 (arguments
14163 `(#:include (cons "^data/" %default-include)))
14164 (propagated-inputs
14165 `(("emacs-ht" ,emacs-ht)))
14166 (home-page "https://github.com/iqbalansari/emacs-emojify")
14167 (synopsis "Display emojis in Emacs")
14168 (description "This package displays emojis in Emacs similar to how Github,
14169 Slack, and other websites do. It can display plain ASCII like @code{:)} as
14170 well as Github-style emojis like @code{:smile:}. It provides a minor mode
14171 @code{emojify-mode} to enable the display of emojis in a buffer.")
14172 (license license:gpl3+)))
14173
14174 (define-public emacs-make-it-so
14175 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
14176 (revision "2"))
14177 (package
14178 (name "emacs-make-it-so")
14179 (version (git-version "0.1.0" revision commit))
14180 (source
14181 (origin
14182 (method git-fetch)
14183 (uri (git-reference
14184 (url "https://github.com/abo-abo/make-it-so")
14185 (commit commit)))
14186 (file-name (git-file-name name version))
14187 (sha256
14188 (base32
14189 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
14190 (build-system emacs-build-system)
14191 (arguments
14192 `(#:include (cons "^recipes/" %default-include)))
14193 (propagated-inputs
14194 `(("emacs-ivy" ,emacs-ivy)))
14195 (home-page "https://github.com/abo-abo/make-it-so")
14196 (synopsis "Transform files with Makefile recipes")
14197 (description "This package provides an interface for selecting from
14198 different conversion recipes, often including tools like @code{ffmpeg} or
14199 @code{convert}. The conversion command need only be written once, and
14200 subsequent invocations can be readily customized. Several recipes are
14201 included by default, and more can be readily added.")
14202 (license license:gpl3+))))
14203
14204 (define-public emacs-unidecode
14205 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
14206 (revision "1"))
14207 (package
14208 (name "emacs-unidecode")
14209 (version (git-version "0.2" revision commit))
14210 (source
14211 (origin
14212 (method git-fetch)
14213 (uri (git-reference
14214 (url "https://github.com/sindikat/unidecode")
14215 (commit commit)))
14216 (file-name (git-file-name name version))
14217 (sha256
14218 (base32
14219 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
14220 (build-system emacs-build-system)
14221 (arguments
14222 `(#:include (cons* "^tools/" "^data/" %default-include)
14223 #:tests? #t
14224 #:test-command '("emacs" "--batch"
14225 "-l" "unidecode-test.el"
14226 "-f" "ert-run-tests-batch-and-exit")
14227 #:phases
14228 (modify-phases %standard-phases
14229 (add-before 'check 'make-tests-writable
14230 (lambda _
14231 (make-file-writable "unidecode-test.el")
14232 #t))
14233 (add-before 'check 'add-require
14234 (lambda _
14235 (emacs-batch-edit-file "unidecode-test.el"
14236 `(progn (progn (goto-char (point-min))
14237 (re-search-forward
14238 "ert-deftest")
14239 (forward-line -1)
14240 (insert "(require 'unidecode)"))
14241 (basic-save-buffer)))
14242 #t)))))
14243 (home-page "https://github.com/sindikat/unidecode")
14244 (synopsis "Transliterate Unicode text to ASCII")
14245 (description "This package provides functions for converting Unicode to ASCII.")
14246 (license license:gpl2+))))
14247
14248 (define-public emacs-pubmed
14249 (package
14250 (name "emacs-pubmed")
14251 (version "0.2.1")
14252 (source
14253 (origin
14254 (method git-fetch)
14255 (uri (git-reference
14256 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
14257 (commit (string-append "v" version))))
14258 (file-name (git-file-name name version))
14259 (sha256
14260 (base32
14261 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
14262 (build-system emacs-build-system)
14263 (propagated-inputs
14264 `(("emacs-deferred" ,emacs-deferred)
14265 ("emacs-esxml" ,emacs-esxml)
14266 ("emacs-s" ,emacs-s)
14267 ("emacs-unidecode" ,emacs-unidecode)))
14268 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
14269 (synopsis "Interface to PubMed")
14270 (description "This package provides an Emacs interface to the PubMed
14271 database of references on life sciences.")
14272 (license license:gpl3+)))
14273
14274 (define-public emacs-websocket
14275 (package
14276 (name "emacs-websocket")
14277 (version "1.13.1")
14278 (source
14279 (origin
14280 (method url-fetch)
14281 (uri (string-append "https://elpa.gnu.org/packages/"
14282 "websocket-" version ".tar"))
14283 (sha256
14284 (base32 "1x664zswas0fpml7zaj59zy97avrm49zb80zd69rlkqzz1m45psc"))))
14285 (build-system emacs-build-system)
14286 (home-page "https://elpa.gnu.org/packages/websocket.html")
14287 (synopsis "Emacs WebSocket client and server")
14288 (description
14289 "This is an Elisp library for WebSocket clients to talk to WebSocket
14290 servers, and for WebSocket servers to accept connections from WebSocket
14291 clients. This library is designed to be used by other library writers, to
14292 write applications that use WebSockets, and is not useful by itself.")
14293 (license license:gpl3+)))
14294
14295 (define-public emacs-oauth2
14296 (package
14297 (name "emacs-oauth2")
14298 (version "0.16")
14299 (source
14300 (origin
14301 (method url-fetch)
14302 (uri (string-append "https://elpa.gnu.org/packages/"
14303 "oauth2-" version ".tar"))
14304 (sha256
14305 (base32 "1rzly2nwjywrfgcmp8zidbmjl2ahyd8l8507lb1mxm4xqryvf316"))))
14306 (build-system emacs-build-system)
14307 (home-page "https://elpa.gnu.org/packages/oauth2.html")
14308 (synopsis "OAuth 2.0 authorization protocol implementation")
14309 (description
14310 "This package provides an Elisp implementation of the OAuth 2.0 draft.
14311 The main entry point is @code{oauth2-auth-and-store} which will return a token
14312 structure. This token structure can be then used with
14313 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
14314 retrieve any data that need OAuth authentication to be accessed. If the token
14315 needs to be refreshed, the code handles it automatically and stores the new
14316 value of the access token.")
14317 (license license:gpl3+)))
14318
14319 (define-public emacs-auth-source-xoauth2
14320 (package
14321 (name "emacs-auth-source-xoauth2")
14322 (version "1.0")
14323 (source
14324 (origin
14325 (method git-fetch)
14326 (uri (git-reference
14327 (url "https://github.com/ccrusius/auth-source-xoauth2")
14328 (commit (string-append "v" version))))
14329 (file-name (git-file-name name version))
14330 (sha256
14331 (base32 "0nl859csl8xcd6ybpjj15ph8l8fxwkwf45kbylss68alkyf1rl3v"))))
14332 (build-system emacs-build-system)
14333 (home-page "https://github.com/ccrusius/auth-source-xoauth2")
14334 (synopsis "XOAuth2 authentication capabilities for Emacs auth-source")
14335 (description
14336 "This package adds XOAuth2 authentication capabilities to Emacs
14337 auth-source. This integration requires some preliminary work on the users’
14338 part, which includes creating tokens.")
14339 (license license:asl2.0)))
14340
14341 (define-public emacs-circe
14342 (package
14343 (name "emacs-circe")
14344 (version "2.11")
14345 (source
14346 (origin
14347 (method git-fetch)
14348 (uri (git-reference
14349 (url "https://github.com/jorgenschaefer/circe")
14350 (commit (string-append "v" version))))
14351 (file-name (git-file-name name version))
14352 (sha256
14353 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
14354 (build-system emacs-build-system)
14355 (arguments
14356 `(#:tests? #t
14357 #:test-command '("buttercup" "-L" ".")
14358 #:phases
14359 (modify-phases %standard-phases
14360 ;; The HOME environment variable should be set to an existing
14361 ;; directory for the tests to succeed.
14362 (add-before 'check 'set-home
14363 (lambda _
14364 (setenv "HOME" "/tmp")
14365 #t)))))
14366 (native-inputs
14367 `(("emacs-buttercup" ,emacs-buttercup)))
14368 ;; In order to securely connect to an IRC server using TLS, Circe requires
14369 ;; the GnuTLS binary.
14370 (propagated-inputs
14371 `(("gnutls" ,gnutls)))
14372 (home-page "https://github.com/jorgenschaefer/circe")
14373 (synopsis "Client for IRC in Emacs")
14374 (description "Circe is a Client for IRC in Emacs. It integrates well with
14375 the rest of the editor, using standard Emacs key bindings and indicating
14376 activity in channels in the status bar so it stays out of your way unless you
14377 want to use it.")
14378 (license license:gpl3+)))
14379
14380 (define-public emacs-tracking
14381 (package
14382 (inherit emacs-circe)
14383 (name "emacs-tracking")
14384 (arguments
14385 ;; "tracking.el" is a library extracted from Circe package. It requires
14386 ;; "shorten.el".
14387 `(#:include '("^shorten.el$" "^tracking.el$")
14388 ,@(package-arguments emacs-circe)))
14389 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
14390 (synopsis "Buffer tracking library")
14391 (description "@code{tracking.el} provides a way for different modes to
14392 notify the user that a buffer needs attention. The user then can cycle
14393 through them using @key{C-c C-SPC}.")
14394 (license license:gpl3+)))
14395
14396 (define-public emacs-slack
14397 (let ((commit "1f6a40faec0d8d9c9de51c444508d05a3e995ccd")
14398 (revision "9"))
14399 (package
14400 (name "emacs-slack")
14401 (version (git-version "0.0.2" revision commit))
14402 (source (origin
14403 (method git-fetch)
14404 (uri (git-reference
14405 (url "https://github.com/yuya373/emacs-slack")
14406 (commit commit)))
14407 (file-name (git-file-name name commit))
14408 (sha256
14409 (base32
14410 "19lan9nd8qfw2ws7mx814vrin04c892yn5c8g3nad7lpnzszgr1r"))))
14411 (build-system emacs-build-system)
14412 (arguments
14413 `(#:phases
14414 (modify-phases %standard-phases
14415 ;; HOME needs to exist for source compilation.
14416 (add-before 'build 'set-HOME
14417 (lambda _ (setenv "HOME" "/tmp") #t)))))
14418 (propagated-inputs
14419 `(("emacs-alert" ,emacs-alert)
14420 ("emacs-emojify" ,emacs-emojify)
14421 ("emacs-helm" ,emacs-helm)
14422 ("emacs-request" ,emacs-request)
14423 ("emacs-websocket" ,emacs-websocket)
14424 ("emacs-oauth2" ,emacs-oauth2)
14425 ("emacs-circe" ,emacs-circe)))
14426 (home-page "https://github.com/yuya373/emacs-slack")
14427 (synopsis "Slack client for Emacs")
14428 (description "This package provides an Emacs client for the Slack
14429 messaging service.")
14430 (license license:gpl3+))))
14431
14432 (define-public emacs-helm-slack
14433 (let ((commit "465f6220f3f5bee4d95492991fca1290c89534eb")
14434 (revision "1"))
14435 (package
14436 (name "emacs-helm-slack")
14437 (version (git-version "0" revision commit))
14438 (source (origin
14439 (method git-fetch)
14440 (uri (git-reference
14441 (url "https://github.com/yuya373/helm-slack")
14442 (commit commit)))
14443 (file-name (git-file-name name commit))
14444 (sha256
14445 (base32
14446 "0p1s1kl8v68qjprqkf034cz911qzbqxbscqgpn0c3mbm3yfx81f7"))))
14447 (build-system emacs-build-system)
14448 (arguments
14449 `(#:phases
14450 (modify-phases %standard-phases
14451 ;; HOME needs to exist for source compilation.
14452 (add-before 'build 'set-HOME
14453 (lambda _ (setenv "HOME" "/tmp") #t)))))
14454 (propagated-inputs `(("emacs-slack" ,emacs-slack)))
14455 (home-page "https://github.com/yuya373/helm-slack")
14456 (synopsis "Helm extension for emacs-slack")
14457 (description "This package provides an helm extension for emacs-slack
14458 Slack client.")
14459 (license license:gpl3+))))
14460
14461
14462 (define-public emacs-bash-completion
14463 (package
14464 (name "emacs-bash-completion")
14465 (version "3.1.0")
14466 (source
14467 (origin
14468 (method git-fetch)
14469 (uri (git-reference
14470 (url "https://github.com/szermatt/emacs-bash-completion")
14471 (commit (string-append "v" version))))
14472 (file-name (git-file-name name version))
14473 (sha256
14474 (base32 "11j2k3irixp47r2iglxdmjphahqhgnxg98n2xwagwzyq99lsamj4"))))
14475 (inputs `(("bash" ,bash)))
14476 (build-system emacs-build-system)
14477 (arguments
14478 `(#:phases
14479 (modify-phases %standard-phases
14480 (add-after 'unpack 'make-git-checkout-writable
14481 (λ _
14482 (for-each make-file-writable (find-files "."))
14483 #t))
14484 (add-before 'install 'configure
14485 (lambda* (#:key inputs #:allow-other-keys)
14486 (let ((bash (assoc-ref inputs "bash")))
14487 (emacs-substitute-variables "bash-completion.el"
14488 ("bash-completion-prog" (string-append bash "/bin/bash"))))
14489 #t)))))
14490 (home-page "https://github.com/szermatt/emacs-bash-completion")
14491 (synopsis "Bash completion for the shell buffer")
14492 (description
14493 "@code{bash-completion} defines dynamic completion hooks for shell-mode
14494 and shell-command prompts that are based on Bash completion.")
14495 (license license:gpl2+)))
14496
14497 (define-public emacs-easy-kill
14498 (package
14499 (name "emacs-easy-kill")
14500 (version "0.9.4")
14501 (source (origin
14502 (method url-fetch)
14503 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
14504 version ".tar"))
14505 (sha256
14506 (base32
14507 "1pqqv4dhfm00wqch4wy3n2illsvxlz9r6r64925cvq3i7wq4la1x"))))
14508 (build-system emacs-build-system)
14509 (home-page "https://github.com/leoliu/easy-kill")
14510 (synopsis "Kill and mark things easily in Emacs")
14511 (description
14512 "This package provides commands @code{easy-kill} and @code{easy-mark} to
14513 let users kill or mark things easily.")
14514 (license license:gpl3+)))
14515
14516 (define-public emacs-csv-mode
14517 (package
14518 (name "emacs-csv-mode")
14519 (version "1.15")
14520 (source
14521 (origin
14522 (method url-fetch)
14523 (uri (string-append "https://elpa.gnu.org/packages/"
14524 "csv-mode-" version ".tar"))
14525 (sha256
14526 (base32 "0pigqhqg5mfza6jdskcr9yvrzdxnd68iyp3vyb8p8wskdacmbiyx"))))
14527 (build-system emacs-build-system)
14528 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
14529 (synopsis "Major mode for editing comma/char separated values")
14530 (description
14531 "This Emacs package implements CSV mode, a major mode for editing records
14532 in a generalized CSV (character-separated values) format.")
14533 (license license:gpl3+)))
14534
14535 (define-public emacs-transmission
14536 (package
14537 (name "emacs-transmission")
14538 (version "0.12.2")
14539 (source
14540 (origin
14541 (method git-fetch)
14542 (uri (git-reference
14543 (url "https://github.com/holomorph/transmission")
14544 (commit version)))
14545 (file-name (git-file-name name version))
14546 (sha256
14547 (base32 "16bn8y2sd7kzihp8bxh4vyay16y91q3yc0gcd0bzywcx3hijqlfc"))))
14548 (build-system emacs-build-system)
14549 (home-page "https://github.com/holomorph/transmission")
14550 (synopsis "Emacs interface to a Transmission session")
14551 (description "This package provides an Emacs interface to interact with a
14552 running session of the Transmission Bittorrent client.
14553
14554 Features:
14555
14556 @itemize
14557 @item List, add, start/stop, verify, remove torrents.
14558 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
14559 @item Navigate to the corresponding file list, torrent info, peer info
14560 contexts.
14561 @item Toggle downloading and set priorities for individual files.
14562 @end itemize\n")
14563 (license license:gpl3+)))
14564
14565 (define-public emacs-polymode
14566 (package
14567 (name "emacs-polymode")
14568 (version "0.2.2")
14569 (source
14570 (origin
14571 (method git-fetch)
14572 (uri (git-reference
14573 (url "https://github.com/polymode/polymode")
14574 (commit (string-append "v" version))))
14575 (file-name (git-file-name name version))
14576 (sha256
14577 (base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))))
14578 (build-system emacs-build-system)
14579 (home-page "https://github.com/polymode/polymode")
14580 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
14581 (description
14582 "Polymode is an Emacs package that offers generic support for multiple
14583 major modes inside a single Emacs buffer. It is lightweight, object oriented
14584 and highly extensible. Creating a new polymode typically takes only a few
14585 lines of code. Polymode also provides extensible facilities for external
14586 literate programming tools for exporting, weaving and tangling.")
14587 (license license:gpl3+)))
14588
14589 (define-public emacs-polymode-ansible
14590 (package
14591 (name "emacs-polymode-ansible")
14592 (version "0.3.0")
14593 (source
14594 (origin
14595 (method git-fetch)
14596 (uri (git-reference
14597 (url "https://gitlab.com/mavit/poly-ansible")
14598 (commit version)))
14599 (file-name (git-file-name name version))
14600 (sha256
14601 (base32 "0f0yq6gmkp194nxk90ipprglf1xkmxrgz1rkgrhfslvxq4q2l81h"))))
14602 (build-system emacs-build-system)
14603 (propagated-inputs
14604 `(("emacs-ansible-doc" ,emacs-ansible-doc)
14605 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
14606 ("emacs-polymode" ,emacs-polymode)
14607 ("emacs-yaml-mode" ,emacs-yaml-mode)))
14608 (properties '((upstream-name . "poly-ansible")))
14609 (home-page "https://gitlab.com/mavit/poly-ansible/")
14610 (synopsis "Polymode for Ansible - Jinja2 in YAML")
14611 (description
14612 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
14613 (license license:gpl3+)))
14614
14615 (define-public emacs-polymode-markdown
14616 (package
14617 (name "emacs-polymode-markdown")
14618 (version "0.2.2")
14619 (home-page "https://github.com/polymode/poly-markdown")
14620 (source
14621 (origin
14622 (method git-fetch)
14623 (uri (git-reference
14624 (url home-page)
14625 (commit (string-append "v" version))))
14626 (file-name (git-file-name name version))
14627 (sha256
14628 (base32 "1q4qq0ql08hxkdrd2aal03560k612my7bvnfpfij3g432hn0p7v6"))))
14629 (build-system emacs-build-system)
14630 (propagated-inputs
14631 `(("emacs-markdown-mode" ,emacs-markdown-mode)
14632 ("emacs-polymode" ,emacs-polymode)))
14633 (properties '((upstream-name . "poly-markdown")))
14634 (synopsis "Polymode for Markdown mode")
14635 (description
14636 "This package allows editing source code blocks embedded in Markdown
14637 files using the major mode corresponding to each block.")
14638 (license license:gpl3+)))
14639
14640 (define-public emacs-powershell
14641 ;; Tagged branch 0.1 is outdated (2015).
14642 (let ((revision "0")
14643 (commit "d1b3f95669343399f199f291ef76c09a0ede5e60"))
14644 (package
14645 (name "emacs-powershell")
14646 (build-system emacs-build-system)
14647 (version (git-version "0.3" revision commit))
14648 (source
14649 (origin
14650 (method git-fetch)
14651 (uri (git-reference
14652 (url "https://github.com/jschaf/powershell.el")
14653 (commit commit)))
14654 (file-name (git-file-name name version))
14655 (sha256
14656 (base32 "1cxhzaaig88zhylyycvb3849r85j1ijqklnh9zbqsfl2zhpb0g5c"))))
14657 (home-page "https://github.com/jschaf/powershell.el")
14658 (synopsis "Emacs mode for editing PowerShell scripts")
14659 (description
14660 "Powershell is an Emacs major mode for editing and running
14661 Microsoft PowerShell files.")
14662 (license license:gpl3+))))
14663
14664 (define-public emacs-polymode-org
14665 (package
14666 (name "emacs-polymode-org")
14667 (version "0.2.2")
14668 (source
14669 (origin
14670 (method git-fetch)
14671 (uri (git-reference
14672 (url "https://github.com/polymode/poly-org")
14673 (commit (string-append "v" version))))
14674 (file-name (git-file-name name version))
14675 (sha256
14676 (base32 "1srnwcsn2bh8gqzxixkhffk7gbnk66kd4dgvxbnps5nxqc6v0qhc"))))
14677 (build-system emacs-build-system)
14678 (propagated-inputs
14679 `(("emacs-polymode" ,emacs-polymode)))
14680 (properties '((upstream-name . "poly-org")))
14681 (home-page "https://github.com/polymode/poly-org")
14682 (synopsis "Polymode definitions for Org mode buffers")
14683 (description
14684 "This package provides definitions for Polymode to support Org buffers.
14685 It edits source blocks in an Org buffer using the native modes of the blocks'
14686 languages while remaining inside the primary Org buffer.")
14687 (license license:gpl3+)))
14688
14689 (define-public eless
14690 (package
14691 (name "eless")
14692 (version "0.6")
14693 (source
14694 (origin
14695 (method git-fetch)
14696 (uri (git-reference
14697 (url "https://github.com/kaushalmodi/eless")
14698 (commit (string-append "v" version))))
14699 (file-name (git-file-name name version))
14700 (sha256
14701 (base32 "1xif339wsc79hsab3l1nnwvy20jg7s1r4akfj4qqi6qxizfhmb52"))))
14702 (build-system copy-build-system)
14703 (inputs
14704 `(("bash" ,bash)
14705 ("emacs" ,emacs)))
14706 (arguments
14707 `(#:install-plan
14708 '(("eless" "bin/")
14709 ("docs/eless.info" "share/info/")
14710 ("eless.org" ,(string-append "share/doc/eless-" version "/")))))
14711 (home-page "https://github.com/kaushalmodi/eless")
14712 (synopsis "Use Emacs as a paginator")
14713 (description "@code{eless} provides a combination of Bash script
14714 and a minimal Emacs view-mode.
14715
14716 Features:
14717
14718 @itemize
14719 @item Independent of a user’s Emacs config.
14720 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
14721 @item Not require an Emacs server to be already running.
14722 @item Syntax highlighting.
14723 @item Org-mode file rendering.
14724 @item @code{man} page viewer.
14725 @item Info viewer.
14726 @item Dired, wdired, (batch edit symbolic links).
14727 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
14728 @item Filter log files lines matching a regexp.
14729 @item Auto-revert log files similar to @code{tail -f}.
14730 @item Quickly change frame and font sizes.
14731 @end itemize\n")
14732 (license license:expat)))
14733
14734 (define-public emacs-evil-matchit
14735 (package
14736 (name "emacs-evil-matchit")
14737 (version "2.3.10")
14738 (source
14739 (origin
14740 (method git-fetch)
14741 (uri (git-reference
14742 (url "https://github.com/redguardtoo/evil-matchit")
14743 (commit version)))
14744 (file-name (git-file-name name version))
14745 (sha256
14746 (base32 "14nrc46290q54y7wv25251f2kqc0z8i9byl09xkgjijqldl9vdxa"))))
14747 (build-system emacs-build-system)
14748 (propagated-inputs
14749 `(("emacs-evil" ,emacs-evil)))
14750 (home-page "https://github.com/redguardtoo/evil-matchit")
14751 (synopsis "Vim matchit ported into Emacs")
14752 (description
14753 "@code{evil-matchit} is a minor mode for jumping between matching tags in
14754 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
14755 (license license:gpl3+)))
14756
14757 (define-public emacs-evil-smartparens
14758 (package
14759 (name "emacs-evil-smartparens")
14760 (version "0.4.0")
14761 (source
14762 (origin
14763 (method git-fetch)
14764 (uri (git-reference
14765 (url "https://github.com/expez/evil-smartparens")
14766 (commit version)))
14767 (file-name (git-file-name name version))
14768 (sha256
14769 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
14770 (build-system emacs-build-system)
14771 (propagated-inputs
14772 `(("emacs-evil" ,emacs-evil)
14773 ("emacs-smartparens" ,emacs-smartparens)))
14774 (home-page "https://github.com/expez/evil-smartparens")
14775 (synopsis "Emacs Evil integration for Smartparens")
14776 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
14777 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
14778 emulates Vim features and provides Vim-like key bindings.")
14779 (license license:gpl3+)))
14780
14781 (define-public emacs-evil-quickscope
14782 (package
14783 (name "emacs-evil-quickscope")
14784 (version "0.1.4")
14785 (source
14786 (origin
14787 (method git-fetch)
14788 (uri (git-reference
14789 (url "https://github.com/blorbx/evil-quickscope")
14790 (commit (string-append "v" version))))
14791 (file-name (git-file-name name version))
14792 (sha256
14793 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
14794 (build-system emacs-build-system)
14795 (propagated-inputs
14796 `(("emacs-evil" ,emacs-evil)))
14797 (arguments
14798 `(#:tests? #t
14799 #:test-command '("emacs" "--batch"
14800 "-l" "evil-quickscope-tests.el"
14801 "-f" "ert-run-tests-batch-and-exit")))
14802 (home-page "https://github.com/blorbx/evil-quickscope")
14803 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
14804 (description "@code{emacs-evil-quickscope} highlights targets for Evil
14805 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
14806 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
14807 features and provides Vim-like key bindings.")
14808 (license license:gpl3+)))
14809
14810 (define-public emacs-bongo
14811 (package
14812 (name "emacs-bongo")
14813 (version "1.1")
14814 (source
14815 (origin
14816 (method git-fetch)
14817 (uri (git-reference
14818 (url "https://github.com/dbrock/bongo")
14819 (commit version)))
14820 (file-name (git-file-name name version))
14821 (sha256
14822 (base32 "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv"))))
14823 (build-system emacs-build-system)
14824 (home-page "https://github.com/dbrock/bongo")
14825 (synopsis "Media player for Emacs")
14826 (description
14827 "This package provides a flexible media player for Emacs. @code{Bongo}
14828 supports multiple backends such as @code{vlc}, @code{mpg123},
14829 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
14830 @code{afplay}.")
14831 (license license:gpl2+)))
14832
14833 (define-public emacs-groovy-modes
14834 (package
14835 (name "emacs-groovy-modes")
14836 (version "2.0")
14837 (source (origin
14838 (method git-fetch)
14839 (uri (git-reference
14840 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
14841 (commit version)))
14842 (file-name (git-file-name name version))
14843 (sha256
14844 (base32
14845 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
14846 (build-system emacs-build-system)
14847 (propagated-inputs
14848 `(("emacs-s" ,emacs-s)))
14849 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
14850 (synopsis "Groovy related modes for Emacs")
14851 (description
14852 "This package provides @code{groovy-mode} for syntax highlighting in
14853 Groovy source files, REPL integration with run-groovy and Grails project
14854 navigation with the grails mode.")
14855 (license license:gpl3+)))
14856
14857 (define-public emacs-jenkinsfile-mode
14858 (let ((commit "00d259ff9b870d234540e00e1d7c83cccdb063b8")
14859 (revision "1"))
14860 (package
14861 (name "emacs-jenkinsfile-mode")
14862 (version (git-version "0.0.1" revision commit))
14863 (source (origin
14864 (method git-fetch)
14865 (uri (git-reference
14866 (url "https://github.com/john2x/jenkinsfile-mode")
14867 (commit commit)))
14868 (file-name (git-file-name name version))
14869 (sha256
14870 (base32
14871 "0srf6xdjnrd4v4ks9pal7i48wmkcl4q5ry7d0yzfx1c9pz2qg9zx"))))
14872 (propagated-inputs
14873 `(("emacs-groovy-modes" ,emacs-groovy-modes)))
14874 (build-system emacs-build-system)
14875 (home-page "https://github.com/john2x/jenkinsfile-mode/")
14876 (synopsis "Emacs major-mode for editing Jenkinsfile")
14877 (description "This package provides a @code{jenkinsfile-mode} derived
14878 from @code{groovy-mode} for editing Jenkins declarative pipeline files.")
14879 (license license:gpl3+))))
14880
14881 (define-public emacs-kotlin-mode
14882 (let ((commit "0e4bafb31d1fc2a0a420a521c2723d5526646c0b")
14883 (revision "1"))
14884 (package
14885 (name "emacs-kotlin-mode")
14886 (version (git-version "0.0.1" revision commit))
14887 (source
14888 (origin
14889 (method git-fetch)
14890 (uri (git-reference
14891 (url "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode")
14892 (commit commit)))
14893 (file-name (git-file-name name version))
14894 (sha256
14895 (base32 "09inpgwmnnqaakyn4r4xs8kax8b89dw94kvl521x6d43h9zl5i70"))))
14896 (build-system emacs-build-system)
14897 (arguments
14898 `(#:tests? #t
14899 #:test-command '("ert-runner" "-L" "." "-L" "test")))
14900 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
14901 (home-page "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode")
14902 (synopsis "Major major-mode for editing Kotlin files")
14903 (description
14904 "This package provides a @code{kotlin-mode} for editing Kotlin files.")
14905 (license license:gpl3+))))
14906
14907 (define-public emacs-org-tree-slide
14908 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
14909 (revision "2"))
14910 (package
14911 (name "emacs-org-tree-slide")
14912 (version (git-version "2.8.4" revision commit))
14913 (source (origin
14914 (method git-fetch)
14915 (uri (git-reference
14916 (url "https://github.com/takaxp/org-tree-slide")
14917 (commit commit)))
14918 (sha256
14919 (base32
14920 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
14921 (file-name (git-file-name name version))))
14922 (build-system emacs-build-system)
14923 (home-page "https://github.com/takaxp/org-tree-slide")
14924 (synopsis "Presentation tool for org-mode")
14925 (description
14926 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
14927 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
14928 @kbd{C-<} to jump to the next and previous slide.")
14929 (license license:gpl3+))))
14930
14931 (define-public emacs-scratch-el
14932 (package
14933 (name "emacs-scratch-el")
14934 (version "1.3")
14935 (source
14936 (origin
14937 (method git-fetch)
14938 (uri (git-reference
14939 (url "https://github.com/ieure/scratch-el")
14940 (commit (string-append "v" version))))
14941 (file-name (git-file-name name version))
14942 (sha256
14943 (base32 "0yiwq2gc4gdgfhaagpawhb7yrzc4fsnyb10w5d0q4whv64cj8555"))))
14944 (build-system emacs-build-system)
14945 (native-inputs
14946 `(("texinfo" ,texinfo)))
14947 (arguments
14948 '(#:phases
14949 (modify-phases %standard-phases
14950 (add-after 'install 'install-doc
14951 (lambda* (#:key outputs #:allow-other-keys)
14952 (unless (invoke "makeinfo" "scratch.texi")
14953 (error "makeinfo failed"))
14954 (install-file "scratch.info"
14955 (string-append (assoc-ref outputs "out")
14956 "/share/info"))
14957 #t)))))
14958 (home-page "https://github.com/ieure/scratch-el/")
14959 (synopsis "Create scratch buffers with the same mode as current buffer")
14960 (description "Scratch is an extension to Emacs that enables one to create
14961 scratch buffers that are in the same mode as the current buffer. This is
14962 notably useful when working on code in some language; you may grab code into a
14963 scratch buffer, and, by virtue of this extension, do so using the Emacs
14964 formatting rules for that language.")
14965 (license license:bsd-2)))
14966
14967 (define-public emacs-kv
14968 (package
14969 (name "emacs-kv")
14970 (version "0.0.19")
14971 (source
14972 (origin
14973 (method git-fetch)
14974 (uri (git-reference
14975 (url "https://github.com/nicferrier/emacs-kv")
14976 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
14977 (file-name (git-file-name name version))
14978 (sha256
14979 (base32
14980 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
14981 (build-system emacs-build-system)
14982 (arguments
14983 `(#:tests? #t
14984 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
14985 "-f" "ert-run-tests-batch-and-exit")))
14986 (home-page "https://github.com/nicferrier/emacs-kv")
14987 (synopsis "Key/Value data structures library for Emacs Lisp")
14988 (description "@code{emacs-kv} is a collection of tools for dealing with
14989 key/value data structures such as plists, alists and hash-tables in Emacs
14990 Lisp.")
14991 (license license:gpl3+)))
14992
14993 (define-public emacs-esxml
14994 (package
14995 (name "emacs-esxml")
14996 (version "0.3.5")
14997 (source (origin
14998 (method git-fetch)
14999 (uri (git-reference
15000 (url "https://github.com/tali713/esxml")
15001 (commit version)))
15002 (file-name (git-file-name name version))
15003 (sha256
15004 (base32
15005 "16jn404vfmsvm12wrf8iczqlgdf2iycbxrvalvzxnm2gr5dfzp7z"))))
15006 (build-system emacs-build-system)
15007 (arguments
15008 `(#:phases
15009 (modify-phases %standard-phases
15010 (add-after 'unpack 'fix-sources
15011 (lambda _
15012 ;; See: https://github.com/tali713/esxml/pull/28.
15013 (substitute* "css-lite.el"
15014 ((";;; main interface")
15015 (string-append ";;; main interface\n"
15016 "(require 'cl-lib)"))
15017 (("mapcan")
15018 "cl-mapcan")
15019 (("',\\(cl-mapcan #'process-css-rule rules\\)")
15020 "(cl-mapcan #'process-css-rule ',rules)"))
15021 (substitute* "esxml-form.el"
15022 ((",esxml-form-field-defn")
15023 "#'esxml-form-field-defn"))
15024 ;; See: https://github.com/tali713/esxml/issues/25
15025 (delete-file "esxpath.el")
15026 #t)))))
15027 (propagated-inputs
15028 `(("emacs-kv" ,emacs-kv)))
15029 (home-page "https://github.com/tali713/esxml/")
15030 (synopsis "SXML for EmacsLisp")
15031 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
15032 Simply, this is the easiest way to write HTML or XML in Lisp. This library
15033 uses the native form of XML representation as used by many libraries already
15034 included within Emacs. See @code{esxml-to-xml} for a concise description of
15035 the format.")
15036 (license license:gpl3+)))
15037
15038 (define-public emacs-nov-el
15039 (package
15040 (name "emacs-nov-el")
15041 (version "0.3.3")
15042 (source
15043 (origin
15044 (method git-fetch)
15045 (uri (git-reference
15046 (url "https://depp.brause.cc/nov.el.git")
15047 (commit version)))
15048 (file-name (git-file-name name version))
15049 (sha256
15050 (base32
15051 "116klnjyggwfwvs9nqhpv97m00k63q6lg41ph41kywsqkfy42dlk"))))
15052 (build-system emacs-build-system)
15053 (arguments
15054 `(#:phases
15055 (modify-phases %standard-phases
15056 (add-after 'unpack 'embed-path-to-unzip
15057 (lambda _
15058 (substitute* "nov.el"
15059 (("\\(executable-find \"unzip\"\\)")
15060 (string-append "\"" (which "unzip") "\"")))
15061 #t)))))
15062 (propagated-inputs
15063 `(("emacs-dash" ,emacs-dash)
15064 ("emacs-esxml" ,emacs-esxml)))
15065 (inputs
15066 `(("unzip" ,unzip)))
15067 (home-page "https://depp.brause.cc/nov.el/")
15068 (synopsis "Major mode for reading EPUBs in Emacs")
15069 (description "@code{nov.el} provides a major mode for reading EPUB
15070 documents.
15071
15072 Features:
15073
15074 @itemize
15075 @item Basic navigation (jump to TOC, previous/next chapter)
15076 @item Remembering and restoring the last read position
15077 @item Jump to next chapter when scrolling beyond end
15078 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
15079 @item Hyperlinks to internal and external targets
15080 @item Supports textual and image documents
15081 @item View source of document files
15082 @item Metadata display
15083 @item Image rescaling
15084 @end itemize
15085 ")
15086 (license license:gpl3+)))
15087
15088 (define-public epipe
15089 (package
15090 (name "epipe")
15091 (version "0.1.0")
15092 (source
15093 (origin
15094 (method git-fetch)
15095 (uri (git-reference
15096 (url "https://github.com/cute-jumper/epipe")
15097 (commit version)))
15098 (file-name (git-file-name name version))
15099 (sha256
15100 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
15101 (build-system trivial-build-system)
15102 (inputs
15103 `(("bash" ,bash)
15104 ("perl" ,perl)))
15105 (arguments
15106 `(#:modules
15107 ((guix build utils))
15108 #:builder
15109 (begin
15110 (use-modules (guix build utils))
15111 ;; Extract source.
15112 (copy-recursively (assoc-ref %build-inputs "source") "source")
15113 (chdir "source")
15114 ;; Patch shebangs.
15115 (substitute* "epipe"
15116 (("/usr/bin/env bash")
15117 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
15118 (patch-shebang "epipe.pl"
15119 (list (string-append (assoc-ref %build-inputs "perl")
15120 "/bin")))
15121 ;; Install.
15122 (for-each (lambda (file)
15123 (install-file file (string-append %output "/bin")))
15124 '("epipe" "epipe.pl"))
15125 #t)))
15126 (home-page "https://github.com/cute-jumper/epipe")
15127 (synopsis "Pipe to the @code{emacsclient}")
15128 (description "@code{epipe} provides an utility to use your editor in
15129 the pipeline, featuring the support for running @code{emacsclient}.")
15130 (license license:gpl3+)))
15131
15132 (define-public emacs-hcl-mode
15133 (package
15134 (name "emacs-hcl-mode")
15135 (version "0.03")
15136 (source
15137 (origin
15138 (method git-fetch)
15139 (uri (git-reference
15140 (url "https://github.com/syohex/emacs-hcl-mode")
15141 (commit version)))
15142 (file-name (git-file-name name version))
15143 (sha256
15144 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
15145 (build-system emacs-build-system)
15146 (home-page "https://github.com/syohex/emacs-hcl-mode")
15147 (synopsis "Major mode for the Hashicorp Configuration Language")
15148 (description
15149 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
15150 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
15151 highlighting and indentation support.")
15152 (license license:gpl3+)))
15153
15154 (define-public emacs-terraform-mode
15155 (package
15156 (name "emacs-terraform-mode")
15157 (version "0.06")
15158 (source
15159 (origin
15160 (method git-fetch)
15161 (uri (git-reference
15162 (url "https://github.com/syohex/emacs-terraform-mode")
15163 (commit version)))
15164 (file-name (git-file-name name version))
15165 (sha256
15166 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
15167 (build-system emacs-build-system)
15168 (propagated-inputs
15169 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
15170 (home-page "https://github.com/syohex/emacs-terraform-mode")
15171 (synopsis "Major mode for Terraform")
15172 (description
15173 "@code{emacs-terraform-mode} provides a major mode for working with
15174 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
15175 functionality is inherited from @code{hcl-mode}.")
15176 (license license:gpl3+)))
15177
15178 (define-public emacs-exec-path-from-shell
15179 (package
15180 (name "emacs-exec-path-from-shell")
15181 (version "1.12")
15182 (source
15183 (origin
15184 (method git-fetch)
15185 (uri (git-reference
15186 (url "https://github.com/purcell/exec-path-from-shell")
15187 (commit version)))
15188 (file-name (git-file-name name version))
15189 (sha256
15190 (base32
15191 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
15192 (build-system emacs-build-system)
15193 (home-page "https://github.com/purcell/exec-path-from-shell")
15194 (synopsis "Get environment variables such as @env{PATH} from the shell")
15195 (description
15196 "This library allows the user to set Emacs @code{exec-path} and @env{PATH}
15197 from the shell's @env{PATH}, so that @code{shell-command}, @code{compile} and
15198 the like work as expected on systems on which Emacs is not guaranteed to
15199 inherit a login shell's environment variables. It also allows other
15200 environment variables to be retrieved from the shell, so that Emacs will see
15201 the same values you get in a terminal.")
15202 (license license:gpl3+)))
15203
15204 (define-public emacs-frog-menu
15205 (package
15206 (name "emacs-frog-menu")
15207 (version "0.2.11")
15208 (source
15209 (origin
15210 (method url-fetch)
15211 (uri (string-append "https://elpa.gnu.org/packages/"
15212 "frog-menu-" version ".el"))
15213 (sha256
15214 (base32 "06iw11z61fd0g4w3562k3smcmzaq3nivvvc6gzm8y8k5pcrqzdff"))))
15215 (build-system emacs-build-system)
15216 (propagated-inputs
15217 `(("emacs-avy" ,emacs-avy)
15218 ("emacs-posframe" ,emacs-posframe)))
15219 (home-page "https://github.com/clemera/frog-menu")
15220 (synopsis "Quickly pick items from ad hoc menus")
15221 (description
15222 "This package provides a popup offering a preview of a list of candidates
15223 on which user-defined dispatch actions can act.")
15224 (license license:gpl3+)))
15225
15226 (define-public emacs-frog-jump-buffer
15227 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
15228 (revision "1"))
15229 (package
15230 (name "emacs-frog-jump-buffer")
15231 (version (git-version "0.1.4" revision commit))
15232 (source
15233 (origin
15234 (method git-fetch)
15235 (uri (git-reference
15236 (url "https://github.com/waymondo/frog-jump-buffer")
15237 (commit commit)))
15238 (file-name (git-file-name name version))
15239 (sha256
15240 (base32
15241 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
15242 (build-system emacs-build-system)
15243 (propagated-inputs
15244 `(("emacs-dash" ,emacs-dash)
15245 ("emacs-frog-menu" ,emacs-frog-menu)
15246 ("emacs-avy" ,emacs-avy)))
15247 (home-page "https://github.com/waymondo/frog-jump-buffer")
15248 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
15249 (description
15250 "This package provides a preview window of buffers that can be switched
15251 to with quicklink-style selections.")
15252 (license license:gpl3+))))
15253
15254 (define-public emacs-deft
15255 (package
15256 (name "emacs-deft")
15257 (version "0.8")
15258 (source
15259 (origin
15260 (method git-fetch)
15261 (uri (git-reference
15262 (url "https://github.com/jrblevin/deft")
15263 (commit (string-append "v" version))))
15264 (file-name (git-file-name name version))
15265 (sha256
15266 (base32
15267 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
15268 (build-system emacs-build-system)
15269 (home-page "https://jblevins.org/projects/deft/")
15270 (synopsis "Quickly browse, filter, and edit plain text notes")
15271 (description
15272 "Deft is an Emacs mode for quickly browsing, filtering, and editing
15273 directories of plain text notes, inspired by Notational Velocity.")
15274 (license license:bsd-3)))
15275
15276 (define-public emacs-anzu
15277 (package
15278 (name "emacs-anzu")
15279 (version "0.64")
15280 (source
15281 (origin
15282 (method git-fetch)
15283 (uri (git-reference
15284 (url "https://github.com/syohex/emacs-anzu")
15285 (commit version)))
15286 (file-name (git-file-name name version))
15287 (sha256
15288 (base32 "1jfn5nm6r68wa0gn2k2zy6sdq6c8shw8x04ylzzm5cw7zm60jw0n"))))
15289 (build-system emacs-build-system)
15290 (home-page "https://github.com/syohex/emacs-anzu")
15291 (synopsis "Show number of matches in mode-line while searching")
15292 (description
15293 "Anzu provides a minor mode which displays \"current match/total
15294 matches\" in the mode line in various search modes. This is an Emacs port of
15295 Anzu.zim.")
15296 (license license:gpl3+)))
15297
15298 (define-public emacs-ascii-art-to-unicode
15299 (package
15300 (name "emacs-ascii-art-to-unicode")
15301 (version "1.13")
15302 (source
15303 (origin
15304 (method url-fetch)
15305 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
15306 version ".el"))
15307 (sha256
15308 (base32 "1c0jva3amhl9c5xc5yzdpi58c8m1djym4ccj31z6wmakq7npy07p"))))
15309 (build-system emacs-build-system)
15310 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
15311 (synopsis "ASCII to Unicode art converter for Emacs")
15312 (description "This Emacs package provides the commands @command{aa2u} and
15313 @command{aa2u-rectangle}. Both of these commands can be used to convert
15314 simple ASCII art line drawings to Unicode; the former works on the active
15315 region of the buffer, while the latter works on rectangular selections.")
15316 (license license:gpl3+)))
15317
15318 (define-public emacs-emmet-mode
15319 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
15320 (revision "1"))
15321 (package
15322 (name "emacs-emmet-mode")
15323 (version (git-version "1.0.8" revision commit))
15324 (source (origin
15325 (method git-fetch)
15326 (uri (git-reference
15327 (url "https://github.com/smihica/emmet-mode")
15328 (commit commit)))
15329 (file-name (git-file-name name version))
15330 (sha256
15331 (base32
15332 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
15333 (build-system emacs-build-system)
15334 (home-page "https://github.com/smihica/emmet-mode")
15335 (synopsis "Unofficial Emmet's support for Emacs")
15336 (description
15337 "Unfold CSS-selector-like expressions to markup. It is intended to be
15338 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
15339 (license license:gpl3+))))
15340
15341 (define-public emacs-ergoemacs-mode
15342 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
15343 (revision "1"))
15344 (package
15345 (name "emacs-ergoemacs-mode")
15346 (version (git-version "5.16.10.12" revision commit))
15347 (source
15348 (origin
15349 (method git-fetch)
15350 (uri (git-reference
15351 (url "https://github.com/ergoemacs/ergoemacs-mode")
15352 (commit commit)))
15353 (file-name (git-file-name name version))
15354 (sha256
15355 (base32
15356 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
15357 (build-system emacs-build-system)
15358 (propagated-inputs
15359 `(("emacs-undo-tree" ,emacs-undo-tree)))
15360 (home-page "https://ergoemacs.github.io/")
15361 (synopsis "Emacs mode based on common modern interface and ergonomics")
15362 (description
15363 "This package provides an efficient Emacs keybinding set based on
15364 statistics of command frequency, and supports common shortcuts for open,
15365 close, copy, cut, paste, undo, redo.")
15366 (license license:gpl3+))))
15367
15368 (define-public emacs-password-store
15369 (let ((commit "918992c19231b33b3d4a3288a7288a620e608cb4")
15370 (revision "1"))
15371 (package
15372 (name "emacs-password-store")
15373 ;; The emacs package version does not match the password-store version,
15374 ;; even though it is part of the same repository. When updating, look
15375 ;; at the version declared in password-store.el.
15376 (version (git-version "2.1.4" revision commit))
15377 (source (origin
15378 (method git-fetch)
15379 (uri (git-reference
15380 (url "git://git.zx2c4.com/password-store")
15381 (commit commit)))
15382 (sha256
15383 (base32
15384 "0ni62f4pq96g0i0q66bch1dl9k4zqwhg7xaf746k3gbbqxcdh3vi"))
15385 (file-name (git-file-name name version))))
15386 (build-system emacs-build-system)
15387 (arguments
15388 `(#:phases
15389 (modify-phases %standard-phases
15390 (add-after 'unpack 'extract-el-file
15391 (lambda _
15392 (copy-file "contrib/emacs/password-store.el" "password-store.el")
15393 (delete-file-recursively "contrib")
15394 (delete-file-recursively "man")
15395 (delete-file-recursively "src")
15396 (delete-file-recursively "tests"))))))
15397 (propagated-inputs
15398 `(("emacs-auth-source-pass" ,emacs-auth-source-pass)
15399 ("emacs-s" ,emacs-s)
15400 ("emacs-with-editor" ,emacs-with-editor)
15401 ("password-store" ,password-store)))
15402 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
15403 (synopsis "Password store (pass) support for Emacs")
15404 (description
15405 "This package provides functions for working with pass (\"the
15406 standard Unix password manager\").")
15407 (license license:gpl2+))))
15408
15409 (define-public emacs-password-store-otp
15410 (package
15411 (name "emacs-password-store-otp")
15412 (version "0.1.5")
15413 (source
15414 (origin
15415 (method git-fetch)
15416 (uri (git-reference
15417 (url "https://github.com/volrath/password-store-otp.el")
15418 (commit version)))
15419 (sha256
15420 (base32 "0gb48blvnn6ci2wl45z81p41ny7vbgl610hqy6b2hyr2171qjd60"))
15421 (file-name (git-file-name name version))))
15422 (build-system emacs-build-system)
15423 (propagated-inputs
15424 `(("emacs-password-store" ,emacs-password-store)
15425 ("emacs-s" ,emacs-s)))
15426 (home-page "https://github.com/volrath/password-store-otp.el")
15427 (synopsis
15428 "Interact with the @code{pass-otp} extension for @code{pass} from Emacs")
15429 (description "This package provides Emacs functions to interact with the
15430 @code{pass-otp} extension for @code{pass}. It includes functions to import
15431 OTP URIs from screenshots of QR codes, and to export them back to QR codes if
15432 needed.")
15433 (license license:gpl3+)))
15434
15435 (define-public emacs-auth-source-pass
15436 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
15437 (revision "2"))
15438 (package
15439 (name "emacs-auth-source-pass")
15440 (version (git-version "5.0.0" revision commit))
15441 (source
15442 (origin
15443 (method git-fetch)
15444 (uri (git-reference
15445 (url "https://github.com/DamienCassou/auth-password-store")
15446 (commit commit)))
15447 (file-name (git-file-name name version))
15448 (sha256
15449 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
15450 (build-system emacs-build-system)
15451 (arguments
15452 `(#:tests? #t
15453 #:test-command '("emacs" "--batch"
15454 "-L" "."
15455 "-l" "test/auth-source-pass-tests.el"
15456 "-f" "ert-run-tests-batch-and-exit")))
15457 (home-page "https://github.com/DamienCassou/auth-password-store")
15458 (synopsis "Integrate @code{auth-source} with @code{password-store}")
15459 (description "This package helps Emacs integrate with the Unix
15460 @code{password-store} application.")
15461 (license license:gpl3+))))
15462
15463 (define-public emacs-pass
15464 (package
15465 (name "emacs-pass")
15466 (version "2.0")
15467 (source
15468 (origin
15469 (method git-fetch)
15470 (uri (git-reference
15471 (url "https://github.com/NicolasPetton/pass")
15472 (commit version)))
15473 (file-name (git-file-name name version))
15474 (sha256
15475 (base32 "0jc8j421mlflspg24jvrqc2n3y5n3cpk3hjy560il8g36xi1049p"))))
15476 (build-system emacs-build-system)
15477 (propagated-inputs
15478 `(("emacs-password-store" ,emacs-password-store)
15479 ("emacs-f" ,emacs-f)))
15480 (home-page "https://github.com/NicolasPetton/pass")
15481 (synopsis "Major mode for @file{password-store.el}")
15482 (description "This is a major mode for managing password-store (pass)
15483 keychains. The keychain entries are displayed in a directory-like structure
15484 and can be consulted and modified.")
15485 (license license:gpl3+)))
15486
15487 (define-public emacs-psc-ide
15488 ;; There is no proper release. The base version is extracted from the
15489 ;; "Version" keyword in the main file.
15490 (let ((commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe")
15491 (revision "1"))
15492 (package
15493 (name "emacs-psc-ide")
15494 (version (git-version "0.1.0" revision commit))
15495 (source
15496 (origin
15497 (method git-fetch)
15498 (uri
15499 (git-reference
15500 (url "https://github.com/purescript-emacs/psc-ide-emacs")
15501 (commit commit)))
15502 (file-name (git-file-name name version))
15503 (sha256
15504 (base32 "0r0fymyai30jimm34z1cmav4wgij8ci6s1d9y7qigygfbbfrdsmj"))))
15505 (build-system emacs-build-system)
15506 (propagated-inputs
15507 `(("emacs-company" ,emacs-company)
15508 ("emacs-dash" ,emacs-dash)
15509 ("emacs-flycheck" ,emacs-flycheck)
15510 ("emacs-let-alist" ,emacs-let-alist)
15511 ("emacs-s" ,emacs-s)))
15512 (home-page "https://github.com/purescript-emacs/psc-ide-emacs")
15513 (synopsis "Emacs integration for PureScript's psc-ide tool")
15514 (description
15515 "This package provices Emacs integration for @code{psc-ide}, an IDE
15516 protocol for PureScript programming language. It features:
15517
15518 @itemize
15519 @item Completions
15520 @item Type at point
15521 @item Go to definition
15522 @item Automatic imports
15523 @item Case split
15524 @item Build system integration, and
15525 @item Flycheck support
15526 @end itemize")
15527 (license license:gpl3+))))
15528
15529 (define-public emacs-evil-anzu
15530 (package
15531 (name "emacs-evil-anzu")
15532 (version "0.03")
15533 (source
15534 (origin
15535 (method git-fetch)
15536 (uri (git-reference
15537 (url "https://github.com/syohex/emacs-evil-anzu")
15538 (commit version)))
15539 (file-name (git-file-name name version))
15540 (sha256
15541 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
15542 (build-system emacs-build-system)
15543 (propagated-inputs
15544 `(("emacs-evil" ,emacs-evil)
15545 ("emacs-anzu" ,emacs-anzu)))
15546 (home-page "https://github.com/syohex/emacs-evil-anzu")
15547 (synopsis "Anzu for evil-mode")
15548 (description "@code{anzu} provides a minor mode that displays the current
15549 match and total match information in the mode-line in various search modes.")
15550 (license license:gpl3+)))
15551
15552 (define-public emacs-pg
15553 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
15554 (package
15555 (name "emacs-pg")
15556 (version (git-version "0.1" "1" commit))
15557 (source (origin
15558 (method git-fetch)
15559 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
15560 (commit commit)))
15561 (file-name (git-file-name name version))
15562 (sha256
15563 (base32
15564 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
15565 (build-system emacs-build-system)
15566 (home-page "https://github.com/cbbrowne/pg.el")
15567 (synopsis "Emacs Lisp interface for PostgreSQL")
15568 (description
15569 "This package provides an Emacs Lisp interface for PostgreSQL.")
15570 (license license:gpl3+))))
15571
15572 (define-public emacs-finalize
15573 (package
15574 (name "emacs-finalize")
15575 (version "2.0.0")
15576 (source
15577 (origin
15578 (method git-fetch)
15579 (uri (git-reference
15580 (url "https://github.com/skeeto/elisp-finalize")
15581 (commit version)))
15582 (file-name (git-file-name name version))
15583 (sha256
15584 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
15585 (build-system emacs-build-system)
15586 (home-page "https://github.com/skeeto/elisp-finalize")
15587 (synopsis "Finalizers for Emacs Lisp")
15588 (description
15589 "This package runs a callback (a finalizer)
15590 after its registered lisp object has been garbage collected. This allows
15591 extra resources, such as buffers and processes, to be cleaned up after the
15592 object has been freed.")
15593 (license license:unlicense)))
15594
15595 (define-public emacs-emacsql
15596 (package
15597 (name "emacs-emacsql")
15598 (version "3.0.0")
15599 (source (origin
15600 (method git-fetch)
15601 (uri (git-reference
15602 (url "https://github.com/skeeto/emacsql")
15603 (commit (string-append version))))
15604 (file-name (git-file-name name version))
15605 (sha256
15606 (base32
15607 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
15608 (build-system emacs-build-system)
15609 (arguments
15610 `(#:modules ((guix build emacs-build-system)
15611 (guix build utils)
15612 (guix build emacs-utils)
15613 (srfi srfi-26))
15614 #:phases
15615 (modify-phases %standard-phases
15616 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
15617 (add-before 'install 'patch-elisp-shell-shebangs
15618 (lambda _
15619 (substitute* (find-files "." "\\.el")
15620 (("/bin/sh") (which "sh")))
15621 #t))
15622 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
15623 (lambda _
15624 (setenv "SHELL" "sh")))
15625 (add-after 'setenv-shell 'build-emacsql-sqlite
15626 (lambda _
15627 (invoke "make" "binary" "CC=gcc")))
15628 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
15629 ;; This build phase installs emacs-emacsql binary.
15630 (lambda* (#:key outputs #:allow-other-keys)
15631 (install-file "sqlite/emacsql-sqlite"
15632 (string-append (assoc-ref outputs "out")
15633 "/bin"))
15634 #t))
15635 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
15636 ;; This build phase removes interactive prompts
15637 ;; and makes sure Emacs look for binaries in the right places.
15638 (lambda* (#:key outputs #:allow-other-keys)
15639 (let ((file "emacsql-sqlite.el"))
15640 (chmod file #o644)
15641 (emacs-substitute-sexps file
15642 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
15643 ("(executable-find" (which "gcc"))
15644 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
15645 ;; in the right place.
15646 ("(defvar emacsql-sqlite-executable"
15647 (string-append (assoc-ref outputs "out")
15648 "/bin/emacsql-sqlite"))))))
15649 (replace 'install
15650 (lambda* (#:key outputs #:allow-other-keys)
15651 (let* ((out (assoc-ref outputs "out")))
15652 (install-file "sqlite/emacsql-sqlite"
15653 (string-append out "/bin"))
15654 (for-each (cut install-file <>
15655 (string-append out "/share/emacs/site-lisp"))
15656 (find-files "." "\\.elc*$")))
15657 #t)))))
15658 (inputs
15659 `(("emacs-minimal" ,emacs-minimal)
15660 ("mariadb" ,mariadb "lib")
15661 ("mariadb-dev" ,mariadb "dev")
15662 ("postgresql" ,postgresql)))
15663 (propagated-inputs
15664 `(("emacs-finalize" ,emacs-finalize)
15665 ("emacs-pg" ,emacs-pg)))
15666 (home-page "https://github.com/skeeto/emacsql")
15667 (synopsis "Emacs high-level SQL database front-end")
15668 (description "Any readable Lisp value can be stored as a value in EmacSQL,
15669 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
15670 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
15671 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
15672 (license license:gpl3+)))
15673
15674 (define-public emacs-emacsql-sqlite3
15675 (package
15676 (name "emacs-emacsql-sqlite3")
15677 (version "1.0.2")
15678 (source (origin
15679 (method git-fetch)
15680 (uri (git-reference
15681 (url "https://github.com/cireu/emacsql-sqlite3")
15682 (commit version)))
15683 (file-name (git-file-name name version))
15684 (sha256
15685 (base32
15686 "1jzvvsvi8jm2ws3y49nmpmwd3zlvf8j83rl2vwizd1aplwwdnmd6"))))
15687 (build-system emacs-build-system)
15688 (native-inputs
15689 `(("ert-runner" ,emacs-ert-runner)))
15690 (inputs
15691 `(("sqlite" ,sqlite)))
15692 (propagated-inputs
15693 `(("emacs-emacsql" ,emacs-emacsql)))
15694 (arguments
15695 `(#:tests? #t
15696 #:test-command '("emacs" "-Q" "--batch" "-L" "."
15697 "--load" "emacsql-sqlite3-test.el"
15698 "-f" "ert-run-tests-batch-and-exit")
15699 #:phases
15700 (modify-phases %standard-phases
15701 (add-after 'unpack 'embed-path-to-sqlite3
15702 (lambda _
15703 (substitute* "emacsql-sqlite3.el"
15704 (("\\(executable-find \"sqlite3\"\\)")
15705 (string-append "\"" (which "sqlite3") "\"")))
15706 #t)))))
15707 (home-page "https://github.com/cireu/emacsql-sqlite3")
15708 (synopsis "EmacSQL backend for SQLite")
15709 (description "This is yet another EmacSQL backend for SQLite which uses
15710 official @command{sqlite3} executable to access SQL database.")
15711 (license license:gpl3+)))
15712
15713 (define-public emacs-closql
15714 (package
15715 (name "emacs-closql")
15716 (version "1.0.4")
15717 (source
15718 (origin
15719 (method git-fetch)
15720 (uri (git-reference
15721 (url "https://github.com/emacscollective/closql")
15722 (commit (string-append "v" version))))
15723 (file-name (git-file-name name version))
15724 (sha256
15725 (base32
15726 "06j0sc6dx8f34wc8i7dzkp8jwvwnrpnl8i93vpc1qw0ih0jwa2zh"))))
15727 (build-system emacs-build-system)
15728 (propagated-inputs
15729 `(("emacs-emacsql" ,emacs-emacsql)))
15730 (home-page "https://github.com/emacscollective/closql")
15731 (synopsis "Store EIEIO objects using EmacSQL")
15732 (description
15733 "This package stores uniform EIEIO objects in an EmacSQL
15734 database. SQLite is used as backend. This library imposes some restrictions
15735 on what kind of objects can be stored; it isn't intended to store arbitrary
15736 objects. All objects have to share a common superclass and subclasses cannot
15737 add any additional instance slots.")
15738 (license license:gpl3)))
15739
15740 (define-public emacs-epkg
15741 (package
15742 (name "emacs-epkg")
15743 (version "3.2.2")
15744 (source
15745 (origin
15746 (method git-fetch)
15747 (uri (git-reference
15748 (url "https://github.com/emacscollective/epkg")
15749 (commit (string-append "v" version))))
15750 (file-name (git-file-name name version))
15751 (sha256
15752 (base32
15753 "1pxz611qb3m33r6343h0xhwqvvhjl131zyc2klplzgb23rkm8lk0"))))
15754 (build-system emacs-build-system)
15755 (propagated-inputs
15756 `(("emacs-closql" ,emacs-closql)
15757 ("emacs-dash" ,emacs-dash)))
15758 (home-page "https://emacsmirror.net")
15759 (synopsis "Browse the Emacsmirror package database")
15760 (description "This package provides access to a local copy of the
15761 Emacsmirror package database. It provides low-level functions for querying
15762 the database and a @file{package.el} user interface for browsing the database.
15763 Epkg itself is not a package manager.
15764
15765 Getting a local copy:
15766
15767 @example
15768 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
15769 cd ~/.emacs.d/epkgs
15770 git submodule init
15771 git config --global url.https://github.com/.insteadOf git@@github.com:
15772 git submodule update
15773 @end example
15774
15775 Some submodule may be missing. In this case Git will prompt for a GitHub user
15776 name and password. To skip it press a @key{Return} key.
15777
15778 You could get a Epkg package list by invoking @code{epkg-list-packages} in
15779 Emacs.")
15780 (license license:gpl3+)))
15781
15782 (define-public emacs-elisp-slime-nav
15783 (package
15784 (name "emacs-elisp-slime-nav")
15785 (version "0.10")
15786 (source
15787 (origin
15788 (method git-fetch)
15789 (uri (git-reference
15790 (url "https://github.com/purcell/elisp-slime-nav")
15791 (commit version)))
15792 (file-name (git-file-name name version))
15793 (sha256
15794 (base32 "08k4zlawjkb0ldn4lgrhih8nzln398x7dwzpipqfyrmp0xziywma"))))
15795 (build-system emacs-build-system)
15796 (home-page "https://github.com/purcell/elisp-slime-nav")
15797 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
15798 (description
15799 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
15800 in @code{emacs-lisp-mode}, together with an elisp equivalent of
15801 @code{slime-describe-symbol}.")
15802 (license license:gpl3+)))
15803
15804 (define-public emacs-dedicated
15805 (package
15806 (name "emacs-dedicated")
15807 (version "1.0.0")
15808 (source
15809 (origin
15810 (method git-fetch)
15811 (uri (git-reference
15812 (url "https://github.com/emacsorphanage/dedicated")
15813 (commit version)))
15814 (file-name (git-file-name name version))
15815 (sha256
15816 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
15817 (build-system emacs-build-system)
15818 (home-page "https://github.com/emacsorphanage/dedicated")
15819 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
15820 (description
15821 "This simple Emacs minor mode allows you to toggle a window's
15822 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
15823 files into that window. This can be quite handy since many commands will use
15824 another window to show results (compilation mode, starting info, and so on).
15825 A dedicated window won't be used for such a purpose. For details, please read
15826 the source file.")
15827 (license license:gpl2+)))
15828
15829 (define-public emacs-nnreddit
15830 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
15831 (revision "1"))
15832 (package
15833 (name "emacs-nnreddit")
15834 (version (string-append "0.0.1-" revision "."
15835 (string-take commit 7)))
15836 (source (origin
15837 (method git-fetch)
15838 (uri (git-reference
15839 (url "https://github.com/paul-issartel/nnreddit")
15840 (commit commit)))
15841 (file-name (git-file-name name version))
15842 (sha256
15843 (base32
15844 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
15845 (build-system emacs-build-system)
15846 (home-page "https://github.com/paul-issartel/nnreddit")
15847 (synopsis "Reddit backend for the Gnus newsreader")
15848 (description "@url{https://www.reddit.com} backend for the Gnus
15849 newsreader.")
15850 (license license:gpl3+))))
15851
15852 (define-public emacs-makey
15853 (package
15854 (name "emacs-makey")
15855 (version "0.3")
15856 (source
15857 (origin
15858 (method git-fetch)
15859 (uri (git-reference
15860 (url "https://github.com/mickeynp/makey")
15861 (commit version)))
15862 (file-name (git-file-name name version))
15863 (sha256
15864 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
15865 (build-system emacs-build-system)
15866 (home-page "https://github.com/mickeynp/makey")
15867 (synopsis "Emacs interactive command-line mode")
15868 (description
15869 "This package provides an Emacs interactive command-line mode.")
15870 (license license:gpl3+)))
15871
15872 (define-public emacs-outorg
15873 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
15874 (package
15875 (name "emacs-outorg")
15876 (version (git-version "2.0" "1" commit))
15877 (source
15878 (origin
15879 (method git-fetch)
15880 (uri (git-reference
15881 (url "https://github.com/alphapapa/outorg")
15882 (commit commit)))
15883 (file-name (git-file-name name version))
15884 (sha256
15885 (base32
15886 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
15887 (build-system emacs-build-system)
15888 (home-page "https://github.com/alphapapa/outorg")
15889 (synopsis "Org-style comment editing")
15890 (description "Outorg is for editing comment-sections of source-code
15891 files in temporary Org-mode buffers. It turns conventional
15892 literate-programming upside-down in that the default mode is the
15893 programming-mode, and special action has to be taken to switch to the
15894 text-mode (i.e. Org-mode).")
15895 (license license:gpl3+))))
15896
15897 (define-public emacs-outshine
15898 (package
15899 (name "emacs-outshine")
15900 (version "3.0.1")
15901 (source (origin
15902 (method git-fetch)
15903 (uri (git-reference
15904 (url "https://github.com/alphapapa/outshine")
15905 (commit (string-append "v" version))))
15906 (file-name (git-file-name name version))
15907 (sha256
15908 (base32
15909 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
15910 (build-system emacs-build-system)
15911 (propagated-inputs
15912 `(("emacs-outorg" ,emacs-outorg)))
15913 (home-page "https://github.com/alphapapa/outshine")
15914 (synopsis "Emacs outline with outshine")
15915 (description "Outshine attempts to bring the look and feel of
15916 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
15917 of @code{outline-minor-mode} (@code{org-mode} itself derives from
15918 outline-mode), so there is no such thing like an outshine mode, only
15919 @code{outline-minor-mode} with outshine extensions loaded.")
15920 (license license:gpl3+)))
15921
15922 (define-public emacs-frecency
15923 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
15924 (version "0.1-pre")
15925 (revision "1"))
15926 (package
15927 (name "emacs-frecency")
15928 (version (git-version version revision commit))
15929 (source (origin
15930 (method git-fetch)
15931 (uri (git-reference
15932 (url "https://github.com/alphapapa/frecency.el")
15933 (commit commit)))
15934 (sha256
15935 (base32
15936 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
15937 (file-name (git-file-name name version))))
15938 (build-system emacs-build-system)
15939 (propagated-inputs
15940 `(("emacs-a" ,emacs-a)
15941 ("emacs-dash" ,emacs-dash)))
15942 (home-page "https://github.com/alphapapa/frecency.el")
15943 (synopsis "Sort items by frequency and recency of access")
15944 (description "This package provides a way of sorting items via
15945 a heuristic based on frequency and recency.")
15946 (license license:gpl3+))))
15947
15948 (define-public emacs-org-recent-headings
15949 (package
15950 (name "emacs-org-recent-headings")
15951 (version "0.1")
15952 (source (origin
15953 (method git-fetch)
15954 (uri (git-reference
15955 (url "https://github.com/alphapapa/org-recent-headings")
15956 (commit version)))
15957 (file-name (git-file-name name version))
15958 (sha256
15959 (base32
15960 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
15961 (build-system emacs-build-system)
15962 (propagated-inputs
15963 `(("emacs-org" ,emacs-org)
15964 ("emacs-dash" ,emacs-dash)
15965 ("emacs-frecency" ,emacs-frecency)))
15966 (home-page "https://github.com/alphapapa/org-recent-headings")
15967 (synopsis "Navigate to recently used Org headings and lists")
15968 (description "This package maintains a list of recently used Org headings,
15969 as well as functions for navigating between these headings.")
15970 (license license:gpl3+)))
15971
15972 (define-public emacs-org-super-agenda
15973 (package
15974 (name "emacs-org-super-agenda")
15975 (version "1.2")
15976 (source (origin
15977 (method git-fetch)
15978 (uri (git-reference
15979 (url "https://github.com/alphapapa/org-super-agenda")
15980 (commit version)))
15981 (file-name (git-file-name name version))
15982 (sha256
15983 (base32
15984 "10l9h2n09cql4ih7nc0ma3ghdsq9l5v9xlj1lg7kq67icdwjlsvy"))))
15985 (build-system emacs-build-system)
15986 (arguments
15987 `(#:tests? #t
15988 #:test-command '("test/run" "--debug")
15989 #:phases
15990 (modify-phases %standard-phases
15991 (add-after 'unpack 'prepare-for-tests.el
15992 (lambda _
15993 (make-file-writable "test/test.el")
15994 (emacs-substitute-variables "test/test.el"
15995 ("org-super-agenda-test-results-file"
15996 (string-append (getcwd) "/test/results.el")))
15997 ;; The following test fail (see:
15998 ;; https://github.com/alphapapa/org-super-agenda/issues/183).
15999 (substitute* "test/test.el"
16000 ((".*org-super-agenda-test--:auto-map.*" all)
16001 (string-append all " (skip-unless nil)\n")))
16002 #t)))))
16003 (native-inputs
16004 `(("emacs-f" ,emacs-f)
16005 ("getopt" ,util-linux)))
16006 (propagated-inputs
16007 `(("emacs-org" ,emacs-org)
16008 ("emacs-dash" ,emacs-dash)
16009 ("emacs-ts" ,emacs-ts)
16010 ("emacs-ht" ,emacs-ht)
16011 ("emacs-s" ,emacs-s)))
16012 (home-page "https://github.com/alphapapa/org-super-agenda")
16013 (synopsis "Supercharged Org agenda")
16014 (description "This package allows items in the Org agenda to be grouped
16015 into sections while preserving the structure imposed by any timestamps.")
16016 (license license:gpl3+)))
16017
16018 (define-public emacs-elegant-agenda-mode
16019 (let ((commit "c72f42e0f551c3dd81e68262f07a96c0ec90a589")
16020 (revision "1"))
16021 (package
16022 (name "emacs-elegant-agenda-mode")
16023 (version (git-version "0.1.0" revision commit))
16024 (source
16025 (origin
16026 (method git-fetch)
16027 (uri (git-reference
16028 (url "https://github.com/justinbarclay/elegant-agenda-mode")
16029 (commit commit)))
16030 (file-name (git-file-name name version))
16031 (sha256
16032 (base32
16033 "0f8qk3vd41ffbkfqw5nks3bld0qpjrlnk9sb46wcbsyfnrs2v082"))))
16034 (build-system emacs-build-system)
16035 (home-page "https://github.com/justinbarclay/elegant-agenda-mode")
16036 (synopsis "Elegant theme for your org-agenda")
16037 (description
16038 "The elegant-agenda-mode package uses fonts and typography to give your
16039 org-agenda some breathing room and elegance. This package was inspired by the
16040 work Nicolas Rougier.")
16041 (license license:gpl3+))))
16042
16043 (define-public emacs-org-make-toc
16044 (package
16045 (name "emacs-org-make-toc")
16046 (version "0.5")
16047 (source (origin
16048 (method git-fetch)
16049 (uri (git-reference
16050 (url "https://github.com/alphapapa/org-make-toc")
16051 (commit version)))
16052 (file-name (git-file-name name version))
16053 (sha256
16054 (base32
16055 "180ji6nnj6qj0rs1rdp1zlcrfsqf7ikb44ym8icbp5d6al2s4hnr"))))
16056 (build-system emacs-build-system)
16057 (propagated-inputs
16058 `(("emacs-org" ,emacs-org)
16059 ("emacs-dash" ,emacs-dash)
16060 ("emacs-s" ,emacs-s)))
16061 (home-page "https://github.com/alphapapa/org-make-toc")
16062 (synopsis "Maintain a table of contents for an Org file")
16063 (description "This package facilitates the creation and maintenance of
16064 tables of contents.")
16065 (license license:gpl3+)))
16066
16067 (define-public emacs-ts
16068 (package
16069 (name "emacs-ts")
16070 (version "0.2")
16071 (source
16072 (origin
16073 (method git-fetch)
16074 (uri (git-reference
16075 (url "https://github.com/alphapapa/ts.el")
16076 (commit version)))
16077 (sha256
16078 (base32 "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb"))
16079 (file-name (git-file-name name version))))
16080 (build-system emacs-build-system)
16081 (propagated-inputs
16082 `(("emacs-s" ,emacs-s)
16083 ("emacs-dash" ,emacs-dash)))
16084 (arguments
16085 ;; XXX: Three tests are failing because of a timezone-related issue
16086 ;; with how they're written. On my machine, all the failing test
16087 ;; results are 18000 seconds (5 hours) off.
16088
16089 ;; The ts-parse-org function accepts a string without any timezone
16090 ;; info, not assumed to be in Unix time, and converts it to a so-called
16091 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
16092 ;; then seems to assume the struct's corresponding time is in terms of
16093 ;; the user's current time zone, before returning a Unix time in
16094 ;; seconds.
16095
16096 ;; The failing tests all have similar problems, but nothing else about
16097 ;; the library seems particularly off.
16098
16099 `(#:tests? #t
16100 #:test-command '("emacs" "--batch"
16101 "-l" "test/test.el"
16102 "-f" "ert-run-tests-batch-and-exit")
16103 #:phases
16104 (modify-phases %standard-phases
16105 (add-before 'check 'make-tests-writable
16106 (lambda _
16107 (make-file-writable "test/test.el")
16108 #t))
16109 (add-before 'check 'delete-failing-tests
16110 (lambda _
16111 (emacs-batch-edit-file "test/test.el"
16112 `(progn (progn
16113 (goto-char (point-min))
16114 (dolist (test-regexp
16115 '("ert-deftest ts-format"
16116 "ert-deftest ts-parse-org\\_>"
16117 "ert-deftest ts-parse-org-element"
16118 "ert-deftest ts-update"))
16119 (re-search-forward test-regexp)
16120 (beginning-of-line)
16121 (kill-sexp)))
16122 (basic-save-buffer)))
16123 #t)))))
16124 (home-page "https://github.com/alphapapa/ts.el")
16125 (synopsis "Timestamp and date/time library")
16126 (description "This package facilitates manipulating dates, times, and
16127 timestamps by providing a @code{ts} struct.")
16128 (license license:gpl3+)))
16129
16130 (define-public emacs-peg
16131 (package
16132 (name "emacs-peg")
16133 (version "1.0")
16134 (source
16135 (origin
16136 (method url-fetch)
16137 (uri (string-append "https://elpa.gnu.org/packages/peg-" version ".tar"))
16138 (sha256
16139 (base32 "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl"))))
16140 (build-system emacs-build-system)
16141 (home-page "https://elpa.gnu.org/packages/peg.html")
16142 (synopsis "Parsing Expression Grammars in Elisp")
16143 (description "This package provides a macro that parses the current buffer
16144 according to a parsing expression grammar.")
16145 (license license:gpl3+)))
16146
16147 (define-public emacs-eldev
16148 (package
16149 (name "emacs-eldev")
16150 (version "0.8.1")
16151 (source (origin
16152 (method git-fetch)
16153 (uri (git-reference
16154 (url "https://github.com/doublep/eldev")
16155 (commit version)))
16156 (file-name (git-file-name name version))
16157 (sha256
16158 (base32
16159 "19s45hdhcg5l608awfxvmhd61xzp7dd5pvviv89xzzksx74l1188"))))
16160 (build-system emacs-build-system)
16161 (arguments
16162 `(#:tests? #t
16163 #:test-command '("./bin/eldev" "-p" "-dtTC" "test")
16164 #:phases
16165 (modify-phases %standard-phases
16166 (add-after 'unpack 'prepare-for-tests
16167 (lambda _
16168 (setenv "ELDEV_LOCAL" (getcwd))
16169 (make-file-writable
16170 "test/project-i/project-i-autoloads.el")
16171 #t))
16172 (add-after 'unpack 'skip-failing-tests
16173 ;; FIXME: 10 tests are failing. Skip them for now.
16174 (lambda _
16175 (substitute* '("test/init.el" "test/targets.el")
16176 (("(targets-project-e-[34]|init-[1-8]).*" line)
16177 (string-append line "(skip-unless nil)\n")))))
16178 (add-after 'install 'install-eldev-executable
16179 ;; This constructs the eldev executable from templates and
16180 ;; installs it in the specified directory.
16181 (lambda* (#:key outputs #:allow-other-keys)
16182 (let* ((out (assoc-ref outputs "out"))
16183 (bin (string-append out "/bin"))
16184 (site-lisp (string-append out "/share/emacs/site-lisp")))
16185 (mkdir-p bin)
16186 (setenv "HOME" (getcwd))
16187 (invoke "./install.sh" bin)
16188 (substitute* (string-append bin "/eldev")
16189 ;; Point ELDEV_LOCAL to the installation directory so that
16190 ;; eldev doesn't try to bootstrap itself from MELPA when
16191 ;; invoked.
16192 (("export ELDEV_EMACS.*" all)
16193 (string-append "export ELDEV_LOCAL=" site-lisp "\n" all)))
16194 #t))))))
16195 (native-inputs
16196 `(("texinfo" ,texinfo))) ;for tests
16197 (home-page "https://github.com/doublep/eldev/")
16198 (synopsis "Emacs-based build tool for Elisp")
16199 (description "Eldev (Elisp Development Tool) is an Emacs-based build tool,
16200 targeted solely at Elisp projects. It is an alternative to Cask. Unlike
16201 Cask, Eldev itself is fully written in Elisp and its configuration files are
16202 also Elisp programs. For those familiar with the Java world, Cask can be seen
16203 as a parallel to Maven — it uses project description, while Eldev is sort of a
16204 parallel to Gradle — its configuration is a program on its own.")
16205 (license license:gpl3+)))
16206
16207 (define-public emacs-with-simulated-input
16208 (package
16209 (name "emacs-with-simulated-input")
16210 (version "2.4")
16211 (source
16212 (origin
16213 (method git-fetch)
16214 (uri (git-reference
16215 (url "https://github.com/DarwinAwardWinner/with-simulated-input")
16216 (commit (string-append "v" version))))
16217 (file-name (git-file-name name version))
16218 (sha256
16219 (base32
16220 "12d3mhvzj74qwc4rdcb236jbqnf5lam8pk78j92kwbwjk1jaz2cf"))))
16221 (build-system emacs-build-system)
16222 (arguments
16223 ;; The test suite fails with error: "Spies can only be created in
16224 ;; ‘before-each’".
16225 `(#:tests? #f
16226 #:test-command '("buttercup" "-L" ".")))
16227 (native-inputs
16228 `(("emacs-buttercup" ,emacs-buttercup)
16229 ("emacs-undercover" ,emacs-undercover)))
16230 (propagated-inputs
16231 `(("emacs-s" ,emacs-s)))
16232 (home-page "https://github.com/DarwinAwardWinner/with-simulated-input")
16233 (synopsis "Non-interactive testing Emacs library")
16234 (description "This package provides an Emacs Lisp macro,
16235 @code{with-simulated-input}, which evaluates one or more forms while
16236 simulating a sequence of input events for those forms to read. The result is
16237 the same as if a user had evaluated the forms and then manually typed in the
16238 same input. This macro is useful for non-interactive testing of normally
16239 interactive commands and functions, such as @code{completing-read}.")
16240 (license license:gpl3+)))
16241
16242 (define-public emacs-org-ql
16243 (package
16244 (name "emacs-org-ql")
16245 (version "0.5")
16246 (source (origin
16247 (method git-fetch)
16248 (uri (git-reference
16249 (url "https://github.com/alphapapa/org-ql")
16250 (commit version)))
16251 (sha256
16252 (base32
16253 "14nsy2dbln3m5bpqzyfqycn18sb3qh407hjbkk1l0x2nqs3lrkqn"))
16254 (file-name (git-file-name name version))))
16255 (build-system emacs-build-system)
16256 (propagated-inputs
16257 `(("emacs-s" ,emacs-s)
16258 ("emacs-f" ,emacs-f)
16259 ("emacs-ov" ,emacs-ov)
16260 ("emacs-peg" ,emacs-peg)
16261 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
16262 ("emacs-ts" ,emacs-ts)
16263 ("emacs-org" ,emacs-org)
16264 ("emacs-helm" ,emacs-helm)
16265 ("emacs-helm-org" ,emacs-helm-org)
16266 ("emacs-dash" ,emacs-dash)
16267 ("emacs-transient" ,emacs-transient)))
16268 (native-inputs
16269 `(("emacs-buttercup" ,emacs-buttercup)
16270 ("emacs-with-simulated-input" ,emacs-with-simulated-input)))
16271 (arguments
16272 `(#:tests? #t
16273 #:test-command '("buttercup" "-L" ".")
16274 #:phases
16275 (modify-phases %standard-phases
16276 (add-after 'unpack 'disable-failing-tests
16277 (lambda _
16278 (substitute* "tests/test-org-ql.el"
16279 ;; This test fails on Emacs 27.1 (see:
16280 ;; https://github.com/alphapapa/org-super-agenda/issues/183).
16281 (("it \"Can search buffer containing the link\"" all)
16282 (string-append "x" all)))
16283 #t)))))
16284 (home-page "https://github.com/alphapapa/org-ql/")
16285 (synopsis "Query language for Org buffers")
16286 (description "This package provides a Lispy query language for Org
16287 files, allowing for actions to be performed based on search criteria.")
16288 (license license:gpl3+)))
16289
16290 (define-public emacs-org-auto-expand
16291 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
16292 (revision "1"))
16293 (package
16294 (name "emacs-org-auto-expand")
16295 (version (git-version "0.1" revision commit))
16296 (source (origin
16297 (method git-fetch)
16298 (uri (git-reference
16299 (url "https://github.com/alphapapa/org-auto-expand")
16300 (commit commit)))
16301 (file-name (git-file-name name version))
16302 (sha256
16303 (base32
16304 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
16305 (build-system emacs-build-system)
16306 (propagated-inputs
16307 `(("emacs-org" ,emacs-org)
16308 ("emacs-dash" ,emacs-dash)))
16309 (home-page "https://github.com/alphapapa/org-auto-expand")
16310 (synopsis "Automatically expand certain Org headings")
16311 (description "This package allows a customizable set of headings in Org
16312 files to be expanded upon opening them.")
16313 (license license:gpl3+))))
16314
16315 (define-public emacs-parsebib
16316 (package
16317 (name "emacs-parsebib")
16318 (version "2.4.1")
16319 (source
16320 (origin
16321 (method git-fetch)
16322 (uri (git-reference
16323 (url "https://github.com/joostkremers/parsebib")
16324 (commit version)))
16325 (file-name (git-file-name name version))
16326 (sha256
16327 (base32 "1d3ysh82gh5mg07hlz3ll782lldnaj0xmyabv18jln4y2xd7ncni"))))
16328 (build-system emacs-build-system)
16329 (home-page "https://github.com/joostkremers/parsebib")
16330 (synopsis "Library for parsing @file{.bib} files")
16331 (description
16332 "This package provides an Emacs library for parsing @file{.bib} files.")
16333 (license license:gpl3+)))
16334
16335 (define-public emacs-ebib
16336 (package
16337 (name "emacs-ebib")
16338 (version "2.29")
16339 (source
16340 (origin
16341 (method git-fetch)
16342 (uri (git-reference
16343 (url "https://github.com/joostkremers/ebib")
16344 (commit version)))
16345 (file-name (git-file-name name version))
16346 (sha256
16347 (base32 "1d0xnhdcsz2ysq145k2l0f2r4vb0pkai1v6wl6sfba7xi5fc323i"))))
16348 (build-system emacs-build-system)
16349 (propagated-inputs
16350 `(("emacs-parsebib" ,emacs-parsebib)))
16351 (home-page "https://joostkremers.github.io/ebib/")
16352 (synopsis "BibTeX database manager for Emacs")
16353 (description
16354 "Ebib is a BibTeX database manager that runs in GNU Emacs.
16355 With Ebib you can create, sort and manage your @file{.bib} database files, all
16356 within Emacs. It supports searching, multi-line field values and
16357 @samp{@@String} and @samp{@@Preamble} definitions. Ebib integrates
16358 with (La)TeX mode, Org mode and other Emacs editing modes.")
16359 ;; The Ebib source files are released under a BSD license with
16360 ;; the exception of org-ebib.el, which is released under the GNU
16361 ;; GPL.
16362 (license (list license:bsd-3
16363 license:gpl3+))))
16364
16365 (define-public emacs-biblio
16366 (package
16367 (name "emacs-biblio")
16368 (version "0.2")
16369 (source
16370 (origin
16371 (method git-fetch)
16372 (uri (git-reference
16373 (url "https://github.com/cpitclaudel/biblio.el")
16374 (commit version)))
16375 (file-name (git-file-name name version))
16376 (sha256
16377 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
16378 (build-system emacs-build-system)
16379 (propagated-inputs
16380 `(("emacs-dash" ,emacs-dash)
16381 ("emacs-let-alist" ,emacs-let-alist)))
16382 (home-page "https://github.com/cpitclaudel/biblio.el")
16383 (synopsis "Browse and import bibliographic references")
16384 (description "This package provides an extensible Emacs package for
16385 browsing and fetching references.
16386
16387 @file{biblio.el} makes it easy to browse and gather bibliographic references
16388 and publications from various sources, by keywords or by DOI. References are
16389 automatically fetched from well-curated sources, and formatted as BibTeX.")
16390 (license license:gpl3+)))
16391
16392 (define-public emacs-helm-bibtex
16393 (let ((commit "d4471232be26793fbf56c0ac3690b5f537c378b9")
16394 (revision "2"))
16395 (package
16396 (name "emacs-helm-bibtex")
16397 (version (string-append "2.0.0" "-" revision "."
16398 (string-take commit 7)))
16399 (source
16400 (origin
16401 (method git-fetch)
16402 (uri (git-reference
16403 (url "https://github.com/tmalsburg/helm-bibtex")
16404 (commit commit)))
16405 (file-name (git-file-name name version))
16406 (sha256
16407 (base32
16408 "1bkzhic6qckb267025il1r3xcpz99kisphxiafni1pxvf9jafr0j"))))
16409 (build-system emacs-build-system)
16410 (propagated-inputs
16411 `(("emacs-helm" ,emacs-helm)
16412 ("emacs-parsebib" ,emacs-parsebib)
16413 ("emacs-s" ,emacs-s)
16414 ("emacs-dash" ,emacs-dash)
16415 ("emacs-f" ,emacs-f)
16416 ("emacs-biblio" ,emacs-biblio)
16417 ("emacs-ivy" ,emacs-ivy)))
16418 (home-page "https://github.com/tmalsburg/helm-bibtex")
16419 (synopsis "Bibliography manager based on Helm")
16420 (description "This package provides bibliography manager for Emacs,
16421 based on Helm and the bibtex-completion backend.
16422
16423 Key features:
16424
16425 @itemize
16426 @item Quick access to your bibliography from within Emacs
16427 @item Powerful search capabilities
16428 @item Provides instant search results as you type
16429 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
16430 @item Open the PDFs, URLs, or DOIs associated with an entry
16431 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
16432 BibTeX entries, or plain text references at point, attach PDFs to emails
16433 @item Support for note taking
16434 @item Quick access to online bibliographic databases such as Pubmed,
16435 arXiv, Google Scholar, Library of Congress, etc.
16436 @item Imports BibTeX entries from CrossRef and other sources.
16437 @end itemize\n")
16438 (license license:gpl3+))))
16439
16440 (define-public emacs-ewmctrl
16441 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
16442 (package
16443 (name "emacs-ewmctrl")
16444 (version (git-version "0.0.1" "1" commit))
16445 (source
16446 (origin
16447 (method git-fetch)
16448 (uri (git-reference
16449 (url "https://github.com/flexibeast/ewmctrl")
16450 (commit commit)))
16451 (file-name (git-file-name name version))
16452 (sha256
16453 (base32
16454 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
16455 (build-system emacs-build-system)
16456 (arguments
16457 '(#:phases
16458 (modify-phases %standard-phases
16459 (add-after 'unpack 'patch-ewmctrl
16460 ;; This build phase makes sure ‘ewmctrl’ looks
16461 ;; for ‘wmctrl’ in the right place.
16462 (lambda _
16463 (let ((file "ewmctrl.el"))
16464 (chmod file #o644)
16465 (emacs-substitute-sexps file
16466 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
16467 (inputs
16468 `(("wmctrl" ,wmctrl)))
16469 (home-page "https://github.com/flexibeast/ewmctrl")
16470 (synopsis "Emacs interface to @code{wmctrl}")
16471 (description "@code{ewmctrl} provides an Emacs interface to
16472 @code{wmctrl} command-line window-management program.")
16473 (license license:gpl3+))))
16474
16475 (define-public emacs-erc-image
16476 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
16477 (revision "3"))
16478 (package
16479 (name "emacs-erc-image")
16480 (version (git-version "0" revision commit))
16481 (source
16482 (origin
16483 (method git-fetch)
16484 (uri (git-reference
16485 (url "https://github.com/kidd/erc-image.el")
16486 (commit commit)))
16487 (file-name (git-file-name name version))
16488 (sha256
16489 (base32
16490 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
16491 (build-system emacs-build-system)
16492 (arguments
16493 `(#:phases (modify-phases %standard-phases
16494 ;; The package autoloader fails to provide
16495 ;; the image module when handled by Guix.
16496 ;; Disable this phase, and let the package
16497 ;; handle the `eval-after-load' procedure.
16498 (delete 'make-autoloads))))
16499 (home-page "https://github.com/kidd/erc-image.el")
16500 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
16501 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
16502 and @code{erc-send-modify-hook} to download and show images.")
16503 (license license:gpl3+))))
16504
16505 (define-public emacs-helm-gtags
16506 (package
16507 (name "emacs-helm-gtags")
16508 (version "1.5.7")
16509 (source
16510 (origin
16511 (method git-fetch)
16512 (uri (git-reference
16513 (url "https://github.com/syohex/emacs-helm-gtags")
16514 (commit version)))
16515 (file-name (git-file-name name version))
16516 (sha256
16517 (base32 "1kc1jzk10nfd2v20g8dwnb6a944afrwdwnkzl06w4ba8k4yim7gi"))))
16518 (build-system emacs-build-system)
16519 (propagated-inputs
16520 `(("emacs-helm" ,emacs-helm)))
16521 (home-page "https://github.com/syohex/emacs-helm-gtags")
16522 (synopsis "Emacs Helm interface to GNU Global")
16523 (description
16524 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
16525 (license license:gpl3+)))
16526
16527 (define-public emacs-list-utils
16528 (package
16529 (name "emacs-list-utils")
16530 (version "0.4.6")
16531 (source
16532 (origin
16533 (method git-fetch)
16534 (uri (git-reference
16535 (url "https://github.com/rolandwalker/list-utils")
16536 (commit (string-append "v" version))))
16537 (file-name (git-file-name name version))
16538 (sha256
16539 (base32 "07hbz2md52ccy95gv4d5n6szrfmpfqf3w4kwqdg2cf54c7kgf7hw"))))
16540 (build-system emacs-build-system)
16541 (arguments
16542 `(#:phases
16543 (modify-phases %standard-phases
16544 (add-after 'unpack 'patch-require-cl
16545 (lambda _
16546 (substitute* "list-utils.el"
16547 (("\\(require 'cl\\)") "(require 'cl-lib)"))
16548 #t)))))
16549 (home-page "https://github.com/rolandwalker/list-utils")
16550 (synopsis "List-manipulation utility functions")
16551 (description "This package provides a list manipulation library for Emacs.")
16552 (license license:gpl3+)))
16553
16554 (define-public emacs-parsec
16555 ;; Last release is too old (2016).
16556 (let ((revision "0")
16557 (commit "2cbbbc2254aa7bcaa4fb5e07c8c1bf2f381dba26"))
16558 (package
16559 (name "emacs-parsec")
16560 (version (git-version "0.1.3" revision commit))
16561 (source
16562 (origin
16563 (method git-fetch)
16564 (uri (git-reference
16565 (url "https://github.com/cute-jumper/parsec.el")
16566 (commit commit)))
16567 (file-name (git-file-name name version))
16568 (sha256
16569 (base32 "1g1s8s45g3kkbi3h7w0pmadmzdswb64mkdvdpg2lihg341kx37gm"))))
16570 (build-system emacs-build-system)
16571 (home-page "https://github.com/cute-jumper/parsec.el")
16572 (synopsis "Parser combinator library for Emacs Lisp")
16573 (description
16574 "Parsec is a parser combinator library for Emacs Lisp, similar to
16575 Haskell's Parsec library. It contains most of the parser combinators in
16576 Text.Parsec.Combinator, and more combinators can be added if necessary! Most
16577 of the parser combinators have the same behavior as their Haskell
16578 counterparts. Parsec also comes with a simple error handling mechanism so
16579 that it can display an error message showing how the parser fails.")
16580 (license license:gpl3+))))
16581
16582 (define-public emacs-move-text
16583 (package
16584 (name "emacs-move-text")
16585 (version "2.0.8")
16586 (source
16587 (origin
16588 (method git-fetch)
16589 (uri (git-reference
16590 (url "https://github.com/emacsfodder/move-text")
16591 (commit version)))
16592 (file-name (git-file-name name version))
16593 (sha256
16594 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
16595 (build-system emacs-build-system)
16596 (home-page "https://github.com/emacsfodder/move-text")
16597 (synopsis "Move current line or region with M-up or M-down")
16598 (description "This package provide functions to move the current line
16599 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
16600 region instead.")
16601 (license license:gpl3+)))
16602
16603 (define-public emacs-validate
16604 (package
16605 (name "emacs-validate")
16606 (version "1.0.5")
16607 (source (origin
16608 (method git-fetch)
16609 (uri (git-reference
16610 (url "https://github.com/Malabarba/validate.el")
16611 (commit version)))
16612 (file-name (git-file-name name version))
16613 (sha256
16614 (base32
16615 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
16616 (build-system emacs-build-system)
16617 (home-page "https://github.com/Malabarba/validate.el")
16618 (synopsis "Emacs library for scheme validation")
16619 (description "This Emacs library provides two functions that perform
16620 schema validation.")
16621 (license license:gpl3+)))
16622
16623 (define-public emacs-rainbow-blocks
16624 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
16625 (package
16626 (name "emacs-rainbow-blocks")
16627 (version (git-version "1.0.0" "1" commit))
16628 (source (origin
16629 (method git-fetch)
16630 (uri (git-reference
16631 (url "https://github.com/istib/rainbow-blocks")
16632 (commit commit)))
16633 (file-name (git-file-name name version))
16634 (sha256
16635 (base32
16636 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
16637 (build-system emacs-build-system)
16638 (home-page "https://github.com/istib/rainbow-blocks")
16639 (synopsis "Highlight sexp blocks")
16640 (description "Rainbow-blocks is an Emacs mode that highlights blocks
16641 made of parentheses, brackets, and braces according to their depth. Each
16642 successive level is highlighted in a different color. This makes it easy to
16643 orient yourself in the code, and tell which statements are at a given level.")
16644 (license license:gpl3+))))
16645
16646 (define-public emacs-hierarchy
16647 (package
16648 (name "emacs-hierarchy")
16649 (version "0.7.0")
16650 (source
16651 (origin
16652 (method git-fetch)
16653 (uri (git-reference
16654 (url "https://github.com/DamienCassou/hierarchy")
16655 (commit (string-append "v" version))))
16656 (file-name (git-file-name name version))
16657 (sha256
16658 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
16659 (build-system emacs-build-system)
16660 (native-inputs
16661 `(("emacs-buttercup" ,emacs-buttercup)))
16662 (arguments
16663 `(#:tests? #t
16664 #:test-command '("buttercup" "-L" ".")))
16665 (home-page "https://github.com/DamienCassou/hierarchy")
16666 (synopsis "Library to create and display hierarchy structures")
16667 (description "This package provides an Emacs library to create, query,
16668 navigate and display hierarchy structures.")
16669 (license license:gpl3+)))
16670
16671 (define-public emacs-tree-mode
16672 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
16673 (revision "1"))
16674 (package
16675 (name "emacs-tree-mode")
16676 (version (string-append "0.0.1" "-" revision "."
16677 (string-take commit 7)))
16678 (source
16679 (origin
16680 (method git-fetch)
16681 (uri (git-reference
16682 (url "https://github.com/emacsorphanage/tree-mode")
16683 (commit commit)))
16684 (file-name (git-file-name name version))
16685 (sha256
16686 (base32
16687 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
16688 (build-system emacs-build-system)
16689 (home-page "https://github.com/emacsorphanage/tree-mode")
16690 (synopsis "Emacs mode to manage tree widgets")
16691 (description
16692 "This package provides an Emacs library to manage tree widgets.")
16693 (license license:gpl3+))))
16694
16695 (define-public emacs-md4rd
16696 (package
16697 (name "emacs-md4rd")
16698 (version "0.3.1")
16699 (source (origin
16700 (method git-fetch)
16701 (uri (git-reference
16702 (url "https://github.com/ahungry/md4rd")
16703 (commit version)))
16704 (file-name (git-file-name name version))
16705 (sha256
16706 (base32
16707 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
16708 (propagated-inputs
16709 `(("emacs-hierarchy" ,emacs-hierarchy)
16710 ("emacs-request" ,emacs-request)
16711 ("emacs-dash" ,emacs-dash)
16712 ("emacs-s" ,emacs-s)
16713 ("emacs-tree-mode" ,emacs-tree-mode)))
16714 (build-system emacs-build-system)
16715 (home-page "https://github.com/ahungry/md4rd")
16716 (synopsis "Emacs Mode for Reddit")
16717 (description
16718 "This package allows reading Reddit from within Emacs interactively.")
16719 (license license:gpl3+)))
16720
16721 (define-public emacs-pulseaudio-control
16722 (let ((commit "a931533140547510decdc368f39b2d2b97ca725f")
16723 (revision "4"))
16724 (package
16725 (name "emacs-pulseaudio-control")
16726 (version (git-version "0.0.1" revision commit))
16727 (source
16728 (origin
16729 (method git-fetch)
16730 (uri (git-reference
16731 (url "https://github.com/flexibeast/pulseaudio-control")
16732 (commit commit)))
16733 (file-name (git-file-name name version))
16734 (sha256
16735 (base32
16736 "1jvjn9jszjjapi167an49jxcvr88cvgjwykglhp4b8lwhbjfqw76"))))
16737 (build-system emacs-build-system)
16738 (arguments
16739 '(#:phases (modify-phases %standard-phases
16740 (add-after 'unpack 'patch-file-name
16741 (lambda* (#:key inputs #:allow-other-keys)
16742 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
16743 (chmod "pulseaudio-control.el" #o600)
16744 (emacs-substitute-variables "pulseaudio-control.el"
16745 ("pulseaudio-control-pactl-path"
16746 (string-append pulseaudio "/bin/pactl")))
16747 #t))))))
16748 (inputs `(("pulseaudio" ,pulseaudio)))
16749 (home-page "https://github.com/flexibeast/pulseaudio-control")
16750 (synopsis "Control @code{pulseaudio} from Emacs")
16751 (description
16752 "This package allows controlling @code{pulseaudio} from Emacs.")
16753 (license license:gpl3+))))
16754
16755 (define-public emacs-datetime
16756 (package
16757 (name "emacs-datetime")
16758 (version "0.6.6")
16759 (source
16760 (origin
16761 (method git-fetch)
16762 (uri (git-reference
16763 (url "https://github.com/doublep/datetime")
16764 (commit version)))
16765 (file-name (git-file-name name version))
16766 (sha256
16767 (base32
16768 "0a3q667pybpmsjkbgf6287jwgpnx8brp5314wb8zbczw6ncygnbi"))))
16769 (build-system emacs-build-system)
16770 (arguments
16771 `(#:include (cons "^[^/]*\\.extmap$" %default-include)))
16772 (inputs
16773 `(("emacs-extmap" ,emacs-extmap)))
16774 (home-page "https://github.com/doublep/datetime/")
16775 (synopsis "Library to work with dates in Emacs")
16776 (description "Parsing, formatting, matching and recoding
16777 timestamps and date-time format strings library for Emacs.")
16778 (license license:gpl3+)))
16779
16780 (define-public emacs-org-mind-map
16781 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
16782 (revision "1"))
16783 (package
16784 (name "emacs-org-mind-map")
16785 (version (string-append "0.0.1" "-" revision "."
16786 (string-take commit 7)))
16787 (source
16788 (origin
16789 (method git-fetch)
16790 (uri (git-reference
16791 (url "https://github.com/theodorewiles/org-mind-map")
16792 (commit commit)))
16793 (file-name (git-file-name name version))
16794 (sha256
16795 (base32
16796 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
16797 (propagated-inputs
16798 `(("emacs-dash" ,emacs-dash)))
16799 (build-system emacs-build-system)
16800 (home-page "https://github.com/theodorewiles/org-mind-map")
16801 (synopsis "Create Graphviz directed graphs from Org files")
16802 (description
16803 "This package creates Graphviz directed graphs from Org files.")
16804 (license license:gpl3+))))
16805
16806 (define-public emacs-npm-mode
16807 (package
16808 (name "emacs-npm-mode")
16809 (version "0.6.0")
16810 (source
16811 (origin
16812 (method git-fetch)
16813 (uri (git-reference
16814 (url "https://github.com/mojochao/npm-mode")
16815 (commit version)))
16816 (file-name (git-file-name name version))
16817 (sha256
16818 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
16819 (build-system emacs-build-system)
16820 (home-page "https://github.com/mojochao/npm-mode")
16821 (synopsis "Minor mode for working with @code{npm} projects")
16822 (description
16823 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
16824 (license license:gpl3+)))
16825
16826 (define-public emacs-itail
16827 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
16828 (revision "1"))
16829 (package
16830 (name "emacs-itail")
16831 (version (string-append "0.0.1" "-" revision "."
16832 (string-take commit 7)))
16833 (source
16834 (origin
16835 (method git-fetch)
16836 (uri (git-reference
16837 (url "https://github.com/re5et/itail")
16838 (commit commit)))
16839 (file-name (git-file-name name version))
16840 (sha256
16841 (base32
16842 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
16843 (build-system emacs-build-system)
16844 (home-page "https://github.com/re5et/itail")
16845 (synopsis "Interactive @code{tail} Emacs mode")
16846 (description "@code{itail} provides interactive @code{tail} mode
16847 that allows you to filter the tail with unix pipes and highlight the
16848 contents of the tailed file. Works locally or on remote files using
16849 tramp.")
16850 (license license:gpl3+))))
16851
16852 (define-public emacs-loop
16853 (package
16854 (name "emacs-loop")
16855 (version "1.3")
16856 (source
16857 (origin
16858 (method git-fetch)
16859 (uri (git-reference
16860 (url "https://github.com/Wilfred/loop.el")
16861 (commit version)))
16862 (file-name (git-file-name name version))
16863 (sha256
16864 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
16865 (build-system emacs-build-system)
16866 (native-inputs
16867 `(("emacs-ert-runner" ,emacs-ert-runner)
16868 ("emacs-undercover" ,emacs-undercover)))
16869 (arguments
16870 `(#:tests? #t
16871 #:test-command '("ert-runner")))
16872 (home-page "https://github.com/Wilfred/loop.el")
16873 (synopsis "Imperative loop structures for Emacs")
16874 (description "Loop structures familiar to users of other languages. This
16875 library adds a selection of popular loop structures as well as break and
16876 continue.")
16877 (license license:gpl3+)))
16878
16879 (define-public emacs-elisp-refs
16880 (package
16881 (name "emacs-elisp-refs")
16882 (version "1.3")
16883 (source
16884 (origin
16885 (method git-fetch)
16886 (uri (git-reference
16887 (url "https://github.com/Wilfred/elisp-refs")
16888 (commit version)))
16889 (file-name (git-file-name name version))
16890 (sha256
16891 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
16892 (build-system emacs-build-system)
16893 (propagated-inputs
16894 `(("emacs-dash" ,emacs-dash)
16895 ("emacs-f" ,emacs-f)
16896 ("emacs-list-utils" ,emacs-list-utils)
16897 ("emacs-loop" ,emacs-loop)
16898 ("emacs-s" ,emacs-s)
16899 ("emacs-shut-up" ,emacs-shut-up)))
16900 (native-inputs
16901 `(("emacs-ert-runner" ,emacs-ert-runner)
16902 ("emacs-undercover" ,emacs-undercover)))
16903 (arguments
16904 `(#:tests? #t
16905 #:test-command '("ert-runner")
16906 #:phases
16907 (modify-phases %standard-phases
16908 (add-before 'check 'disable-refs-next-match-test
16909 ;; Hack to disable the failing test for emacs27
16910 ;; https://github.com/Wilfred/elisp-refs/issues/29
16911 (lambda _
16912 (substitute* "test/unit-test.el"
16913 (("ert-deftest elisp-refs-next-match")
16914 "defun elisp-refs-next-match"))
16915 #t)))))
16916 (home-page "https://github.com/Wilfred/elisp-refs")
16917 (synopsis "Find callers of elisp functions or macros")
16918 (description "Find references to functions, macros or variables. Unlike a
16919 dumb text search, @code{elisp-refs} actually parses the code, so it's never
16920 confused by comments or @code{foo-bar} matching @code{foo}.")
16921 (license license:gpl3+)))
16922
16923 (define-public emacs-crdt
16924 (let ((commit "44068ae505adf2c3a7bdbf6723a25fc45d6d1666")
16925 (revision "0"))
16926 (package
16927 (name "emacs-crdt")
16928 (version (git-version "0.0.0" revision commit))
16929 (source
16930 (origin
16931 (method git-fetch)
16932 (uri (git-reference
16933 (url "https://code.librehq.com/qhong/crdt.el")
16934 (commit commit)))
16935 (file-name (git-file-name name version))
16936 (sha256
16937 (base32 "130fkhvi757pfnbz70g6nw2n71k89cwwx7yzvsd5v177228c8w7w"))))
16938 (build-system emacs-build-system)
16939 (home-page "https://code.librehq.com/qhong/crdt.el")
16940 (synopsis "Real-time collaborative editing environment")
16941 (description
16942 "@code{crdt.el} is a real-time collaborative editing environment for
16943 Emacs using Conflict-free Replicated Data Types. With it, you can share
16944 multiple buffer in one session, and see other users’ cursor and region. It
16945 also synchronizes Org mode folding status. It should work with all of Org
16946 mode.")
16947 (license license:gpl3+))))
16948
16949 (define-public emacs-crux
16950 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
16951 (revision "2"))
16952 (package
16953 (name "emacs-crux")
16954 (version (git-version "0.3.0" revision commit))
16955 (source
16956 (origin
16957 (method git-fetch)
16958 (uri (git-reference
16959 (url "https://github.com/bbatsov/crux")
16960 (commit commit)))
16961 (file-name (git-file-name name version))
16962 (sha256
16963 (base32
16964 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
16965 (build-system emacs-build-system)
16966 (home-page "https://github.com/bbatsov/crux")
16967 (synopsis "Collection of useful functions for Emacs")
16968 (description
16969 "@code{crux} provides a collection of useful functions for Emacs.")
16970 (license license:gpl3+))))
16971
16972 (define-public emacs-edit-server
16973 (package
16974 (name "emacs-edit-server")
16975 (version "1.16")
16976 (source
16977 (origin
16978 (method git-fetch)
16979 (uri (git-reference
16980 (url "https://github.com/stsquad/emacs_chrome")
16981 (commit (string-append "v" version))))
16982 (file-name (git-file-name name version))
16983 (sha256
16984 (base32 "0m7gj224sqxjjw5sxky92fnrxg9jy4nf33kwf0aqxnfhqlgh545k"))))
16985 (build-system emacs-build-system)
16986 (arguments
16987 `(#:phases
16988 (modify-phases %standard-phases
16989 (add-after 'unpack 'chdir-elisp
16990 ;; Elisp directory is not in root of the source.
16991 (lambda _
16992 (chdir "servers"))))))
16993 (propagated-inputs `(("emacs-ert-async" ,emacs-ert-async)))
16994 (home-page "https://github.com/stsquad/emacs_chrome")
16995 (synopsis "Server that responds to edit requests from Chromium")
16996 (description
16997 "This package provides an edit server to respond to requests from Emacs.")
16998 (license license:gpl3+)))
16999
17000 (define-public emacs-m-buffer-el
17001 (package
17002 (name "emacs-m-buffer-el")
17003 (version "0.15")
17004 (source
17005 (origin
17006 (method git-fetch)
17007 (uri (git-reference
17008 (url "https://github.com/phillord/m-buffer-el")
17009 (commit (string-append "v" version))))
17010 (file-name (git-file-name name version))
17011 (sha256
17012 (base32
17013 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
17014 (arguments
17015 `(#:phases
17016 (modify-phases %standard-phases
17017 (add-before 'install 'check
17018 (lambda* (#:key inputs #:allow-other-keys)
17019 (invoke "emacs" "--batch" "-L" "."
17020 "-l" "test/m-buffer-test.el"
17021 "-l" "test/m-buffer-at-test.el"
17022 "-f" "ert-run-tests-batch-and-exit"))))))
17023 (build-system emacs-build-system)
17024 (home-page "https://github.com/phillord/m-buffer-el")
17025 (synopsis "List oriented buffer operations for Emacs")
17026 (description "@code{m-buffer} provides a set of list-orientated functions
17027 for operating over the contents of Emacs buffers.")
17028 (license license:gpl3+)))
17029
17030 (define-public emacs-let-alist
17031 (package
17032 (name "emacs-let-alist")
17033 (version "1.0.6")
17034 (source
17035 (origin
17036 (method url-fetch)
17037 (uri (string-append
17038 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
17039 (sha256
17040 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
17041 (build-system emacs-build-system)
17042 (home-page "https://elpa.gnu.org/packages/let-alist.html")
17043 (synopsis "Easily let-bind values of an assoc-list by their names")
17044 (description "This package offers a single macro, @code{let-alist}. This
17045 macro takes a first argument (whose value must be an alist) and a body.")
17046 (license license:gpl3+)))
17047
17048 (define-public emacs-esup
17049 (let ((commit "0de8af8233d9ce1b67f05a50f25c481c4f1118d8")
17050 (revision "1"))
17051 (package
17052 (name "emacs-esup")
17053 (version (git-version "0.7.1" revision commit))
17054 (source
17055 (origin
17056 (method git-fetch)
17057 (uri (git-reference
17058 (url "https://github.com/jschaf/esup")
17059 (commit commit)))
17060 (file-name (git-file-name name version))
17061 (sha256
17062 (base32
17063 "01khb3xyj0ylwib6ryzzvqmkh5wvzxiq2n3l0s3h9zv7wx849bzv"))))
17064 (build-system emacs-build-system)
17065 (native-inputs
17066 `(("emacs-noflet" ,emacs-noflet)
17067 ("emacs-undercover" ,emacs-undercover)
17068 ("emacs-buttercup" ,emacs-buttercup)))
17069 (propagated-inputs
17070 `(("emacs-dash" ,emacs-dash)))
17071 (arguments
17072 `(#:tests? #t
17073 #:test-command '("buttercup" "-L" ".")))
17074 (home-page "https://github.com/jschaf/esup")
17075 (synopsis "Emacs start up profiler")
17076 (description "Benchmark Emacs Startup time without ever leaving
17077 your Emacs.")
17078 (license license:gpl2+))))
17079
17080 (define-public emacs-restart-emacs
17081 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
17082 (revision "1"))
17083 (package
17084 (name "emacs-restart-emacs")
17085 (version (git-version "0.1.1" revision commit))
17086 (source
17087 (origin
17088 (method git-fetch)
17089 (uri (git-reference
17090 (url "https://github.com/iqbalansari/restart-emacs")
17091 (commit commit)))
17092 (file-name (git-file-name name version))
17093 (sha256
17094 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
17095 (build-system emacs-build-system)
17096 (home-page "https://github.com/iqbalansari/restart-emacs")
17097 (synopsis "Restart Emacs from within Emacs")
17098 (description "This package provides a simple command to restart Emacs from
17099 within Emacs.")
17100 (license license:gpl3+))))
17101
17102 (define-public emacs-svg-tag-mode
17103 (let ((commit "87489d28450559078aa15b4a435143a297508e48")
17104 (revision "1"))
17105 (package
17106 (name "emacs-svg-tag-mode")
17107 (version (git-version "0.1" revision commit))
17108 (source
17109 (origin
17110 (method git-fetch)
17111 (uri (git-reference
17112 (url "https://github.com/rougier/svg-tag-mode")
17113 (commit commit)))
17114 (file-name (git-file-name name version))
17115 (sha256
17116 (base32 "0gyhmv60dx0zxx4bmhzsd7q5vfnkpfwlj6539bn272fwcr7zncp8"))))
17117 (build-system emacs-build-system)
17118 (home-page "https://github.com/rougier/svg-tag-mode")
17119 (synopsis "Replace keywords with SVG tags")
17120 (description "This package provides a minor mode that replaces keywords
17121 or expressions with SVG rounded box labels that are fully customizable.")
17122 (license license:gpl3+))))
17123
17124 (define-public emacs-svg-icon
17125 (let ((commit "ebc2b8d0f6c680fd575a90e683cc7b832acd1eb7")
17126 (revision "1"))
17127 (package
17128 (name "emacs-svg-icon")
17129 (version (git-version "0.1" revision commit))
17130 (source
17131 (origin
17132 (method git-fetch)
17133 (uri (git-reference
17134 (url "https://github.com/rougier/emacs-svg-icon")
17135 (commit commit)))
17136 (file-name (git-file-name name version))
17137 (sha256
17138 (base32 "1qzqfa8xyw1nkb89kbvw9qcgdwr8g017n8gf3yzwn816qhkfkjrj"))))
17139 (build-system emacs-build-system)
17140 (home-page "https://github.com/rougier/emacs-svg-icon")
17141 (synopsis "Emacs library to create SVG icons on the fly")
17142 (description "This library allows creating SVG icons by parsing remote
17143 collections whose license are compatibles with Emacs. The default size of an
17144 icon is exactly 2x1 characters such that it can be inserted inside a text
17145 without disturbing alignment.")
17146 (license (list license:gpl3+)))))
17147
17148 (define-public emacs-sourcemap
17149 (package
17150 (name "emacs-sourcemap")
17151 (version "0.03")
17152 (source
17153 (origin
17154 (method git-fetch)
17155 (uri (git-reference
17156 (url "https://github.com/syohex/emacs-sourcemap")
17157 (commit version)))
17158 (file-name (git-file-name name version))
17159 (sha256
17160 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
17161 (build-system emacs-build-system)
17162 (home-page "https://github.com/syohex/emacs-sourcemap")
17163 (synopsis "Sourcemap parser")
17164 (description "Sourcemap parser")
17165 (license license:gpl3+)))
17166
17167 (define-public emacs-macrostep
17168 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
17169 (package
17170 (name "emacs-macrostep")
17171 (version (git-version "0.9" "1" commit))
17172 (source (origin
17173 (method git-fetch)
17174 (uri (git-reference
17175 (url "https://github.com/joddie/macrostep")
17176 (commit commit)))
17177 (file-name (git-file-name name version))
17178 (sha256
17179 (base32
17180 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
17181 (build-system emacs-build-system)
17182 (arguments
17183 '(#:phases
17184 (modify-phases %standard-phases
17185 (add-before 'check 'remove-test
17186 ;; Fails because of requirement ‘/bin/sh’.
17187 (lambda _
17188 (let ((file "macrostep-test.el"))
17189 (chmod file #o644)
17190 (emacs-batch-edit-file file
17191 `(progn (progn (goto-char (point-min))
17192 (re-search-forward
17193 "(ert-deftest macrostep-expand-c-macros")
17194 (beginning-of-line)
17195 (kill-sexp))
17196 (basic-save-buffer))))))
17197 (add-before 'install 'check
17198 (lambda _
17199 (invoke "emacs" "--batch" "-L" "."
17200 "-l" "macrostep-test.el"
17201 "-f" "ert-run-tests-batch-and-exit"))))))
17202 (home-page "https://github.com/joddie/macrostep")
17203 (synopsis "Interactive macro-expander for Emacs")
17204 (description "@code{macrostep} is an Emacs minor mode for interactively
17205 stepping through the expansion of macros in Emacs Lisp source code. It lets
17206 you see exactly what happens at each step of the expansion process by
17207 pretty-printing the expanded forms inline in the source buffer, which is
17208 temporarily read-only while macro expansions are visible. You can expand and
17209 collapse macro forms one step at a time, and evaluate or instrument the
17210 expansions for debugging with Edebug as normal (but see “Bugs and known
17211 limitations”, below). Single-stepping through the expansion is particularly
17212 useful for debugging macros that expand into another macro form. These can be
17213 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
17214 until the top-level form is no longer a macro call.")
17215 (license license:gpl3+))))
17216
17217 (define-public emacs-parent-mode
17218 (package
17219 (name "emacs-parent-mode")
17220 (version "2.3")
17221 (source
17222 (origin
17223 (method git-fetch)
17224 (uri (git-reference
17225 (url "https://github.com/Fanael/parent-mode")
17226 (commit version)))
17227 (file-name (git-file-name name version))
17228 (sha256
17229 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
17230 (build-system emacs-build-system)
17231 (home-page "https://github.com/Fanael/parent-mode")
17232 (synopsis "Get major mode's parent modes")
17233 (description "Get major mode's parent modes")
17234 (license license:gpl3+)))
17235
17236 (define-public emacs-lacarte
17237 (package
17238 (name "emacs-lacarte")
17239 (version "0.1")
17240 (source (origin
17241 (method url-fetch)
17242 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
17243 (sha256
17244 (base32
17245 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
17246 (build-system emacs-build-system)
17247 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
17248 (synopsis "Execute menu items as commands, with completion")
17249 (description "Execute menu items as commands, with completion.")
17250 (license license:gpl3)))
17251
17252 (define-public emacs-isearch-prop
17253 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
17254 (revision "2"))
17255 (package
17256 (name "emacs-isearch-prop")
17257 (version (git-version "0" revision commit))
17258 (source
17259 (origin
17260 (method git-fetch)
17261 (uri (git-reference
17262 (url "https://github.com/emacsmirror/isearch-prop")
17263 (commit commit)))
17264 (file-name (git-file-name name version))
17265 (sha256
17266 (base32
17267 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
17268 (build-system emacs-build-system)
17269 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
17270 (synopsis "Extensions to @code{isearch.el}")
17271 (description "The Emacs library @code{isearch-prop.el} lets you search within
17272 contexts. You can limit incremental search to a set of zones of
17273 buffer text, search contexts that in effect constitute a multi-region.
17274 These zones can be defined in various ways, including some ways
17275 provided specially by this library.")
17276 (license license:gpl3+))))
17277
17278 (define-public emacs-company-lua
17279 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
17280 (revision "2"))
17281 (package
17282 (name "emacs-company-lua")
17283 (version (git-version "0.1" "2" commit))
17284 (source
17285 (origin
17286 (method git-fetch)
17287 (uri (git-reference
17288 (url "https://github.com/ptrv/company-lua")
17289 (commit commit)))
17290 (file-name (git-file-name name version))
17291 (sha256
17292 (base32
17293 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
17294 (build-system emacs-build-system)
17295 (propagated-inputs
17296 `(("emacs-company" ,emacs-company)
17297 ("emacs-s" ,emacs-s)
17298 ("emacs-f" ,emacs-f)
17299 ("emacs-lua-mode" ,emacs-lua-mode)))
17300 (arguments
17301 `(#:include (cons* "^lua\\/" %default-include)))
17302 (home-page "https://github.com/ptrv/company-lua")
17303 (synopsis "Company backend for Lua")
17304 (description
17305 "This package provides Company backend for Lua programming language.")
17306 (license license:gpl3+))))
17307
17308 (define-public emacs-beginend
17309 (package
17310 (name "emacs-beginend")
17311 (version "2.2.0")
17312 (source
17313 (origin
17314 (method git-fetch)
17315 (uri (git-reference
17316 (url "https://github.com/DamienCassou/beginend")
17317 (commit (string-append "v" version))))
17318 (file-name (git-file-name name version))
17319 (sha256
17320 (base32 "1r9033zlx2q2dk3bjz004flxdiw79qiswq0zqdjnlzwassvk0f35"))))
17321 ;; TODO: Run tests.
17322 (build-system emacs-build-system)
17323 (inputs
17324 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
17325 (home-page "https://github.com/DamienCassou/beginend")
17326 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
17327 (description "@code{beginend} redefines @code{M-<} and @code{M->}
17328 keybindings for Emacs modes so that point moves to meaningful
17329 locations. Redefined keys are still accessible by pressing the same
17330 key again.")
17331 (license license:gpl3+)))
17332
17333 (define-public emacs-mbsync
17334 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
17335 (revision "4"))
17336 (package
17337 (name "emacs-mbsync")
17338 (version (git-version "0.1.2" revision commit))
17339 (source
17340 (origin
17341 (method git-fetch)
17342 (uri (git-reference
17343 (url "https://github.com/dimitri/mbsync-el")
17344 (commit commit)))
17345 (file-name (git-file-name name version))
17346 (sha256
17347 (base32
17348 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
17349 (build-system emacs-build-system)
17350 (home-page "https://github.com/dimitri/mbsync-el")
17351 (synopsis "Interface to mbsync for Emacs")
17352 (description "This package calls @code{mbsync} from
17353 within Emacs.")
17354 (license license:gpl3+))))
17355
17356 (define-public emacs-ibuffer-projectile
17357 (package
17358 (name "emacs-ibuffer-projectile")
17359 (version "0.3")
17360 (source
17361 (origin
17362 (method git-fetch)
17363 (uri (git-reference
17364 (url "https://github.com/purcell/ibuffer-projectile")
17365 (commit version)))
17366 (file-name (git-file-name name version))
17367 (sha256
17368 (base32
17369 "18cqxnwzzbkcj9jcaw89b210432yzhrl1dwsv48p0jbhfnr17k41"))))
17370 (build-system emacs-build-system)
17371 (propagated-inputs
17372 `(("emacs-projectile" ,emacs-projectile)))
17373 (home-page "https://github.com/purcell/ibuffer-projectile")
17374 (synopsis "Group ibuffer's list by projectile root")
17375 (description "Adds functionality to Emacs @code{ibuffer} for
17376 grouping buffers by their projectile root directory.")
17377 (license license:gpl3+)))
17378
17379 (define-public emacs-ibuffer-vc
17380 (package
17381 (name "emacs-ibuffer-vc")
17382 (version "0.11")
17383 (source
17384 (origin
17385 (method git-fetch)
17386 (uri (git-reference
17387 (url "https://github.com/purcell/ibuffer-vc")
17388 (commit version)))
17389 (file-name (git-file-name name version))
17390 (sha256
17391 (base32 "1mgn7b786j4hwq1ks012hxxgvrfn5rz90adi2j190gmjz60rc5g5"))))
17392 (build-system emacs-build-system)
17393 (home-page "https://github.com/purcell/ibuffer-vc")
17394 (synopsis "Group Ibuffer's list by revision control system indications")
17395 (description
17396 "Ibuffer-VC adds functionality to Ibuffer for grouping buffers by their
17397 parent revision control system root directory, and for displaying, or sorting,
17398 by the status of listed files.")
17399 (license license:gpl3+)))
17400
17401 (define-public emacs-elm-mode
17402 (package
17403 (name "emacs-elm-mode")
17404 (version "0.21.0")
17405 (source
17406 (origin
17407 (method git-fetch)
17408 (uri
17409 (git-reference
17410 (url "https://github.com/jcollard/elm-mode")
17411 (commit (string-append "v" version))))
17412 (file-name (git-file-name name version))
17413 (sha256
17414 (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd"))))
17415 (propagated-inputs
17416 `(("emacs-dash" ,emacs-dash)
17417 ("emacs-f" ,emacs-f)
17418 ("emacs-reformatter" ,emacs-reformatter)
17419 ("emacs-s" ,emacs-s)))
17420 (build-system emacs-build-system)
17421 (home-page "https://github.com/jcollard/elm-mode")
17422 (synopsis "Emacs major mode for editing Elm source code")
17423 (description
17424 "This package provides a major mode for editing Elm source code, and
17425 working with common core and third-party Elm tools. Its features are:
17426
17427 @itemize
17428 @item Syntax highlighting
17429 @item Intelligent indentation
17430 @item Integration with elm-make
17431 @item Integration with elm-repl
17432 @item Integration with elm-reactor
17433 @item Integration with elm-package
17434 @item Integration with elm-oracle
17435 @item Integration with elm-format
17436 @item Integration with elm-test
17437 @end itemize")
17438 (license license:gpl3+)))
17439
17440 (define-public emacs-helm-mode-manager
17441 (package
17442 (name "emacs-helm-mode-manager")
17443 (version "1.0.0")
17444 (source
17445 (origin
17446 (method git-fetch)
17447 (uri (git-reference
17448 (url "https://github.com/istib/helm-mode-manager")
17449 (commit version)))
17450 (file-name (git-file-name name version))
17451 (sha256
17452 (base32
17453 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
17454 (build-system emacs-build-system)
17455 (propagated-inputs
17456 `(("emacs-helm" ,emacs-helm)))
17457 (home-page "https://github.com/istib/helm-mode-manager/")
17458 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
17459 (description "This package provides a Helm interface for toggling Emacs
17460 major or minor mode.
17461
17462 @itemize
17463 @item @code{helm-switch-major-mode} list of all major modes
17464 @item @code{helm-enable-minor-mode} list of all inactive minor modes
17465 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
17466 @end itemize\n
17467
17468 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
17469 documentation.")
17470 (license license:gpl3+)))
17471
17472 (define-public emacs-hy-mode
17473 (package
17474 (name "emacs-hy-mode")
17475 (version "1.0.4")
17476 (source
17477 (origin
17478 (method git-fetch)
17479 (uri (git-reference
17480 (url "https://github.com/hylang/hy-mode")
17481 (commit (string-append "v" version))))
17482 (file-name (git-file-name name version))
17483 (sha256
17484 (base32 "0gihxlmfminadaqdr8d2zccd7wwygl3m0gfzxsk5izi7f8hl4w7f"))))
17485 (build-system emacs-build-system)
17486 (propagated-inputs
17487 `(("emacs-dash" ,emacs-dash)
17488 ("emacs-s" ,emacs-s)))
17489 (home-page "https://github.com/hylang/hy-mode")
17490 (synopsis "Major mode for Hylang")
17491 (description "This package provides a major mode for Hylang.")
17492 (license license:gpl3+)))
17493
17494 (define-public emacs-web-beautify
17495 (package
17496 (name "emacs-web-beautify")
17497 (version "0.3.2")
17498 (source
17499 (origin
17500 (method git-fetch)
17501 (uri (git-reference
17502 (url "https://github.com/yasuyk/web-beautify")
17503 (commit version)))
17504 (file-name (git-file-name name version))
17505 (sha256
17506 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
17507 (build-system emacs-build-system)
17508 (home-page "https://github.com/yasuyk/web-beautify")
17509 (synopsis "Format HTML, CSS and JavaScript, JSON")
17510 (description "This package provides an Emacs functions to format HTML,
17511 CSS, JavaScript, JSON.")
17512 (license license:gpl3+)))
17513
17514 (define-public emacs-helm-shell-history
17515 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
17516 (package
17517 (name "emacs-helm-shell-history")
17518 (version (git-version "0.1" "1" commit))
17519 (source
17520 (origin
17521 (method git-fetch)
17522 (uri (git-reference
17523 (url "https://github.com/yuutayamada/helm-shell-history")
17524 (commit commit)))
17525 (file-name (git-file-name name version))
17526 (sha256
17527 (base32
17528 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
17529 (build-system emacs-build-system)
17530 (arguments
17531 '(#:phases
17532 (modify-phases %standard-phases
17533 (add-before 'check 'patch-helm-shell-history-file
17534 (lambda _
17535 (let ((file "helm-shell-history.el"))
17536 (chmod file #o644)
17537 (emacs-substitute-sexps file
17538 ("(defvar helm-shell-history-file"
17539 `(expand-file-name "~/.bash_history"))))
17540 #t)))))
17541 (propagated-inputs
17542 `(("emacs-helm" ,emacs-helm)))
17543 (home-page "https://github.com/yuutayamada/helm-shell-history")
17544 (synopsis "Find shell history with Emacs Helm")
17545 (description "This package provides an Emacs Helm interface to search
17546 throw a shell history.")
17547 (license license:gpl3+))))
17548
17549 (define-public emacs-discover-my-major
17550 (package
17551 (name "emacs-discover-my-major")
17552 (version "1.0")
17553 (source
17554 (origin
17555 (method git-fetch)
17556 (uri (git-reference
17557 (url "https://framagit.org/steckerhalter/discover-my-major.git/")
17558 (commit version)))
17559 (file-name (git-file-name name version))
17560 (sha256
17561 (base32
17562 "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4"))))
17563 (build-system emacs-build-system)
17564 (propagated-inputs
17565 `(("emacs-makey" ,emacs-makey)))
17566 (home-page "https://framagit.org/steckerhalter/discover-my-major/")
17567 (synopsis "Discover key bindings for the current Emacs major mode")
17568 (description "This package discovers key bindings and
17569 their meaning for the current Emacs major-mode.")
17570 (license license:gpl3+)))
17571
17572 (define-public emacs-org-ref
17573 ;; No release since June 2017.
17574 (let ((commit "5bb9be2232db72b04754d7e4c02a3976ad422f6f")
17575 (revision "2"))
17576 (package
17577 (name "emacs-org-ref")
17578 (version (git-version "1.1.1" revision commit))
17579 (source
17580 (origin
17581 (method git-fetch)
17582 (uri (git-reference
17583 (url "https://github.com/jkitchin/org-ref")
17584 (commit commit)))
17585 (file-name (git-file-name name version))
17586 (sha256
17587 (base32 "15gcvbfj19kyv4nxa632b261dwhb26m99plq230qhv9ssfwfgxbx"))))
17588 (build-system emacs-build-system)
17589 (propagated-inputs
17590 `(("emacs-dash" ,emacs-dash)
17591 ("emacs-f" ,emacs-f)
17592 ("emacs-helm" ,emacs-helm)
17593 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
17594 ("emacs-htmlize" ,emacs-htmlize)
17595 ("emacs-hydra" ,emacs-hydra)
17596 ("emacs-ivy" ,emacs-ivy)
17597 ("emacs-key-chord" ,emacs-key-chord)
17598 ("emacs-pdf-tools" ,emacs-pdf-tools)
17599 ("emacs-s" ,emacs-s)))
17600 (home-page "https://github.com/jkitchin/org-ref")
17601 (synopsis "Citations, cross-references and bibliographies in Org mode")
17602 (description
17603 "Org Ref is an Emacs library that provides rich support for citations,
17604 labels and cross-references in Org mode.
17605
17606 The basic idea of Org Ref is that it defines a convenient interface to insert
17607 citations from a reference database (e.g., from BibTeX files), and a set of
17608 functional Org links for citations, cross-references and labels that export
17609 properly to LaTeX, and that provide clickable functionality to the user. Org
17610 Ref interfaces with Helm BibTeX to facilitate citation entry, and it can also
17611 use RefTeX.
17612
17613 It also provides a fairly large number of utilities for finding bad citations,
17614 extracting BibTeX entries from citations in an Org file, and functions to
17615 create and modify BibTeX entries from a variety of sources, most notably from
17616 a DOI.
17617
17618 Org Ref is especially suitable for Org documents destined for LaTeX export and
17619 scientific publication. Org Ref is also useful for research documents and
17620 notes.")
17621 (license license:gpl3+))))
17622
17623 (define-public emacs-org-reveal
17624 (let ((commit "84039bb499290926511b04749882ecb5eda45a0c"))
17625 (package
17626 (name "emacs-org-reveal")
17627 (version (git-version "20200607" "1" commit))
17628 (source (origin
17629 (method git-fetch)
17630 (uri (git-reference
17631 (url "https://github.com/yjwen/org-reveal")
17632 (commit commit)))
17633 (file-name (git-file-name name version))
17634 (sha256
17635 (base32
17636 "1fx3xmnkpfljrdmy0dsyq79k93ky57gcqm1ad9qbzykk7qjvmmi8"))))
17637 (build-system emacs-build-system)
17638 (home-page "https://github.com/yjwen/org-reveal")
17639 (synopsis "Org and Reveal.js powered HTML presentation tool")
17640 (description "Org-Reveal is a @command{org-mode} extension that allows
17641 to create beautiful presentations (slides) with 3D effects from simple but
17642 powerful Org contents.")
17643 (license license:gpl3+))))
17644
17645 (define-public emacs-org-re-reveal
17646 (package
17647 (name "emacs-org-re-reveal")
17648 (version "3.7.0")
17649 (source (origin
17650 (method git-fetch)
17651 (uri (git-reference
17652 (url "https://gitlab.com/oer/org-re-reveal")
17653 (commit version)))
17654 (file-name (git-file-name name version))
17655 (sha256
17656 (base32
17657 "1vzn0l8ig4rzh5h8j7kxn8kslqrij97qqv98fbnlwmrw4z87v8dr"))))
17658 (build-system emacs-build-system)
17659 (propagated-inputs
17660 `(("emacs-htmlize" ,emacs-htmlize)
17661 ("emacs-org" ,emacs-org)))
17662 (home-page "https://gitlab.com/oer/org-re-reveal")
17663 (synopsis "Build HTML presentations with reveal.js from Org source files")
17664 (description "This project started as fork of org-reveal. It provides an
17665 export back-end for HTML presentations with reveal.js from Org mode source
17666 files.")
17667 (license license:gpl3+)))
17668
17669 (define-public emacs-add-hooks
17670 (package
17671 (name "emacs-add-hooks")
17672 (version "3.1.1")
17673 (source
17674 (origin
17675 (method git-fetch)
17676 (uri (git-reference
17677 (url "https://github.com/nickmccurdy/add-hooks")
17678 (commit version)))
17679 (file-name (git-file-name name version))
17680 (sha256
17681 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
17682 (build-system emacs-build-system)
17683 (home-page "https://github.com/nickmccurdy/add-hooks/")
17684 (synopsis "Emacs function for setting multiple hooks")
17685 (description "This package provides a @code{add-hooks} function tidies up
17686 duplicate hook and function names further into a single declarative call.")
17687 (license license:gpl3+)))
17688
17689 (define-public emacs-fancy-battery
17690 (package
17691 (name "emacs-fancy-battery")
17692 (version "0.2")
17693 (source
17694 (origin
17695 (method git-fetch)
17696 (uri (git-reference
17697 (url "https://github.com/emacsorphanage/fancy-battery")
17698 (commit version)))
17699 (file-name (git-file-name name version))
17700 (sha256
17701 (base32 "05lwcwf412m717yhwpjrswqkm8c3i7391rmiwv2k8xc1vk6dpp4g"))))
17702 (build-system emacs-build-system)
17703 (home-page "https://github.com/emacsorphanage/fancy-battery")
17704 (synopsis "Display battery status in Emacs mode line")
17705 (description "This package provides @code{fancy-battery-mode} which is
17706 like the built-in @code{display-battery-mode}, but more fancy. It just the
17707 remaining time, uses colours to indicate the status of the battery, and is
17708 more customizable.")
17709 (license license:gpl3)))
17710
17711 (define-public emacs-fancy-narrow
17712 (package
17713 (name "emacs-fancy-narrow")
17714 (version "0.9.5")
17715 (source
17716 (origin
17717 (method git-fetch)
17718 (uri (git-reference
17719 (url "https://github.com/Malabarba/fancy-narrow")
17720 (commit version)))
17721 (file-name (git-file-name name version))
17722 (sha256
17723 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
17724 (build-system emacs-build-system)
17725 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
17726 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
17727 (description
17728 "Unlike @code{narrow-to-region}, which completely hides text outside
17729 the narrowed region, this package simply de-emphasizes the text, makes it
17730 read-only, and makes it unreachable. This leads to a much more natural
17731 feeling where the region stays static (instead of being brutally moved to a
17732 blank slate) and is clearly highlighted with respect to the rest of the
17733 buffer.")
17734 (license license:gpl2+)))
17735
17736 (define-public emacs-know-your-http-well
17737 (package
17738 (name "emacs-know-your-http-well")
17739 (version "0.5.0")
17740 (source
17741 (origin
17742 (method git-fetch)
17743 (uri (git-reference
17744 (url "https://github.com/for-GET/know-your-http-well")
17745 (commit (string-append "v" version))))
17746 (file-name (git-file-name name version))
17747 (sha256
17748 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
17749 (arguments
17750 `(#:phases
17751 (modify-phases %standard-phases
17752 (add-after 'unpack 'install-json-files
17753 (lambda* (#:key outputs #:allow-other-keys)
17754 (for-each (lambda (directory)
17755 (copy-recursively directory
17756 (string-append
17757 (assoc-ref outputs "out")
17758 directory)))
17759 '("js" "json"))))
17760 (add-after 'unpack 'chdir-elisp
17761 ;; Elisp directory is not in root of the source.
17762 (lambda _
17763 (chdir "emacs"))))))
17764 (build-system emacs-build-system)
17765 (home-page "https://github.com/for-GET/know-your-http-well")
17766 (synopsis "Meaning of HTTP headers codes")
17767 (description "Meaning of HTTP headers codes.")
17768 (license license:gpl3+)))
17769
17770 (define-public emacs-navi-mode
17771 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
17772 (package
17773 (name "emacs-navi-mode")
17774 (version (git-version "2.0" "1" commit))
17775 (source
17776 (origin
17777 (method git-fetch)
17778 (uri (git-reference
17779 (url "https://github.com/alphapapa/navi")
17780 (commit commit)))
17781 (file-name (git-file-name name version))
17782 (sha256
17783 (base32
17784 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
17785 (build-system emacs-build-system)
17786 (propagated-inputs
17787 `(("emacs-outshine" ,emacs-outshine)
17788 ("emacs-outorg" ,emacs-outorg)))
17789 (home-page "https://github.com/alphapapa/navi")
17790 (synopsis "Emacs major-mode for easy buffer-navigation")
17791 (description
17792 "This package provides an Emacs major-mode for easy buffer-navigation")
17793 (license license:gpl3+))))
17794
17795 (define-public emacs-download-region
17796 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
17797 (revision "1"))
17798 (package
17799 (name "emacs-download-region")
17800 (version (string-append "0.0.1" "-" revision "."
17801 (string-take commit 7)))
17802 (source
17803 (origin
17804 (method git-fetch)
17805 (uri (git-reference
17806 (url "https://github.com/zk-phi/download-region")
17807 (commit commit)))
17808 (file-name (git-file-name name version))
17809 (sha256
17810 (base32
17811 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
17812 (build-system emacs-build-system)
17813 (home-page "https://github.com/zk-phi/download-region")
17814 (synopsis "In buffer download manager for Emacs")
17815 (description "@code{download-region} provides in buffer
17816 downloading manager for Emacs.")
17817 (license license:gpl3+))))
17818
17819 (define-public emacs-helpful
17820 (package
17821 (name "emacs-helpful")
17822 (version "0.18")
17823 (source
17824 (origin
17825 (method git-fetch)
17826 (uri (git-reference
17827 (url "https://github.com/Wilfred/helpful")
17828 (commit version)))
17829 (file-name (git-file-name name version))
17830 (sha256
17831 (base32 "0gdjxykqkal2x765mi51m99i5ql23i1fy909wy4mzj5ajhjfgqcc"))))
17832 (build-system emacs-build-system)
17833 (propagated-inputs
17834 `(("emacs-elisp-refs" ,emacs-elisp-refs)
17835 ("emacs-dash" ,emacs-dash)
17836 ("emacs-s" ,emacs-s)
17837 ("emacs-f" ,emacs-f)
17838 ("emacs-shut-up" ,emacs-shut-up)))
17839 (native-inputs
17840 `(("emacs-ert-runner" ,emacs-ert-runner)
17841 ("emacs-undercover" ,emacs-undercover)))
17842 (arguments
17843 `(#:tests? #t
17844 #:test-command '("ert-runner")))
17845 (home-page "https://github.com/Wilfred/helpful")
17846 (synopsis "More contextual information in Emacs help")
17847 (description "@code{helpful} is an alternative to the built-in Emacs help
17848 that provides much more contextual information.
17849
17850 @itemize
17851 @item Show the source code for interactively defined functions (unlike the
17852 built-in Help).
17853 @item Fall back to the raw sexp if no source is available.
17854 @item Show where a function is being called.
17855 @item Docstrings will Highlight the summary (the first sentence), include
17856 cross-references, hide superfluous puncuation.
17857 @item Show you the properties that have been applied to the current
17858 symbol. This provides visibility of features like edebug or byte-code
17859 optimisation.
17860 @item Provide a separate @code{helpful-command} function to view interactive
17861 functions.
17862 @item Display any keybindings that apply to interactive functions.
17863 @item Trace, disassemble functions from inside Helpful. This is discoverable
17864 and doesn't require memorisation of commands.
17865 @end itemize\n")
17866 (license license:gpl3+)))
17867
17868 (define-public emacs-logview
17869 (package
17870 (name "emacs-logview")
17871 (version "0.14")
17872 (source
17873 (origin
17874 (method git-fetch)
17875 (uri (git-reference
17876 (url "https://github.com/doublep/logview")
17877 (commit version)))
17878 (file-name (git-file-name name version))
17879 (sha256
17880 (base32 "1cchmr25z5zj7rgb2fyxkaq8kpw7i5yg1pvn42dvm09c2wrfbj46"))))
17881 (propagated-inputs
17882 `(("emacs-datetime" ,emacs-datetime)
17883 ("emacs-extmap" ,emacs-extmap)))
17884 (build-system emacs-build-system)
17885 (home-page "https://github.com/doublep/logview/")
17886 (synopsis "Emacs mode for viewing log files")
17887 (description "@code{logview} provides an Emacs mode to view log files.")
17888 (license license:gpl3+)))
17889
17890 (define-public emacs-suggest
17891 (package
17892 (name "emacs-suggest")
17893 (version "0.7")
17894 (home-page "https://github.com/Wilfred/suggest.el")
17895 (source
17896 (origin
17897 (method git-fetch)
17898 (uri (git-reference
17899 (url home-page)
17900 (commit version)))
17901 (file-name (git-file-name name version))
17902 (sha256
17903 (base32
17904 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
17905 (build-system emacs-build-system)
17906 (propagated-inputs
17907 `(("emacs-loop" ,emacs-loop)
17908 ("emacs-dash" ,emacs-dash)
17909 ("emacs-s" ,emacs-s)
17910 ("emacs-f" ,emacs-f)
17911 ("emacs-spinner" ,emacs-spinner)
17912 ("emacs-shut-up" ,emacs-shut-up)))
17913 (native-inputs
17914 `(("emacs-ert-runner" ,emacs-ert-runner)
17915 ("emacs-undercover" ,emacs-undercover)))
17916 (arguments
17917 `(#:tests? #t
17918 #:test-command '("ert-runner")))
17919 (synopsis "Suggest Elisp functions that give the output requested")
17920 (description "Suggest.el will find functions that give the output
17921 requested. It's a great way of exploring list, string and arithmetic
17922 functions.")
17923 (license license:gpl3+)))
17924
17925 (define-public emacs-benchmark-init
17926 (package
17927 (name "emacs-benchmark-init")
17928 (version "1.0")
17929 (source
17930 (origin
17931 (method git-fetch)
17932 (uri (git-reference
17933 (url "https://github.com/dholm/benchmark-init-el")
17934 (commit version)))
17935 (file-name (git-file-name name version))
17936 (sha256
17937 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
17938 (build-system emacs-build-system)
17939 (home-page "https://github.com/dholm/benchmark-init-el")
17940 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
17941 (description "@code{benchmark-init} provides a way to keep track of where
17942 time is being spent during Emacs startup in order to optimize startup time.")
17943 (license license:gpl3+)))
17944
17945 (define-public emacs-magit-gerrit
17946 (let ((version "0.3")
17947 (revision "1")
17948 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
17949 (package
17950 (name "emacs-magit-gerrit")
17951 (version (git-version version revision commit))
17952 (source (origin
17953 (method git-fetch)
17954 (uri (git-reference
17955 (url "https://github.com/terranpro/magit-gerrit")
17956 (commit commit)))
17957 (file-name (git-file-name name version))
17958 (sha256
17959 (base32
17960 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
17961 (build-system emacs-build-system)
17962 (propagated-inputs
17963 `(("emacs-magit" ,emacs-magit)))
17964 (home-page "https://github.com/terranpro/magit-gerrit")
17965 (synopsis "Magit extension for Gerrit")
17966 (description "This Magit extension provides integration with Gerrit,
17967 which makes it possible to conduct Gerrit code reviews directly from within
17968 Emacs.")
17969 (license license:gpl3+))))
17970
17971 (define-public emacs-magit-org-todos-el
17972 (package
17973 (name "emacs-magit-org-todos-el")
17974 (version "0.1.2")
17975 (source
17976 (origin
17977 (method git-fetch)
17978 (uri (git-reference
17979 (url "https://github.com/danielma/magit-org-todos.el")
17980 (commit version)))
17981 (file-name (git-file-name name version))
17982 (sha256
17983 (base32
17984 "07r5x256k1fjjxs1yfg41kc94nwvnjlk2vvknkra3j8v9p0j88m7"))))
17985 (propagated-inputs
17986 `(("magit" ,emacs-magit)))
17987 (build-system emacs-build-system)
17988 (home-page "https://github.com/danielma/magit-org-todos.el")
17989 (synopsis "Get todo.org into Emacs Magit status")
17990 (description "This package allows you to get @file{todo.org} into your
17991 magit status.
17992
17993 If you have a @file{todo.org} file with @code{TODO} items in the root of your
17994 repository, @code{magit-org-todos} will create a section in your Magit status
17995 buffer with each of your todos.")
17996 (license license:gpl3+)))
17997
17998 (define-public emacs-vcsh
17999 (package
18000 (name "emacs-vcsh")
18001 (version "0.4.4")
18002 (source
18003 (origin
18004 (method git-fetch)
18005 (uri (git-reference
18006 (url "https://gitlab.com/stepnem/vcsh-el.git")
18007 (commit version)))
18008 (file-name (git-file-name name version))
18009 (sha256
18010 (base32 "183pffdiqb7qqmjq31wxl3fpv8qswqgg99gb716rddiyk15ysri7"))))
18011 (build-system emacs-build-system)
18012 (home-page "https://gitlab.com/stepnem/vcsh-el")
18013 (synopsis "Emacs VCSH integration")
18014 (description
18015 "This library provides basic ``enter'' functionality and a few
18016 convenience commands to initialize a @acronym{VCSH, Version Control System for
18017 $HOME} repository and add files to it. It can be used in conjunction with
18018 Magit.")
18019 (license license:public-domain)))
18020
18021 (define-public emacs-f3
18022 (package
18023 (name "emacs-f3")
18024 (version "0.1")
18025 (source
18026 (origin
18027 (method git-fetch)
18028 (uri (git-reference
18029 (url "https://github.com/cosmicexplorer/f3")
18030 (commit version)))
18031 (file-name (git-file-name name version))
18032 (sha256
18033 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
18034 (build-system emacs-build-system)
18035 (propagated-inputs
18036 `(("emacs-helm" ,emacs-helm)))
18037 (home-page "https://github.com/cosmicexplorer/f3")
18038 (synopsis "Fantastic File Finder for Emacs")
18039 (description
18040 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
18041 (license license:gpl3+)))
18042
18043 (define-public emacs-lice-el
18044 (let ((commit "482e58ab83fff86ed754b00be27b62a219597e7c"))
18045 (package
18046 (name "emacs-lice-el")
18047 (version (git-version "0.2" "2" commit))
18048 (source (origin
18049 (method git-fetch)
18050 (uri (git-reference
18051 (url "https://github.com/buzztaiki/lice-el")
18052 (commit commit)))
18053 (file-name (git-file-name name version))
18054 (sha256
18055 (base32
18056 "0yxkjyhfk8kpr8yqz54gdx6xwkj4s8bnbz60162jh12crj0bs5n7"))))
18057 (build-system emacs-build-system)
18058 (arguments
18059 `(#:phases
18060 (modify-phases %standard-phases
18061 (add-after 'unpack 'patch-template-directory
18062 (lambda* (#:key outputs #:allow-other-keys)
18063 (chmod "lice.el" #o666)
18064 (emacs-substitute-variables "lice.el"
18065 ("lice:system-template-directory"
18066 (string-append (assoc-ref outputs "out")
18067 "/share/emacs-lice-el/template")))
18068 #t))
18069 (add-after 'install 'install-templates
18070 (lambda* (#:key outputs #:allow-other-keys)
18071 (copy-recursively
18072 "template"
18073 (string-append (assoc-ref outputs "out")
18074 "/share/emacs-lice-el/template"))
18075 #t)))))
18076 (home-page "https://github.com/buzztaiki/lice-el")
18077 (synopsis "License and header template for Emacs")
18078 (description "@code{lice.el} provides following features:
18079
18080 @itemize
18081 @item License template management.
18082 @item File header insertion.
18083 @end itemize\n")
18084 (license license:gpl3+))))
18085
18086 (define-public emacs-academic-phrases
18087 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
18088 (package
18089 (name "emacs-academic-phrases")
18090 (version (git-version "0.1" "1" commit))
18091 (source
18092 (origin
18093 (method git-fetch)
18094 (uri (git-reference
18095 (url "https://github.com/nashamri/academic-phrases")
18096 (commit commit)))
18097 (file-name (git-file-name name version))
18098 (sha256
18099 (base32
18100 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
18101 (build-system emacs-build-system)
18102 (propagated-inputs
18103 `(("emacs-dash" ,emacs-dash)
18104 ("emacs-s" ,emacs-s)
18105 ("emacs-ht" ,emacs-ht)))
18106 (home-page "https://github.com/nashamri/academic-phrases")
18107 (synopsis "Bypass that mental block when writing your papers")
18108 (description
18109 "When writing your academic paper, you might get stuck trying to find
18110 the right phrase that captures your intention. This package tries to
18111 alleviate that problem by presenting you with a list of phrases organized by
18112 the topic or by the paper section that you are writing. This package has
18113 around 600 phrases so far.
18114
18115 Using this package is easy, just call @code{academic-phrases} to get a list of
18116 phrases organized by topic, or call @code{academic-phrases-by-section} to
18117 browse the phrases by the paper section and fill-in the blanks if required.")
18118 (license license:gpl3+))))
18119
18120 (define-public emacs-auto-yasnippet
18121 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
18122 (revision "2"))
18123 (package
18124 (name "emacs-auto-yasnippet")
18125 (version (git-version "0.3.0" revision commit))
18126 (source (origin
18127 (method git-fetch)
18128 (uri (git-reference
18129 (url "https://github.com/abo-abo/auto-yasnippet")
18130 (commit commit)))
18131 (file-name (git-file-name name version))
18132 (sha256
18133 (base32
18134 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
18135 (build-system emacs-build-system)
18136 (arguments
18137 '(#:tests? #t
18138 #:test-command '("make" "test")))
18139 (propagated-inputs
18140 `(("emacs-yasnippet" ,emacs-yasnippet)))
18141 (home-page "https://github.com/abo-abo/auto-yasnippet/")
18142 (synopsis "Quickly create disposable yasnippets")
18143 (description "This package provides a hybrid of keyboard macros and
18144 yasnippet. You create the snippet on the go, usually to be used just in the
18145 one place. It's fast, because you're not leaving the current buffer, and all
18146 you do is enter the code you'd enter anyway, just placing ~ where you'd like
18147 yasnippet fields and mirrors to be.")
18148 (license license:gpl3+))))
18149
18150 (define-public emacs-highlight-numbers
18151 (package
18152 (name "emacs-highlight-numbers")
18153 (version "0.2.3")
18154 (source
18155 (origin
18156 (method git-fetch)
18157 (uri (git-reference
18158 (url "https://github.com/Fanael/highlight-numbers")
18159 (commit version)))
18160 (file-name (git-file-name name version))
18161 (sha256
18162 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
18163 (build-system emacs-build-system)
18164 (propagated-inputs
18165 `(("emacs-parent-mode" ,emacs-parent-mode)))
18166 (home-page "https://github.com/Fanael/highlight-numbers")
18167 (synopsis "Highlight numbers in source code")
18168 (description "@code{highlight-numbers-mode} provides a minor mode for
18169 syntax highlighting of numeric literals in source code.
18170
18171 It s customizable: it's easy to add or redefine what exactly constitutes a
18172 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
18173 (license license:gpl3+)))
18174
18175 (define-public emacs-darkroom
18176 (package
18177 (name "emacs-darkroom")
18178 (version "0.3")
18179 (source
18180 (origin
18181 (method url-fetch)
18182 (uri (string-append "https://elpa.gnu.org/packages/"
18183 "darkroom-" version ".el"))
18184 (sha256
18185 (base32 "0l1xg5kqmjw22k78qnsln0ifx2dx74xxqj0qp8xxcpqvzzx0xh86"))))
18186 (build-system emacs-build-system)
18187 (home-page "https://elpa.gnu.org/packages/darkroom.html")
18188 (synopsis "Remove visual distractions and focus on writing")
18189 (description "@code{darkroom-mode} makes visual distractions disappear.
18190 The mode-line is temporarily elided, text is enlarged and margins are adjusted
18191 so that it's centered on the window.
18192
18193 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
18194 @code{darkroom-mode}, unless the current buffer lives in the sole window of
18195 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
18196 split to display more windows and more buffers, the buffer exits
18197 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
18198 @code{darkroom-mode}.")
18199 (license license:gpl3+)))
18200
18201 (define-public emacs-rsw-elisp
18202 (package
18203 (name "emacs-rsw-elisp")
18204 (version "1.0.5")
18205 (source (origin
18206 (method git-fetch)
18207 (uri (git-reference
18208 (url "https://github.com/rswgnu/rsw-elisp")
18209 (commit version)))
18210 (file-name (git-file-name name version))
18211 (sha256
18212 (base32
18213 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
18214 (build-system emacs-build-system)
18215 (home-page "https://github.com/rswgnu/rsw-elisp")
18216 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
18217 (description "This package improves and replaces the GNU Emacs commands
18218 that interactively evaluate Emacs Lisp expressions. The new commands replace
18219 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
18220 the same way as the old commands when called non-interactively; only the
18221 interactive behavior should be different.")
18222 (license license:gpl3+)))
18223
18224 (define-public emacs-default-text-scale
18225 (package
18226 (name "emacs-default-text-scale")
18227 (version "0.2")
18228 (source (origin
18229 (method git-fetch)
18230 (uri (git-reference
18231 (url "https://github.com/purcell/default-text-scale")
18232 (commit version)))
18233 (file-name (git-file-name name version))
18234 (sha256
18235 (base32
18236 "0h42jiwxrxjmk7ccwh3h25n7dy2rq61ncm5wx27jhkncc5jdm4h6"))))
18237 (build-system emacs-build-system)
18238 (home-page "https://github.com/purcell/default-text-scale")
18239 (synopsis "Adjust the font size in all Emacs frames")
18240 (description "This package provides commands for increasing or
18241 decreasing the default font size in all GUI Emacs frames.")
18242 (license license:gpl3+)))
18243
18244 (define-public emacs-mixed-pitch
18245 (package
18246 (name "emacs-mixed-pitch")
18247 (version "1.1.1")
18248 (source
18249 (origin
18250 (method git-fetch)
18251 (uri (git-reference
18252 (url "https://gitlab.com/jabranham/mixed-pitch.git")
18253 (commit version)))
18254 (file-name (git-file-name name version))
18255 (sha256
18256 (base32 "1dhljrh44dsnixd8hbb11k6dgap8r8n7jknhfy2afdzq889fih74"))))
18257 (build-system emacs-build-system)
18258 (home-page "https://gitlab.com/jabranham/mixed-pitch")
18259 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
18260 (description
18261 "@code{mixed-pitch-mode} is a minor mode that enables mixing
18262 variable-pitch and fixed-pitch fonts in the same buffer. The list
18263 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
18264 fixed-pitch,everything else becomes variable-pitch.")
18265 (license license:gpl3+)))
18266
18267 (define-public emacs-visual-regexp
18268 (package
18269 (name "emacs-visual-regexp")
18270 (version "1.1.2")
18271 (source
18272 (origin
18273 (method git-fetch)
18274 (uri (git-reference
18275 (url "https://github.com/benma/visual-regexp.el")
18276 (commit (string-append "v" version))))
18277 (file-name (git-file-name name version))
18278 (sha256
18279 (base32 "12p3rlhdphwmx1kxsjzcl2wj3i6qgpvw8iwhg1whs6yqgaxivixd"))))
18280 (build-system emacs-build-system)
18281 (home-page "https://github.com/benma/visual-regexp.el/")
18282 (synopsis "Regexp command with interactive visual feedback")
18283 (description "This package provides an Emacs regexp command with
18284 interactive visual feedback.")
18285 (license license:gpl3+)))
18286
18287 (define-public emacs-faceup
18288 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
18289 (revision "1"))
18290 (package
18291 (name "emacs-faceup")
18292 (version (string-append "0.0.1" "-" revision "."
18293 (string-take commit 7)))
18294 (source
18295 (origin
18296 (method git-fetch)
18297 (uri (git-reference
18298 (url "https://github.com/Lindydancer/faceup")
18299 (commit commit)))
18300 (file-name (git-file-name name version))
18301 (sha256
18302 (base32
18303 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
18304 (build-system emacs-build-system)
18305 (home-page "https://github.com/Lindydancer/faceup")
18306 (synopsis "Markup language for faces and font-lock regression testing")
18307 (description "Emacs is capable of highlighting buffers based on
18308 language-specific @code{font-lock} rules. This package makes it possible to
18309 perform regression test for packages that provide font-lock rules.")
18310 (license license:gpl3+))))
18311
18312 (define-public emacs-racket-mode
18313 (let ((commit "5eb31a284c8db5102bc71b1e2c6ce3a095ae085b")
18314 (revision "6"))
18315 (package
18316 (name "emacs-racket-mode")
18317 (version (git-version "0.0.2" revision commit))
18318 (source
18319 (origin
18320 (method git-fetch)
18321 (uri (git-reference
18322 (url "https://github.com/greghendershott/racket-mode")
18323 (commit commit)))
18324 (file-name (git-file-name name version))
18325 (sha256
18326 (base32
18327 "081h6rd0gv88m0wvnmghi242kl39x1sz34qr4cq9vz04iwvnmgrm"))))
18328 (build-system emacs-build-system)
18329 (arguments
18330 `(#:include '("\\.el$" "\\.rkt$")))
18331 (propagated-inputs
18332 `(("emacs-faceup" ,emacs-faceup)
18333 ("emacs-pos-tip" ,emacs-pos-tip)
18334 ("emacs-s" ,emacs-s)))
18335 (home-page "https://www.racket-mode.com/")
18336 (synopsis "Major mode for the Racket language")
18337 (description "@code{racket-mode} provides:
18338
18339 @itemize
18340 @item Focus on Racket (not various Schemes).
18341 @item Follow DrRacket concepts where applicable.
18342 @item Thorough font-lock and indent.
18343 @end itemize\n")
18344 (license license:gpl3+))))
18345
18346 (define-public emacs-grep-context
18347 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
18348 (revision "1"))
18349 (package
18350 (name "emacs-grep-context")
18351 (version (git-version "0.1.0" revision commit))
18352 (source
18353 (origin
18354 (method git-fetch)
18355 (uri (git-reference
18356 (url "https://github.com/mkcms/grep-context")
18357 (commit commit)))
18358 (file-name (git-file-name name version))
18359 (sha256
18360 (base32
18361 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
18362 (build-system emacs-build-system)
18363 (propagated-inputs
18364 `(("emacs-dash" ,emacs-dash)))
18365 (home-page "https://github.com/mkcms/grep-context")
18366 (synopsis "Increase context in compilation and grep buffers")
18367 (description
18368 "This package provides an Emacs package for more context in
18369 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
18370 @code{ivy}.")
18371 (license license:gpl3+))))
18372
18373 (define-public emacs-helm-firefox
18374 (package
18375 (name "emacs-helm-firefox")
18376 (version "1.3")
18377 (source
18378 (origin
18379 (method git-fetch)
18380 (uri (git-reference
18381 (url "https://github.com/emacs-helm/helm-firefox")
18382 (commit (string-append "v" version))))
18383 (file-name (git-file-name name version))
18384 (sha256
18385 (base32
18386 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
18387 (propagated-inputs
18388 `(("emacs-helm" ,emacs-helm)))
18389 (build-system emacs-build-system)
18390 (home-page "https://github.com/emacs-helm/helm-firefox")
18391 (synopsis "Display firefox bookmarks with Emacs Helm interface")
18392 (description "Display firefox bookmarks with Emacs Helm interface")
18393 (license license:gpl3+)))
18394
18395 (define-public emacs-interactive-align
18396 (package
18397 (name "emacs-interactive-align")
18398 (version "0.4.2")
18399 (source
18400 (origin
18401 (method git-fetch)
18402 (uri (git-reference
18403 (url "https://github.com/mkcms/interactive-align")
18404 (commit (string-append "v" version))))
18405 (file-name (git-file-name name version))
18406 (sha256
18407 (base32
18408 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
18409 (build-system emacs-build-system)
18410 (home-page "https://github.com/mkcms/interactive-align/")
18411 (synopsis "Interactive align-regexp command in Emacs")
18412 (description "Interactive align-regexp command in Emacs")
18413 (license license:gpl3+)))
18414
18415 (define-public emacs-shift-number
18416 (package
18417 (name "emacs-shift-number")
18418 (version "0.1")
18419 (source
18420 (origin
18421 (method git-fetch)
18422 (uri (git-reference
18423 (url "https://github.com/alezost/shift-number.el")
18424 (commit (string-append "v" version))))
18425 (file-name (git-file-name name version))
18426 (sha256
18427 (base32
18428 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
18429 (build-system emacs-build-system)
18430 (home-page "https://github.com/alezost/shift-number.el")
18431 (synopsis "Increase or decrease the number at point")
18432 (description "@code{emacs-shift-number} provides commands
18433 @code{shift-number-up} to increase and @code{shift-number-down} to
18434 decrease the number at point.")
18435 (license license:gpl3+)))
18436
18437 (define-public emacs-highlight-defined
18438 (package
18439 (name "emacs-highlight-defined")
18440 (version "0.1.5")
18441 (source
18442 (origin
18443 (method git-fetch)
18444 (uri (git-reference
18445 (url "https://github.com/Fanael/highlight-defined")
18446 (commit version)))
18447 (file-name (git-file-name name version))
18448 (sha256
18449 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
18450 (build-system emacs-build-system)
18451 (home-page "https://github.com/Fanael/highlight-defined")
18452 (synopsis "Syntax highlighting of known Elisp symbols")
18453 (description "Minor mode providing syntax highlighting of known Emacs Lisp
18454 symbols. Currently the code distinguishes Lisp functions, built-in functions,
18455 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
18456 (license license:gpl3+)))
18457
18458 (define-public emacs-parinfer-mode
18459 (package
18460 (name "emacs-parinfer-mode")
18461 (version "0.4.10")
18462 (source
18463 (origin
18464 (method git-fetch)
18465 (uri (git-reference
18466 (url "https://github.com/DogLooksGood/parinfer-mode")
18467 (commit (string-append "v" version))))
18468 (file-name (git-file-name name version))
18469 (sha256
18470 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
18471 (propagated-inputs
18472 `(("emacs-dash" ,emacs-dash)
18473 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
18474 ("emacs-company" ,emacs-company)))
18475 (build-system emacs-build-system)
18476 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
18477 (synopsis "Lisp structure editing mode")
18478 (description "@code{parinfer-mode} is a proof-of-concept editor
18479 mode for Lisp programming languages. It will infer some changes to
18480 keep Parens and Indentation inline with one another.")
18481 (license license:gpl3+)))
18482
18483 (define-public emacs-helm-eww
18484 (package
18485 (name "emacs-helm-eww")
18486 (version "1.2")
18487 (source (origin
18488 (method git-fetch)
18489 (uri (git-reference
18490 (url "https://github.com/emacs-helm/helm-eww")
18491 (commit version)))
18492 (file-name (git-file-name name version))
18493 (sha256
18494 (base32
18495 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
18496 (propagated-inputs
18497 `(("emacs-helm" ,emacs-helm)))
18498 (build-system emacs-build-system)
18499 (home-page "https://github.com/emacs-helm/helm-eww/")
18500 (synopsis "Helm interface to EWW")
18501 (description "This package provides a Helm interface for EWW buffers,
18502 bookmarks and history.")
18503 (license license:gpl3+)))
18504
18505 (define-public emacs-stumpwm-mode
18506 (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
18507 (revision "3"))
18508 (package
18509 (name "emacs-stumpwm-mode")
18510 (version (git-version "0.0.1" revision commit))
18511 (source (origin
18512 (method git-fetch)
18513 (uri (git-reference
18514 (url "https://github.com/stumpwm/stumpwm-contrib")
18515 (commit commit)))
18516 (file-name (git-file-name name version))
18517 (sha256
18518 (base32
18519 "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml"))))
18520 (build-system emacs-build-system)
18521 (arguments
18522 `(#:phases
18523 (modify-phases %standard-phases
18524 (add-after 'unpack 'chdir-elisp
18525 ;; Elisp directory is not in root of the source.
18526 (lambda _
18527 (chdir "util/swm-emacs"))))))
18528 (home-page "https://github.com/stumpwm/stumpwm-contrib")
18529 (synopsis "Emacs minor-mode for Stumpwm")
18530 (description "Emacs minor-mode for Stumpwm")
18531 (license license:gpl3+))))
18532
18533 (define-public emacs-irfc
18534 (package
18535 (name "emacs-irfc")
18536 (version "20130824.507-1")
18537 (source
18538 (origin
18539 (method url-fetch)
18540 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
18541 (file-name (string-append "irfc-" version ".el"))
18542 (sha256
18543 (base32
18544 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
18545 (build-system emacs-build-system)
18546 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
18547 (synopsis "Interface for IETF RFC document")
18548 (description
18549 "This package provides an Emacs interface for IETF RFC document.")
18550 (license license:gpl3+)))
18551
18552 (define-public emacs-ido-at-point
18553 (package
18554 (name "emacs-ido-at-point")
18555 (version "1.0.0")
18556 (source
18557 (origin
18558 (method git-fetch)
18559 (uri (git-reference
18560 (url "https://github.com/katspaugh/ido-at-point")
18561 (commit (string-append "v" version))))
18562 (file-name (git-file-name name version))
18563 (sha256
18564 (base32 "1bii7vj8pmmijcpvq3a1scky4ais7k6d7zympb3m9dmz355m9rpp"))))
18565 (build-system emacs-build-system)
18566 (synopsis "Ido-style completion at point")
18567 (description
18568 "This package is an alternative frontend for @code{completion-at-point}.
18569 It replaces the standard completions buffer with Ido prompt.")
18570 (home-page "https://github.com/katspaugh/ido-at-point")
18571 (license license:gpl3+)))
18572
18573 (define-public emacs-ido-vertical-mode
18574 (package
18575 (name "emacs-ido-vertical-mode")
18576 (version "0.1.6")
18577 (source
18578 (origin
18579 (method git-fetch)
18580 (uri (git-reference
18581 (url "https://github.com/creichert/ido-vertical-mode.el")
18582 (commit (string-append "v" version))))
18583 (file-name (git-file-name name version))
18584 (sha256
18585 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
18586 (build-system emacs-build-system)
18587 (home-page "https://github.com/creichert/ido-vertical-mode.el")
18588 (synopsis "Makes ido-mode display vertically")
18589 (description "Makes ido-mode display prospects vertically.")
18590 (license license:gpl3+)))
18591
18592 (define-public emacs-wordgen
18593 (package
18594 (name "emacs-wordgen")
18595 (version "0.1.4")
18596 (source
18597 (origin
18598 (method git-fetch)
18599 (uri (git-reference
18600 (url "https://github.com/Fanael/wordgen.el")
18601 (commit version)))
18602 (file-name (git-file-name name version))
18603 (sha256
18604 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
18605 (build-system emacs-build-system)
18606 (home-page "https://github.com/Fanael/wordgen.el")
18607 (synopsis "Random word generator")
18608 (description "This package provides functions to generate random words
18609 using user-provided rules.")
18610 (license license:gpl3+)))
18611
18612 (define-public emacs-on-screen
18613 (package
18614 (name "emacs-on-screen")
18615 (version "1.3.3")
18616 (source
18617 (origin
18618 (method url-fetch)
18619 (uri (string-append
18620 "https://elpa.gnu.org/packages/on-screen-" version ".el"))
18621 (file-name (string-append name "-" version ".el"))
18622 (sha256
18623 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
18624 (build-system emacs-build-system)
18625 (home-page "https://github.com/michael-heerdegen/on-screen.el")
18626 (synopsis "Guide your eyes while scrolling")
18627 (description
18628 "Scrolling can be distracting because your eyes may lose
18629 orientation. This library implements a minor mode that highlights
18630 the previously visible buffer part after each scroll.")
18631 (license license:gpl3+)))
18632
18633 (define-public emacs-highlight-escape-sequences
18634 ;; No release upstream. Extract version from main file.
18635 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
18636 (revision "0"))
18637 (package
18638 (name "emacs-highlight-escape-sequences")
18639 (version (git-version "0.4" revision commit))
18640 (source
18641 (origin
18642 (method git-fetch)
18643 (uri (git-reference
18644 (url "https://github.com/dgutov/highlight-escape-sequences")
18645 (commit commit)))
18646 (file-name (git-file-name name version))
18647 (sha256
18648 (base32 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
18649 (build-system emacs-build-system)
18650 (home-page "https://github.com/dgutov/highlight-escape-sequences")
18651 (synopsis "Highlight escape sequences in Emacs")
18652 (description "@code{highlight-escape-sequences} provides an
18653 Emacs minor mode to escape sequences in code.")
18654 (license license:gpl3+))))
18655
18656 (define-public emacs-dashboard
18657 (package
18658 (name "emacs-dashboard")
18659 (version "1.7.0")
18660 (source
18661 (origin
18662 (method git-fetch)
18663 (uri (git-reference
18664 (url "https://github.com/rakanalh/emacs-dashboard")
18665 (commit version)))
18666 (file-name (git-file-name name version))
18667 (sha256
18668 (base32 "1qv4cqjy2s2d2bysbq10vq1axpbd8qc3jn1s1r81lxqkcja8zasa"))))
18669 (build-system emacs-build-system)
18670 (propagated-inputs
18671 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
18672 (arguments
18673 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
18674 #:phases
18675 (modify-phases %standard-phases
18676 (add-after 'unpack 'patch-dashboard-widgets
18677 ;; This phase fixes compilation error.
18678 (lambda _
18679 (chmod "dashboard-widgets.el" #o666)
18680 (emacs-substitute-variables "dashboard-widgets.el"
18681 ("dashboard-init-info"
18682 '(format "Loaded in %s" (emacs-init-time))))
18683 #t)))))
18684 (home-page "https://github.com/rakanalh/emacs-dashboard")
18685 (synopsis "Startup screen extracted from Spacemacs")
18686 (description "This package provides an extensible Emacs dashboard, with
18687 sections for bookmarks, projectil projects, org-agenda and more. ")
18688 (license license:gpl3+)))
18689
18690 (define-public emacs-slime-company
18691 (package
18692 (name "emacs-slime-company")
18693 (version "1.6")
18694 (source
18695 (origin
18696 (method git-fetch)
18697 (uri (git-reference
18698 (url "https://github.com/anwyn/slime-company")
18699 (commit (string-append "v" version))))
18700 (file-name (git-file-name name version))
18701 (sha256
18702 (base32 "05dnnc4ms5c9yp9h65k2gbkg3pw9k38nx5wzlwdlfr4shqmw54w0"))))
18703 (build-system emacs-build-system)
18704 (propagated-inputs
18705 `(("emacs-slime" ,emacs-slime)
18706 ("emacs-company" ,emacs-company)))
18707 (home-page "https://company-mode.github.io")
18708 (synopsis "SLIME completion backend for @code{company-mode}")
18709 (description
18710 "This is a backend implementation for the completion package
18711 @code{company-mode} which supports the normal and the fuzzy completion
18712 modes of SLIME.")
18713 (license license:gpl3+)))
18714
18715 (define-public emacs-sml-mode
18716 (package
18717 (name "emacs-sml-mode")
18718 (version "6.10")
18719 (source
18720 (origin
18721 (method url-fetch)
18722 (uri (string-append "https://elpa.gnu.org/packages/sml-mode-"
18723 version ".el"))
18724 (sha256
18725 (base32 "01yf0s474r9xhj6nbs14ljn9ccxb5yy758i17c8nmgmqvm8fx7sb"))))
18726 (build-system emacs-build-system)
18727 (home-page "https://elpa.gnu.org/packages/sml-mode.html")
18728 (synopsis "Major mode for editing (Standard) ML")
18729 (description "SML-MODE is a major Emacs mode for editing Standard ML.
18730 It provides syntax highlighting and automatic indentation and
18731 comes with sml-proc which allows interaction with an inferior SML
18732 interactive loop.")
18733 (license license:gpl3+)))
18734
18735 (define-public emacs-eros
18736 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
18737 (revision "2"))
18738 (package
18739 (name "emacs-eros")
18740 (version (git-version "0.0.1" revision commit))
18741 (source
18742 (origin
18743 (method git-fetch)
18744 (uri (git-reference
18745 (url "https://github.com/xiongtx/eros")
18746 (commit commit)))
18747 (file-name (git-file-name name version))
18748 (sha256
18749 (base32
18750 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
18751 (build-system emacs-build-system)
18752 (home-page "https://github.com/xiongtx/eros")
18753 (synopsis "Evaluation result overlays")
18754 (description "@code{eros} provides evaluation result overlays.")
18755 (license license:gpl3+))))
18756
18757 (define-public emacs-stickyfunc-enhance
18758 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
18759 (revision "1"))
18760 (package
18761 (name "emacs-stickyfunc-enhance")
18762 (version "0.1")
18763 (source
18764 (origin
18765 (method git-fetch)
18766 (uri (git-reference
18767 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance")
18768 (commit commit)))
18769 (file-name (git-file-name name version))
18770 (sha256
18771 (base32
18772 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
18773 (build-system emacs-build-system)
18774 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
18775 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
18776 (description
18777 "@code{semantic-stickyfunc-mode} shows the function point is currently
18778 in at the first line of the current buffer. This is useful when you have a
18779 very long function that spreads more than a screen, and you don't have to
18780 scroll up to read the function name and then scroll down to original position.")
18781 (license license:gpl3+))))
18782
18783 (define-public emacs-git-auto-commit-mode
18784 (package
18785 (name "emacs-git-auto-commit-mode")
18786 (version "4.7.0")
18787 (source
18788 (origin
18789 (method git-fetch)
18790 (uri (git-reference
18791 (url "https://github.com/ryuslash/git-auto-commit-mode")
18792 (commit version)))
18793 (file-name (git-file-name name version))
18794 (sha256
18795 (base32 "0gpib57f7xza04g3iyihw5v15hb7pncqsmvyggib902yvcxlkvqf"))))
18796 (build-system emacs-build-system)
18797 (native-inputs
18798 `(("emacs-buttercup" ,emacs-buttercup)
18799 ("git" ,git)))
18800 (arguments
18801 `(#:tests? #t
18802 #:test-command '("buttercup" "-L" ".")))
18803 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
18804 (synopsis "Emacs Minor mode to automatically commit and push")
18805 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
18806 tries to commit changes to a file after every save.
18807
18808 When @code{gac-automatically-push-p} is non-nil, it also tries to push to the
18809 current upstream.")
18810 (license license:gpl3+)))
18811
18812 (define-public emacs-scroll-on-drag
18813 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
18814 (revision "1"))
18815 (package
18816 (name "emacs-scroll-on-drag")
18817 (version (git-version "0.1" revision commit))
18818 (source
18819 (origin
18820 (method git-fetch)
18821 (uri (git-reference
18822 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
18823 (commit commit)))
18824 (file-name (git-file-name name version))
18825 (sha256
18826 (base32
18827 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
18828 (build-system emacs-build-system)
18829 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
18830 (synopsis "Interactive scrolling")
18831 (description "This package permits scrolling at increasing speeds based
18832 on drag distance.")
18833 (license license:gpl3+))))
18834
18835 (define-public emacs-company-restclient
18836 (package
18837 (name "emacs-company-restclient")
18838 (version "0.3.0")
18839 (source
18840 (origin
18841 (method git-fetch)
18842 (uri (git-reference
18843 (url "https://github.com/iquiw/company-restclient")
18844 (commit (string-append "v" version))))
18845 (file-name (git-file-name name version))
18846 (sha256
18847 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
18848 (build-system emacs-build-system)
18849 (propagated-inputs
18850 `(("emacs-company" ,emacs-company)
18851 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
18852 ("emacs-restclient" ,emacs-restclient)))
18853 (home-page "https://github.com/iquiw/company-restclient")
18854 (synopsis "Company-mode completion back-end for restclient-mode")
18855 (description "@code{company-mode} back-end for
18856 @code{restclient-mode}.
18857
18858 It provides auto-completion for HTTP methods and headers in
18859 @code{restclient-mode}. Completion source is given by
18860 @code{know-your-http-well}.")
18861 (license license:gpl3+)))
18862
18863 (define-public emacs-noflet
18864 (let ((version "20170629")
18865 (revision "1")
18866 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
18867 (package
18868 (name "emacs-noflet")
18869 (version (git-version version revision commit))
18870 (source
18871 (origin
18872 (method git-fetch)
18873 (uri (git-reference
18874 (url "https://github.com/nicferrier/emacs-noflet")
18875 (commit commit)))
18876 (file-name (git-file-name name version))
18877 (sha256
18878 (base32
18879 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
18880 (build-system emacs-build-system)
18881 (arguments
18882 `(#:phases
18883 (modify-phases %standard-phases
18884 (add-after 'unpack 'require-dash
18885 ;; noflet.el uses -map from dash, but (require 'dash) is
18886 ;; missing. So, add it.
18887 (lambda _
18888 (substitute* "noflet.el"
18889 ((";;; Code:") ";;; Code:\n(require 'dash)"))
18890 #t)))))
18891 (propagated-inputs
18892 `(("emacs-dash" ,emacs-dash)))
18893 (home-page "https://github.com/nicferrier/emacs-noflet")
18894 (synopsis "Locally override functions")
18895 (description "@code{emacs-noflet} lets you locally override functions,
18896 in the manner of @command{flet}, but with access to the original function
18897 through the symbol: @command{this-fn}.")
18898 (license license:gpl3+))))
18899
18900 (define-public emacs-dumb-jump
18901 (package
18902 (name "emacs-dumb-jump")
18903 (version "0.5.3")
18904 (source
18905 (origin
18906 (method git-fetch)
18907 (uri (git-reference
18908 (url "https://github.com/jacktasia/dumb-jump")
18909 (commit (string-append "v" version))))
18910 (file-name (git-file-name name version))
18911 (sha256
18912 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
18913 (build-system emacs-build-system)
18914 (arguments
18915 `(#:tests? #f ; FIXME: Tests freeze when run.
18916 #:test-command '("ert-runner")
18917 #:phases
18918 (modify-phases %standard-phases
18919 (add-after 'unpack 'set-shell
18920 (lambda _
18921 ;; Setting the SHELL environment variable is required for the
18922 ;; tests to find sh.
18923 (setenv "SHELL" (which "sh"))
18924 #t)))))
18925 (native-inputs
18926 `(("emacs-el-mock" ,emacs-el-mock)
18927 ("emacs-noflet" ,emacs-noflet)
18928 ("emacs-undercover" ,emacs-undercover)
18929 ("ert-runner" ,emacs-ert-runner)))
18930 (propagated-inputs
18931 `(("emacs-f" ,emacs-f)
18932 ("emacs-popup" ,emacs-popup)))
18933 (home-page "https://github.com/jacktasia/dumb-jump")
18934 (synopsis "Jump to definition for multiple languages without configuration")
18935 (description "Dumb Jump is an Emacs \"jump to definition\" package with
18936 support for multiple programming languages that favors \"just working\" over
18937 speed or accuracy. This means minimal --- and ideally zero --- configuration
18938 with absolutely no stored indexes (tags) or persistent background processes.
18939 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
18940 @command{rg} installed.")
18941 (license license:gpl3+)))
18942
18943 (define-public emacs-dts-mode
18944 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
18945 (revision "1"))
18946 (package
18947 (name "emacs-dts-mode")
18948 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
18949 (source
18950 (origin
18951 (method git-fetch)
18952 (uri (git-reference
18953 (url "https://github.com/bgamari/dts-mode")
18954 (commit commit)))
18955 (file-name (git-file-name name version))
18956 (sha256
18957 (base32
18958 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
18959 (build-system emacs-build-system)
18960 (home-page "https://github.com/bgamari/dts-mode")
18961 (synopsis "Emacs minor mode for editing device tree files")
18962 (description
18963 "This package provides an Emacs minor mode for highlighting
18964 device tree files.")
18965 (license license:gpl3+))))
18966
18967 (define-public emacs-daemons
18968 (package
18969 (name "emacs-daemons")
18970 (version "2.0.0")
18971 (source
18972 (origin
18973 (method git-fetch)
18974 (uri (git-reference
18975 (url "https://github.com/cbowdon/daemons.el")
18976 (commit version)))
18977 (file-name (git-file-name name version))
18978 (sha256
18979 (base32
18980 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
18981 (build-system emacs-build-system)
18982 (home-page "https://github.com/cbowdon/daemons.el")
18983 (synopsis "Emacs UI for managing init system services")
18984 (description
18985 "This is an Emacs mode to give you a UI for managing init system
18986 daemons (services) for those getting tired of typing out @code{sudo service
18987 my_thing reload} all the time. It offers a consistent UI over different init
18988 systems.")
18989 (license license:gpl3+)))
18990
18991 (define-public emacs-isearch+
18992 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
18993 (revision "2"))
18994 (package
18995 (name "emacs-isearch+")
18996 (version (git-version "0" revision commit))
18997 (source
18998 (origin
18999 (method git-fetch)
19000 (uri (git-reference
19001 (url "https://github.com/emacsmirror/isearch-plus")
19002 (commit commit)))
19003 (file-name (git-file-name name version))
19004 (sha256
19005 (base32
19006 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
19007 (build-system emacs-build-system)
19008 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
19009 (synopsis "Extensions to @code{isearch.el}")
19010 (description "This package extends @code{isearch} with advice, dynamic
19011 filters, highlighting of regexp group levels, and more.")
19012 (license license:gpl2+))))
19013
19014 (define-public emacs-eshell-bookmark
19015 (package
19016 (name "emacs-eshell-bookmark")
19017 (version "2.0.0")
19018 (source
19019 (origin
19020 (method git-fetch)
19021 (uri (git-reference
19022 (url "https://github.com/Fuco1/eshell-bookmark")
19023 (commit version)))
19024 (file-name (git-file-name name version))
19025 (sha256
19026 (base32
19027 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
19028 (build-system emacs-build-system)
19029 (home-page "https://github.com/Fuco1/eshell-bookmark")
19030 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
19031 (description
19032 "This package allows for bookmarking @code{eshell} buffers. Upon
19033 visiting the bookmark, a new @code{eshell} session will be opened in the
19034 appropriate directory if no @code{eshell} session is active.")
19035 (license license:gpl3+)))
19036
19037 (define-public emacs-eshell-syntax-highlighting
19038 (package
19039 (name "emacs-eshell-syntax-highlighting")
19040 (version "0.3")
19041 (source
19042 (origin
19043 (method git-fetch)
19044 (uri (git-reference
19045 (url "https://github.com/akreisher/eshell-syntax-highlighting")
19046 (commit (string-append "v" version))))
19047 (file-name (git-file-name name version))
19048 (sha256
19049 (base32 "1fb9aa85a3hx1rcmv71j6sc3y278452p1y4dabpwy07avb6apd0p"))))
19050 (build-system emacs-build-system)
19051 (home-page "https://github.com/akreisher/eshell-syntax-highlighting")
19052 (synopsis "Add syntax highlighting to Eshell")
19053 (description
19054 "This package highlights user commands at the Eshell interactive prompt
19055 to provide feedback on the validity of commands and syntax.")
19056 (license license:gpl3+)))
19057
19058 (define-public emacs-eshell-z
19059 (package
19060 (name "emacs-eshell-z")
19061 (version "0.4")
19062 (source
19063 (origin
19064 (method git-fetch)
19065 (uri (git-reference
19066 (url "https://github.com/xuchunyang/eshell-z")
19067 (commit (string-append "v" version))))
19068 (file-name (git-file-name name version))
19069 (sha256
19070 (base32
19071 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
19072 (build-system emacs-build-system)
19073 (home-page "https://github.com/xuchunyang/eshell-z")
19074 (synopsis "Quick navigation to frequently visited directories")
19075 (description
19076 "This package is a port of @code{z}, and keeps track of visited directories
19077 and commands invoked within them in order to enable navigation via input of
19078 matching regexps.")
19079 (license license:gpl3+)))
19080
19081 (define-public emacs-esh-autosuggest
19082 (package
19083 (name "emacs-esh-autosuggest")
19084 (version "2.0.1")
19085 (source
19086 (origin
19087 (method git-fetch)
19088 (uri (git-reference
19089 (url "https://github.com/dieggsy/esh-autosuggest")
19090 (commit version)))
19091 (file-name (git-file-name name version))
19092 (sha256
19093 (base32
19094 "0l2nnlr3b6df1xn0qjf5d5ryy1wcs1jczyfy795vsasd5gm3g0xh"))))
19095 (build-system emacs-build-system)
19096 (propagated-inputs `(("emacs-company" ,emacs-company)))
19097 (home-page "https://github.com/dieggsy/esh-autosuggest")
19098 (synopsis "Fish-like autosuggestions in Eshell")
19099 (description
19100 "This package assumes you use something other than company for eshell
19101 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
19102 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
19103 for history autosuggestions.
19104
19105 Unless you're using @code{use-package}'s hook keyword, you can enable the
19106 autosuggestions with:
19107 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
19108 (license license:gpl3+)))
19109
19110 (define-public emacs-desktop-environment
19111 (package
19112 (name "emacs-desktop-environment")
19113 (version "0.4.0")
19114 (source
19115 (origin
19116 (method git-fetch)
19117 (uri (git-reference
19118 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
19119 (commit (string-append "v" version))))
19120 (file-name (git-file-name name version))
19121 (sha256
19122 (base32
19123 "0s33jncjg8c2xlr90qjk1ishwmwxm9yg0z6n3kzilawcilpxidsh"))))
19124 (build-system emacs-build-system)
19125 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
19126 (synopsis "Control your GNU/Linux desktop environment from Emacs")
19127 (description
19128 "This package helps you control your GNU/Linux desktop from Emacs.
19129 With @code{desktop-environment}, you can control the brightness and volume as
19130 well as take screenshots and lock your screen. The package depends on the
19131 availability of shell commands to do the hard work for us. These commands can
19132 be changed by customizing the appropriate variables.")
19133 (license license:gpl3+)))
19134
19135 (define-public emacs-org-caldav
19136 (let ((commit "8569941a0a5a9393ba51afc8923fd7b77b73fa7a")
19137 (revision "2"))
19138 (package
19139 (name "emacs-org-caldav")
19140 (version (git-version "0.0.0" revision commit))
19141 (source
19142 (origin
19143 (method git-fetch)
19144 (uri (git-reference
19145 (url "https://github.com/dengste/org-caldav")
19146 (commit commit)))
19147 (file-name (git-file-name name version))
19148 (sha256
19149 (base32 "05lgxqaffnqaqnzl24frafdkskran88hl2ml05qvyjhs4jjbgw9g"))))
19150 (build-system emacs-build-system)
19151 (arguments
19152 ;; Tests require to have two specific calendars on a test server.
19153 `(#:exclude '("^org-caldav-testsuite\\.el")))
19154 (propagated-inputs
19155 `(("emacs-org" ,emacs-org)))
19156 (home-page "https://github.com/dengste/org-caldav")
19157 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
19158 (description
19159 "Org CalDAV synchronizes events between Org files and a CalDAV
19160 calendar.")
19161 (license license:gpl3+))))
19162
19163 (define-public emacs-zotxt
19164 (package
19165 (name "emacs-zotxt")
19166 (version "5.0.5")
19167 (source
19168 (origin
19169 (method git-fetch)
19170 (uri (git-reference
19171 (url "https://github.com/egh/zotxt-emacs")
19172 (commit (string-append "v" version))))
19173 (file-name (git-file-name name version))
19174 (sha256
19175 (base32 "1zr67h0w49rsi84mgf6jdili28h8782q6vjl8za0iq1hcx9zqxyf"))))
19176 (build-system emacs-build-system)
19177 (propagated-inputs
19178 `(("emacs-deferred" ,emacs-deferred)
19179 ("emacs-request" ,emacs-request)))
19180 (home-page "https://github.com/egh/zotxt-emacs")
19181 (synopsis "Integrate Emacs with Zotero")
19182 (description "This package provides two integration features between Emacs
19183 and the Zotero research assistant: Insertion of links to Zotero items into an
19184 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
19185 (license license:gpl3+)))
19186
19187 (define-public emacs-evil-magit
19188 (let ((commit "253c644807013fe92429acdef418748794b8f254")
19189 (revision "4"))
19190 (package
19191 (name "emacs-evil-magit")
19192 (version (git-version "0.4.2" revision commit))
19193 (source
19194 (origin
19195 (method git-fetch)
19196 (uri (git-reference
19197 (url "https://github.com/emacs-evil/evil-magit")
19198 (commit commit)))
19199 (file-name (git-file-name name version))
19200 (sha256
19201 (base32
19202 "08mh7phxsdb9w4dfs0pmr4l4fdzzr2rm88z2s8karfi5j5ik2ag5"))))
19203 (build-system emacs-build-system)
19204 (propagated-inputs
19205 `(("emacs-evil" ,emacs-evil)
19206 ("magit" ,emacs-magit)))
19207 (arguments
19208 `(#:tests? #t
19209 #:test-command '("emacs" "-Q" "-batch"
19210 "-L" "."
19211 "-l" "evil-magit-tests"
19212 "-f" "ert-run-tests-batch-and-exit")))
19213 (home-page
19214 "https://github.com/emacs-evil/evil-magit")
19215 (synopsis "Evil-based key bindings for Magit")
19216 (description
19217 "This Emacs library configures Magit and Evil to play well with each other.
19218 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
19219 See the README at @url{https://github.com/justbur/evil-magit} for a table
19220 describing the key binding changes.")
19221 (license license:gpl3+))))
19222
19223 (define-public emacs-evil-multiedit
19224 (package
19225 (name "emacs-evil-multiedit")
19226 (version "1.3.9")
19227 (source
19228 (origin
19229 (method git-fetch)
19230 (uri (git-reference
19231 (url "https://github.com/hlissner/evil-multiedit")
19232 (commit (string-append "v" version))))
19233 (file-name (git-file-name name version))
19234 (sha256
19235 (base32
19236 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
19237 (build-system emacs-build-system)
19238 (propagated-inputs
19239 `(("emacs-evil" ,emacs-evil)
19240 ("emacs-iedit" ,emacs-iedit)))
19241 (native-inputs
19242 `(("emacs-ert-runner" ,emacs-ert-runner)))
19243 (arguments
19244 `(#:phases
19245 (modify-phases %standard-phases
19246 (add-before 'check 'fix-makefile
19247 (lambda _
19248 (substitute* "Makefile"
19249 (("@cask exec ") ""))
19250 #t)))
19251 #:tests? #t
19252 #:test-command '("make" "test")))
19253 (home-page
19254 "https://github.com/hlissner/evil-multiedit")
19255 (synopsis "Multiple cursors for Evil mode")
19256 (description
19257 "This plugin was an answer to the lack of proper multiple cursor support
19258 in Emacs+Evil. It allows you to select and edit matches interactively,
19259 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
19260 defaults.")
19261 (license license:gpl3+)))
19262
19263 (define-public emacs-evil-mc
19264 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
19265 (revision "2"))
19266 (package
19267 (name "emacs-evil-mc")
19268 (version (git-version "0.0.3" revision commit))
19269 (source
19270 (origin
19271 (method git-fetch)
19272 (uri (git-reference
19273 (url "https://github.com/gabesoft/evil-mc")
19274 (commit commit)))
19275 (file-name (git-file-name name version))
19276 (sha256
19277 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
19278 (build-system emacs-build-system)
19279 (propagated-inputs
19280 `(("emacs-evil" ,emacs-evil)))
19281 (native-inputs
19282 `(("emacs-espuds" ,emacs-espuds)))
19283 (home-page "https://github.com/gabesoft/evil-mc")
19284 (synopsis "Interactive search compatible with @code{multiple-cursors}")
19285 (description "This package can be used with @code{multiple-cursors} to
19286 provide an incremental search that moves all fake cursors in sync.")
19287 (license license:expat))))
19288
19289 (define-public emacs-evil-org
19290 (let ((commit "9d4be14118bf27094a30dbff349b815f098aacbf"))
19291 (package
19292 (name "emacs-evil-org")
19293 (version (git-version "1.0.2" "1" commit))
19294 (source
19295 (origin
19296 (method git-fetch)
19297 (uri (git-reference
19298 (url "https://github.com/Somelauw/evil-org-mode")
19299 (commit commit)))
19300 (file-name (git-file-name name version))
19301 (sha256
19302 (base32
19303 "1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn"))))
19304 (build-system emacs-build-system)
19305 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
19306 (home-page
19307 "https://github.com/Somelauw/evil-org-mode")
19308 (synopsis "Evil keybindings for Org mode")
19309 (description
19310 "This package adds supplemental Evil mode key-bindings to Emacs
19311 Org-mode. It features:
19312 @itemize
19313 @item normal, visual and insert mode bindings;
19314 @item key bindings organised in key themes;
19315 @item operators like > and < to work on headings;
19316 @item text objects;
19317 @item table support;
19318 @item calendar (date selection) support;
19319 @item agenda support.
19320 @end itemize\n")
19321 (license license:gpl3+))))
19322
19323 (define-public emacs-debpaste
19324 (package
19325 (name "emacs-debpaste")
19326 (version "0.1.5")
19327 (home-page "https://github.com/alezost/debpaste.el")
19328 (source
19329 (origin
19330 (method git-fetch)
19331 (uri (git-reference (url home-page)
19332 (commit (string-append "v" version))))
19333 (file-name (git-file-name name version))
19334 (sha256
19335 (base32
19336 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
19337 (build-system emacs-build-system)
19338 (propagated-inputs
19339 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
19340 (synopsis "Manipulate pastes from the Debian Pastezone")
19341 (description "Debpaste is an Emacs interface for the Debian Pastezone,
19342 allowing you to receive, post, and delete pastes. It communicates with the
19343 server using XML-RPC.")
19344 (license license:gpl3+)))
19345
19346 (define-public emacs-xml-rpc
19347 (package
19348 (name "emacs-xml-rpc")
19349 (version "1.6.15")
19350 (source
19351 (origin
19352 (method git-fetch)
19353 (uri (git-reference
19354 (url "https://github.com/hexmode/xml-rpc-el")
19355 (commit version)))
19356 (file-name (git-file-name name version))
19357 (sha256
19358 (base32 "07vgwnk96i1vpsv2glg6kbkamjcs72xiznsa6xk7nl0nranzr3hd"))))
19359 (build-system emacs-build-system)
19360 (home-page "https://github.com/hexmode/xml-rpc-el")
19361 (synopsis "XML-RPC client for Emacs")
19362 (description "This package provides an XML-RPC client for Emacs capable
19363 of both synchronous and asynchronous method calls using the @code{url}
19364 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
19365 datatypes as Lisp values, automatically converting to and from the XML
19366 datastructures as needed, both for method parameters and return values, making
19367 using XML-RPC methods fairly transparent to the Lisp code.")
19368 (license license:gpl3+)))
19369
19370 (define-public emacs-xpm
19371 (package
19372 (name "emacs-xpm")
19373 (version "1.0.4")
19374 (source
19375 (origin
19376 (method url-fetch)
19377 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
19378 version ".tar"))
19379 (sha256
19380 (base32
19381 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
19382 (build-system emacs-build-system)
19383 (home-page "https://elpa.gnu.org/packages/xpm.html")
19384 (synopsis "XPM image editing mode for Emacs")
19385 (description "This Emacs package makes editing XPM images easy (and maybe
19386 fun). Editing is done directly on the (textual) image format, for maximal
19387 cohesion with the Emacs Way.")
19388 (license license:gpl3+)))
19389
19390 (define-public emacs-fish-completion
19391 (package
19392 (name "emacs-fish-completion")
19393 (version "1.2")
19394 (source
19395 (origin
19396 (method git-fetch)
19397 (uri (git-reference
19398 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
19399 (commit version)))
19400 (file-name (git-file-name name version))
19401 (sha256
19402 (base32
19403 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
19404 (build-system emacs-build-system)
19405 (inputs `(("fish" ,fish)))
19406 (arguments
19407 `(#:phases
19408 (modify-phases %standard-phases
19409 (add-after 'unpack 'configure
19410 (lambda* (#:key inputs outputs #:allow-other-keys)
19411 (let ((fish (assoc-ref inputs "fish")))
19412 ;; Specify the absolute file names of the various
19413 ;; programs so that everything works out-of-the-box.
19414 (make-file-writable "fish-completion.el")
19415 (emacs-substitute-variables
19416 "fish-completion.el"
19417 ("fish-completion-command"
19418 (string-append fish "/bin/fish")))))))))
19419 (home-page
19420 "https://gitlab.com/Ambrevar/emacs-fish-completion")
19421 (synopsis "Fish completion for Emacs pcomplete")
19422 (description
19423 "This package provides completion for the Fish shell to pcomplete (used
19424 by shell and Eshell). You can set it up globally with:
19425
19426 @example
19427 (when (and (executable-find \"fish\")
19428 (require 'fish-completion nil t))
19429 (global-fish-completion-mode))
19430 @end example
19431
19432 Alternatively, you can call the @code{fish-completion-mode} manually or in
19433 shell/Eshell mode hook.
19434
19435 The package @code{emacs-bash-completion} is an optional dependency: if available,
19436 @code{fish-completion-complete} can be configured to fall back on bash to further
19437 try completing. See @code{fish-completion-fallback-on-bash-p}.")
19438 (license license:gpl3+)))
19439
19440 (define-public emacs-gif-screencast
19441 (package
19442 (name "emacs-gif-screencast")
19443 (version "1.2")
19444 (source
19445 (origin
19446 (method git-fetch)
19447 (uri (git-reference
19448 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
19449 (commit version)))
19450 (file-name (git-file-name name version))
19451 (sha256
19452 (base32
19453 "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"))))
19454 (build-system emacs-build-system)
19455 (inputs
19456 `(("scrot" ,scrot)
19457 ("imagemagick" ,imagemagick)
19458 ("gifsicle" ,gifsicle)))
19459 (arguments
19460 `(#:phases
19461 (modify-phases %standard-phases
19462 (add-after 'unpack 'configure
19463 (lambda* (#:key inputs outputs #:allow-other-keys)
19464 (let ((scrot (assoc-ref inputs "scrot"))
19465 (imagemagick (assoc-ref inputs "imagemagick"))
19466 (gifsicle (assoc-ref inputs "gifsicle")))
19467 (make-file-writable "gif-screencast.el")
19468 ;; Specify the absolute file names of the various
19469 ;; programs so that everything works out-of-the-box.
19470 (emacs-substitute-variables
19471 "gif-screencast.el"
19472 ("gif-screencast-program"
19473 (string-append scrot "/bin/scrot"))
19474 ("gif-screencast-convert-program"
19475 (string-append imagemagick "/bin/convert"))
19476 ("gif-screencast-cropping-program"
19477 (string-append imagemagick "/bin/mogrify"))
19478 ("gif-screencast-optimize-program"
19479 (string-append gifsicle "/bin/gifsicle")))))))))
19480 (home-page
19481 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
19482 (synopsis "One-frame-per-action GIF recording")
19483 (description
19484 "Call @code{gif-screencast} to start a recording.
19485 A screenshot is taken for every user action. Call
19486 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
19487 the GIF result.")
19488 (license license:gpl3+)))
19489
19490 (define-public emacs-google-translate
19491 (package
19492 (name "emacs-google-translate")
19493 (version "0.12.0")
19494 (source
19495 (origin
19496 (method git-fetch)
19497 (uri (git-reference
19498 (url "https://github.com/atykhonov/google-translate/")
19499 (commit (string-append "v" version))))
19500 (file-name (git-file-name name version))
19501 (sha256
19502 (base32
19503 "0rwpij2bm8d4jq2w5snkp88mfryplw8166dsrjm407n2p6xr48zx"))))
19504 (build-system emacs-build-system)
19505 (home-page "https://github.com/atykhonov/google-translate")
19506 (synopsis "Emacs interface to Google Translate")
19507 (description
19508 "This package provides an Emacs interface to the Google Translate
19509 on-line service.")
19510 (license license:gpl3+)))
19511
19512 (define-public emacs-helm-company
19513 (package
19514 (name "emacs-helm-company")
19515 (version "0.2.5")
19516 (source
19517 (origin
19518 (method git-fetch)
19519 (uri (git-reference
19520 (url "https://github.com/Sodel-the-Vociferous/helm-company")
19521 (commit (string-append "v" version))))
19522 (file-name (git-file-name name version))
19523 (sha256
19524 (base32
19525 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
19526 (build-system emacs-build-system)
19527 (propagated-inputs
19528 `(("emacs-helm" ,emacs-helm)
19529 ("emacs-company" ,emacs-company)))
19530 (native-inputs
19531 `(("emacs-ert-runner" ,emacs-ert-runner)))
19532 (arguments
19533 `(#:tests? #t
19534 #:test-command '("ert-runner")))
19535 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
19536 (synopsis "Helm interface for company-mode")
19537 (description
19538 "This is a Helm interface to company-mode, a text completion
19539 framework.")
19540 (license license:gpl3+)))
19541
19542 (define-public emacs-helm-descbinds
19543 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
19544 (package
19545 (name "emacs-helm-descbinds")
19546 (version (git-version "1.13" "1" commit))
19547 (source
19548 (origin
19549 (method git-fetch)
19550 (uri (git-reference
19551 (url "https://github.com/emacs-helm/helm-descbinds")
19552 (commit commit)))
19553 (file-name (git-file-name name version))
19554 (sha256
19555 (base32
19556 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
19557 (build-system emacs-build-system)
19558 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
19559 (home-page "https://github.com/emacs-helm/helm-descbinds")
19560 (synopsis "Convenient @code{describe-bindings} with Helm")
19561 (description
19562 "This package is a replacement of @code{describe-bindings} for Helm.
19563 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
19564 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
19565 @code{helm-descbinds}. The bindings are presented in a similar way as
19566 @code{describe-bindings} does, but you can use completion to find the command
19567 you searched for and execute it, or view its documentation.")
19568 (license license:gpl3+))))
19569
19570 (define-public emacs-helm-emms
19571 (let ((commit "37e5aa029abfa5a5c48636314de8157142944fa2"))
19572 (package
19573 (name "emacs-helm-emms")
19574 (version (git-version "1.3" "3" commit))
19575 (source
19576 (origin
19577 (method git-fetch)
19578 (uri (git-reference
19579 (url "https://github.com/emacs-helm/helm-emms")
19580 (commit commit)))
19581 (file-name (git-file-name name version))
19582 (sha256
19583 (base32
19584 "0r1ai6xhzayyik30w2sx9n62bxxwm12vfmjspv0daqif9az8y3vg"))))
19585 (build-system emacs-build-system)
19586 (propagated-inputs
19587 `(("emacs-helm" ,emacs-helm)
19588 ("emacs-emms" ,emacs-emms)))
19589 (home-page
19590 "https://github.com/emacs-helm/helm-emms")
19591 (synopsis "Emms for Helm")
19592 (description "Helm interface for Emms to browse all tracks and all folders
19593 from @code{emms-source-file-default-directory}.")
19594 (license license:gpl3+))))
19595
19596 (define-public emacs-helm-exwm
19597 (package
19598 (name "emacs-helm-exwm")
19599 (version "0.0.2")
19600 (source
19601 (origin
19602 (method git-fetch)
19603 (uri (git-reference
19604 (url "https://github.com/emacs-helm/helm-exwm")
19605 (commit version)))
19606 (file-name (git-file-name name version))
19607 (sha256
19608 (base32 "0g4k01ps14bp2az8v6dcag9llg045k2b4kdis81xx4lvw76znr9v"))))
19609 (build-system emacs-build-system)
19610 (propagated-inputs
19611 `(("emacs-helm" ,emacs-helm)
19612 ("emacs-exwm" ,emacs-exwm)))
19613 (home-page
19614 "https://github.com/emacs-helm/helm-exwm")
19615 (synopsis "Helm for EXWM buffers")
19616 (description
19617 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
19618 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
19619 switch between the various windows of one or several specific applications.
19620 See @code{helm-exwm-switch-browser} for an example.")
19621 (license license:gpl3+)))
19622
19623 (define-public emacs-helm-flycheck
19624 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
19625 (package
19626 (name "emacs-helm-flycheck")
19627 (version (git-version "0.4" "1" commit))
19628 (source
19629 (origin
19630 (method git-fetch)
19631 (uri (git-reference
19632 (url "https://github.com/yasuyk/helm-flycheck")
19633 (commit commit)))
19634 (file-name (git-file-name name version))
19635 (sha256
19636 (base32
19637 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
19638 (build-system emacs-build-system)
19639 (propagated-inputs
19640 `(("emacs-dash" ,emacs-dash)
19641 ("emacs-flycheck" ,emacs-flycheck)
19642 ("emacs-helm" ,emacs-helm)))
19643 (home-page "https://github.com/yasuyk/helm-flycheck")
19644 (synopsis "Show Flycheck errors with Helm")
19645 (description
19646 "This integrates Flycheck with Helm.")
19647 (license license:gpl3+))))
19648
19649 (define-public emacs-helm-ls-git
19650 (let ((commit "4da1a53f2f0a078ee2e896a914a1b19c0bf1d5ed"))
19651 (package
19652 (name "emacs-helm-ls-git")
19653 (version (git-version "1.9.1" "2" commit))
19654 (source
19655 (origin
19656 (method git-fetch)
19657 (uri (git-reference
19658 (url "https://github.com/emacs-helm/helm-ls-git")
19659 (commit commit)))
19660 (file-name (git-file-name name version))
19661 (sha256
19662 (base32
19663 "12fi08w20yjsdfkxl1pk9q4w0z9l92va5fa5ghay9w33xlymc8dc"))))
19664 (build-system emacs-build-system)
19665 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
19666 (home-page "https://github.com/emacs-helm/helm-ls-git")
19667 (synopsis "Helm interface for listing the files in a Git repository")
19668 (description
19669 "This package provides a Helm interface for Git files.
19670 @itemize
19671 @item Display the open buffers in project.
19672 @item Display a status source showing state of project (modified files etc.).
19673 @item Display a list of all files in project under git control.
19674 @item Quickly look at diffs of modified files.
19675 @item Allow switching to @code{git status} with your preferred frontend
19676 (vc-dir, Magit,etc.).
19677 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
19678 can use ack-grep instead of grep).
19679 @item Integrate usage of gid from id-utils.
19680 @item Full integration with @code{helm-find-files}, allow you to browse
19681 projects unrelated to current-buffer.
19682 @item In addition, all actions of type files and buffers are provided.
19683 @end itemize\n")
19684 (license license:gpl3+))))
19685
19686 (define-public emacs-helm-mu
19687 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
19688 (package
19689 (name "emacs-helm-mu")
19690 (version (git-version "20180513" "1" commit))
19691 (source
19692 (origin
19693 (method git-fetch)
19694 (uri (git-reference
19695 (url "https://github.com/emacs-helm/helm-mu")
19696 (commit commit)))
19697 (file-name (git-file-name name version))
19698 (sha256
19699 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
19700 (build-system emacs-build-system)
19701 (propagated-inputs
19702 `(("emacs-helm" ,emacs-helm)
19703 ("mu" ,mu)))
19704 (home-page
19705 "https://github.com/emacs-helm/helm-mu")
19706 (synopsis
19707 "Helm sources for searching emails and contacts")
19708 (description
19709 "Helm sources for searching emails and contacts using @code{mu} and
19710 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
19711 Emacs build on top of mu. Mu is highly efficient making it possible to get
19712 instant results even for huge maildirs. It also provides search operators,
19713 e.g: @code{from:Peter to:Anne flag:attach search term}.")
19714 (license license:gpl3+))))
19715
19716 (define-public emacs-helm-pass
19717 (package
19718 (name "emacs-helm-pass")
19719 (version "0.4")
19720 (source
19721 (origin
19722 (method git-fetch)
19723 (uri (git-reference
19724 (url "https://github.com/emacs-helm/helm-pass")
19725 (commit version)))
19726 (file-name (git-file-name name version))
19727 (sha256
19728 (base32
19729 "19w24isddzamkikq17vbv3y7ha22i7wc09d2nqw1j0qwhrrfkng9"))))
19730 (build-system emacs-build-system)
19731 (propagated-inputs
19732 `(("emacs-helm" ,emacs-helm)
19733 ("emacs-password-store" ,emacs-password-store)))
19734 (home-page "https://github.com/emacs-helm/helm-pass")
19735 (synopsis "Helm interface to pass, the standard Unix password manager")
19736 (description
19737 "Users of @code{helm-pass} may also be interested in functionality
19738 provided by other Emacs packages dealing with pass:
19739 @itemize
19740 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
19741 @item @code{emacs-pass}, a major mode for @code{pass}.
19742 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
19743 @code{pass}, included in Emacs 26+).
19744 @end itemize\n")
19745 (license license:gpl3+)))
19746
19747 (define-public emacs-image+
19748 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
19749 (package
19750 (name "emacs-image+")
19751 (version (git-version "0.6.2" "1" commit))
19752 (source
19753 (origin
19754 (method git-fetch)
19755 (uri (git-reference
19756 (url "https://github.com/mhayashi1120/Emacs-imagex")
19757 (commit commit)))
19758 (file-name (git-file-name name version))
19759 (sha256
19760 (base32
19761 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
19762 (build-system emacs-build-system)
19763 (inputs `(("imagemagick" ,imagemagick)))
19764 (arguments
19765 `(#:phases
19766 (modify-phases %standard-phases
19767 (add-after 'unpack 'configure
19768 (lambda* (#:key inputs outputs #:allow-other-keys)
19769 (let ((imagemagick (assoc-ref inputs "imagemagick")))
19770 ;; Specify the absolute file names of the various
19771 ;; programs so that everything works out-of-the-box.
19772 (chmod "image+.el" #o666)
19773 (emacs-substitute-variables
19774 "image+.el"
19775 ("imagex-convert-command"
19776 (string-append imagemagick "/bin/convert"))
19777 ("imagex-identify-command"
19778 (string-append imagemagick "/bin/identify")))))))))
19779 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
19780 (synopsis "Image manipulation extensions for Emacs")
19781 (description
19782 "Image+ provides keybindings allowing you to zoom in or zoom out of an
19783 image, rotate it, save modified images, and more.")
19784 (license license:gpl3+))))
19785
19786 (define-public emacs-package-lint
19787 ;; The commit below includes a fix for a missing file, "stdlib-changes",
19788 ;; preventing build.
19789 (let ((commit "14c216f4889e71eec2a9da64e36ab8990337e82d")
19790 (version "0.13")
19791 (revision "0"))
19792 (package
19793 (name "emacs-package-lint")
19794 (version (git-version version revision commit))
19795 (source
19796 (origin
19797 (method git-fetch)
19798 (uri (git-reference
19799 (url "https://github.com/purcell/package-lint")
19800 (commit commit)))
19801 (file-name (git-file-name name version))
19802 (sha256
19803 (base32
19804 "1zifiqmpj9j14fnrm3jxapady25m1nlm514nfry0jfrhhikvj6i8"))))
19805 (arguments
19806 '(#:include (cons "^data/" %default-include)))
19807 (build-system emacs-build-system)
19808 (home-page "https://github.com/purcell/package-lint")
19809 (synopsis "Linting library for elisp package authors")
19810 (description
19811 "This provides a list of issues with the Emacs package metadata of a file,
19812 e.g. the package dependencies it requires. See function
19813 @code{package-lint-buffer}. Checks will currently be enabled only if a
19814 \"Package-Requires:\" or \"Package-Version:\" header is present in the
19815 file.")
19816 (license license:gpl3+))))
19817
19818 (define-public emacs-picpocket
19819 (let ((version "40")
19820 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
19821 (package
19822 (name "emacs-picpocket")
19823 (version version)
19824 (source
19825 (origin
19826 (method git-fetch)
19827 (uri (git-reference
19828 (url "https://github.com/johanclaesson/picpocket")
19829 (commit commit)))
19830 (file-name (git-file-name name version))
19831 (sha256
19832 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
19833 (build-system emacs-build-system)
19834 (arguments ; needed for running tests
19835 `(#:tests? #t
19836 #:emacs ,emacs
19837 #:test-command '("emacs" "--batch"
19838 "-l" "picpocket-test.el"
19839 "-f" "ert-run-tests-batch-and-exit")))
19840 (home-page "https://github.com/johanclaesson/picpocket")
19841 (synopsis "Image viewer for Emacs")
19842 (description
19843 "Picpocket is an image viewer for GNU Emacs. It has commands for:
19844
19845 @itemize
19846 @item File operations on the picture files (delete, move, copy, hardlink).
19847 @item Scale and rotate the picture.
19848 @item Associate pictures with tags which are saved to disk.
19849 @item Filter pictures according to tags.
19850 @item Customizing keystrokes for quick tagging and file operations.
19851 @item Undo and browse history of undoable commands.
19852 @end itemize")
19853 (license license:gpl3+))))
19854
19855 (define-public emacs-mu4e-conversation
19856 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
19857 (revision "5"))
19858 (package
19859 (name "emacs-mu4e-conversation")
19860 (version (git-version "0.0.1" revision commit))
19861 (source
19862 (origin
19863 (method git-fetch)
19864 (uri (git-reference
19865 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
19866 (commit commit)))
19867 (file-name (git-file-name name version))
19868 (sha256
19869 (base32
19870 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
19871 (build-system emacs-build-system)
19872 (propagated-inputs
19873 `(("mu" ,mu)))
19874 (home-page
19875 "https://gitlab.com/Ambrevar/mu4e-conversation")
19876 (synopsis
19877 "Show a complete thread in a single buffer")
19878 (description
19879 "This package offers an alternate view to mu4e's e-mail display. It
19880 shows all e-mails of a thread in a single view, where each correspondent has
19881 their own face. Threads can be displayed linearly (in which case e-mails are
19882 displayed in chronological order) or as an Org document where the node tree
19883 maps the thread tree.")
19884 (license license:gpl3+))))
19885
19886 (define-public emacs-pinentry
19887 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
19888 (revision "1"))
19889 (package
19890 (name "emacs-pinentry")
19891 (version (git-version "0.1" revision commit))
19892 (source
19893 (origin
19894 (method url-fetch)
19895 (uri (string-append
19896 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
19897 "/packages/pinentry/pinentry.el?id=" commit))
19898 (file-name (string-append "pinentry.el"))
19899 (sha256
19900 (base32
19901 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
19902 (build-system emacs-build-system)
19903 (propagated-inputs
19904 `(("gnupg" ,gnupg)))
19905 (home-page "https://elpa.gnu.org/packages/pinentry.html")
19906 (synopsis "GnuPG Pinentry server implementation")
19907 (description
19908 "This package allows GnuPG passphrase to be prompted through the
19909 minibuffer instead of graphical dialog.
19910
19911 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
19912 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
19913 server with @code{M-x pinentry-start}.")
19914 (license license:gpl3+))))
19915
19916 (define-public emacs-so-long
19917 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
19918 (revision "2"))
19919 (package
19920 (name "emacs-so-long")
19921 (version (git-version "1.0" revision commit))
19922 (source
19923 (origin
19924 (method git-fetch)
19925 (uri (git-reference
19926 (url "https://git.savannah.gnu.org/git/so-long.git")
19927 (commit commit)))
19928 (file-name (git-file-name name version))
19929 (sha256
19930 (base32
19931 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
19932 (build-system emacs-build-system)
19933 (home-page "https://www.emacswiki.org/emacs/SoLong")
19934 (synopsis "Improve performance in files with long lines")
19935 (description "This package improves the performance of Emacs when
19936 viewing files with long lines. It is included as standard with Emacs 27 or
19937 later.")
19938 (license license:gpl3+))))
19939
19940 (define-public emacs-github-review
19941 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
19942 (revision "2"))
19943 (package
19944 (name "emacs-github-review")
19945 (version (git-version "0.1" revision commit))
19946 (source
19947 (origin
19948 (method git-fetch)
19949 (uri (git-reference
19950 (url "https://github.com/charignon/github-review")
19951 (commit commit)))
19952 (file-name (git-file-name name version))
19953 (sha256
19954 (base32
19955 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
19956 (build-system emacs-build-system)
19957 (inputs
19958 `(("emacs-dash" ,emacs-dash)
19959 ("emacs-s" ,emacs-s)
19960 ("emacs-ghub" ,emacs-ghub)))
19961 (native-inputs
19962 `(("emacs-buttercup" ,emacs-buttercup)
19963 ("emacs-undercover" ,emacs-undercover)))
19964 (arguments
19965 `(#:tests? #t
19966 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
19967 (home-page "https://github.com/charignon/github-review")
19968 (synopsis "Review GitHub pull requests within Emacs")
19969 (description "This package provides commands to pull in, comment on, and
19970 accept and reject GitHub pull requests.")
19971 (license license:gpl3+))))
19972
19973 (define-public emacs-deadgrep
19974 (let ((commit "7e50e71c6ff4e17dded43e0836dae4e5ec020fcf")
19975 (revision "1"))
19976 (package
19977 (name "emacs-deadgrep")
19978 (version (git-version "0.10" revision commit))
19979 (source
19980 (origin
19981 (method git-fetch)
19982 (uri (git-reference
19983 (url "https://github.com/Wilfred/deadgrep")
19984 (commit commit)))
19985 (file-name (git-file-name name version))
19986 (sha256
19987 (base32
19988 "1vjhrq02l8gvdn2haygzq7277hnhjchs9xrfpcnh76gqip200gx4"))))
19989 (build-system emacs-build-system)
19990 (propagated-inputs
19991 `(("emacs-dash" ,emacs-dash)
19992 ("emacs-s" ,emacs-s)
19993 ("emacs-spinner" ,emacs-spinner)))
19994 (home-page "https://github.com/Wilfred/deadgrep")
19995 (synopsis "Frontend for @code{ripgrep}")
19996 (description "This package provides an Emacs interface for performing
19997 searches with @code{ripgrep}.")
19998 (license license:gpl3+))))
19999
20000 (define-public emacs-focus
20001 (let ((commit "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0")
20002 (version "1.0.0")
20003 (revision "1"))
20004 (package
20005 (name "emacs-focus")
20006 (version (git-version version revision commit))
20007 (source
20008 (origin
20009 (method git-fetch)
20010 (uri (git-reference
20011 (url "https://github.com/larstvei/Focus")
20012 (commit commit)))
20013 (file-name (git-file-name name version))
20014 (sha256
20015 (base32
20016 "0a55i4bychfnnzjg67a9h4j130hchcg44446dwwx1l1h48i692dw"))))
20017 (build-system emacs-build-system)
20018 (home-page "https://github.com/larstvei/Focus")
20019 (synopsis "Minor mode for focusing in on relevant text")
20020 (description "This package provides a minor mode that dims the color of
20021 text in neighboring sections.")
20022 (license license:gpl3+))))
20023
20024 (define-public emacs-pandoc-mode
20025 (package
20026 (name "emacs-pandoc-mode")
20027 (version "2.30.1")
20028 (source
20029 (origin
20030 (method git-fetch)
20031 (uri (git-reference
20032 (url "https://github.com/joostkremers/pandoc-mode")
20033 (commit version)))
20034 (file-name (git-file-name name version))
20035 (sha256
20036 (base32
20037 "1k31pkvd9m798i6phcr0y3wd34fgq6ii41hx3lszmikvxb1yvm2y"))))
20038 (build-system emacs-build-system)
20039 (propagated-inputs
20040 `(("emacs-dash" ,emacs-dash)
20041 ("emacs-hydra" ,emacs-hydra)))
20042 (home-page "https://github.com/joostkremers/pandoc-mode")
20043 (synopsis "Minor mode for interacting with Pandoc")
20044 (description "This package provides a Hydra menu for interacting with the
20045 Pandoc, the document-conversion tool.")
20046 (license license:bsd-3)))
20047
20048 (define-public emacs-hlint-refactor-mode
20049 (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
20050 (revision "1"))
20051 (package
20052 (name "emacs-hlint-refactor-mode")
20053 (version (git-version "0.0.1" revision commit))
20054 (source
20055 (origin
20056 (method git-fetch)
20057 (uri (git-reference
20058 (url "https://github.com/mpickering/hlint-refactor-mode")
20059 (commit commit)))
20060 (file-name (git-file-name name version))
20061 (sha256
20062 (base32
20063 "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"))))
20064 (build-system emacs-build-system)
20065 (propagated-inputs
20066 `(("apply-refact" ,apply-refact)
20067 ("hlint" ,hlint)))
20068 (home-page "https://github.com/mpickering/hlint-refactor-mode")
20069 (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option")
20070 (description "This package applies refactoring suggestions from
20071 @code{hlint}.")
20072 (license license:expat))))
20073
20074 (define-public emacs-ccls
20075 (let ((commit "675a5704c14a27931e835a431beea3631d92e8e6")
20076 (revision "5"))
20077 (package
20078 (name "emacs-ccls")
20079 (version (git-version "0.1" revision commit))
20080 (source
20081 (origin
20082 (method git-fetch)
20083 (uri (git-reference
20084 (url "https://github.com/MaskRay/emacs-ccls")
20085 (commit commit)))
20086 (file-name (git-file-name name version))
20087 (sha256
20088 (base32
20089 "0l4bhyr9d8ljz1f0cfg1s2cjcmh6fiwbk5mdlvc7rrwz5hxc21is"))))
20090 (build-system emacs-build-system)
20091 (propagated-inputs
20092 `(("ccls" ,ccls)
20093 ("emacs-dash" ,emacs-dash)
20094 ("emacs-lsp-mode" ,emacs-lsp-mode)))
20095 (home-page "https://github.com/MaskRay/emacs-ccls")
20096 (synopsis "Emacs support for the @code{ccls} language server")
20097 (description "This package extends @code{lsp-mode} to work with @code{C}
20098 and @code{C++} files through the @code{ccls} language server.")
20099 (license license:expat))))
20100
20101 (define-public emacs-org-brain
20102 (package
20103 (name "emacs-org-brain")
20104 (version "0.5")
20105 (source
20106 (origin
20107 (method git-fetch)
20108 (uri (git-reference
20109 (url "https://github.com/Kungsgeten/org-brain")
20110 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
20111 (file-name (git-file-name name version))
20112 (sha256
20113 (base32
20114 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
20115 (build-system emacs-build-system)
20116 (home-page "https://github.com/Kungsgeten/org-brain")
20117 (synopsis "Org-mode wiki and concept-mapping for Emacs")
20118 (description "@code{emacs-org-brain} implements a variant of concept
20119 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
20120 org-mode entries, where each entry is a file or a headline, and you can get a
20121 visual overview of the relationships between the entries: parents, children,
20122 siblings and friends. This visual overview can also be used to browse your
20123 entries. You can think of entries as nodes in a mind map, or pages in a
20124 wiki.")
20125 (license license:expat)))
20126
20127 (define-public emacs-recent-addresses
20128 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
20129 (revision "1"))
20130 (package
20131 (name "emacs-recent-addresses")
20132 (home-page "https://nschum.de/src/emacs/recent-addresses/")
20133 (version (git-version "0.1" revision commit))
20134 (source (origin
20135 (method git-fetch)
20136 (uri (git-reference
20137 ;; Note: Use a branch that works with Helm. Submitted
20138 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
20139 (url "https://github.com/civodul/recent-addresses.el")
20140 (commit commit)))
20141 (sha256
20142 (base32
20143 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
20144 (file-name (git-file-name name version))))
20145 (build-system emacs-build-system)
20146 (synopsis "Record recently-used email addressed and auto-complete them")
20147 (description
20148 "@code{recent-addresses} is an Emacs package that allows you to quickly
20149 look up previously used email addresses. It can be used alongside the Gnus
20150 email client.")
20151 (license license:gpl2+))))
20152
20153 (define-public emacs-fold-dwim
20154 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
20155 (revision "0"))
20156 (package
20157 (name "emacs-fold-dwim")
20158 (version (git-version "1.2" revision commit))
20159 (home-page "https://github.com/emacsattic/fold-dwim")
20160 (source (origin
20161 (method git-fetch)
20162 (uri (git-reference (url home-page) (commit commit)))
20163 (sha256
20164 (base32
20165 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
20166 (file-name (git-file-name name version))))
20167 (build-system emacs-build-system)
20168 (synopsis "Unified user interface for Emacs folding modes")
20169 (description
20170 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
20171 can do different things depending on the context. In this package, it means
20172 that, if the cursor is in a currently hidden folded construction, we want to
20173 show it; if it's not, we want to hide whatever fold the cursor is in.")
20174 (license license:gpl2+))))
20175
20176 (define-public emacs-markup-faces
20177 (package
20178 (name "emacs-markup-faces")
20179 (version "1.0.0")
20180 (source
20181 (origin
20182 (method url-fetch)
20183 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
20184 version ".el"))
20185 (sha256
20186 (base32
20187 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
20188 (build-system emacs-build-system)
20189 (home-page "https://github.com/sensorflo/markup-faces")
20190 (synopsis "Collection of Emacs faces for markup language modes")
20191 (description "emacs-markup-faces is like font-lock-faces, but tailored for
20192 markup languages instead programming languages. The sub group markup-faces-text
20193 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
20194 common look and feel, or let's say theme, across different markup language modes
20195 and 'text viewing modes' respectively.")
20196 (license license:gpl3+)))
20197
20198 (define-public emacs-adoc-mode
20199 (package
20200 (name "emacs-adoc-mode")
20201 (version "0.6.6")
20202 (source
20203 (origin
20204 (method git-fetch)
20205 (uri (git-reference
20206 (url "https://github.com/sensorflo/adoc-mode")
20207 (commit (string-append "V" version))))
20208 (file-name (git-file-name name version))
20209 (sha256
20210 (base32
20211 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
20212 (build-system emacs-build-system)
20213 (arguments
20214 `(#:phases
20215 (modify-phases %standard-phases
20216 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
20217 (add-after 'unpack 'disable-failing-tests
20218 (lambda _
20219 (let-syntax
20220 ((disable-tests
20221 (syntax-rules ()
20222 ((_ file ())
20223 (syntax-error "test names list must not be empty"))
20224 ((_ file (test-name ...))
20225 (substitute* file
20226 (((string-append "^\\(ert-deftest " test-name ".*") all)
20227 (string-append all "(skip-unless nil)\n")) ...)))))
20228 (disable-tests "adoc-mode-test.el"
20229 ("adoctest-test-tempo-delimited-blocks"
20230 "adoctest-test-tempo-macros"
20231 "adoctest-test-tempo-paragraphs"
20232 "adoctest-test-tempo-passthroug-macros"
20233 "adoctest-test-tempo-quotes")))
20234 #t)))
20235 #:tests? #t
20236 #:test-command '("emacs" "-Q" "-batch"
20237 "-l" "adoc-mode-test.el"
20238 "-f" "ert-run-tests-batch-and-exit")))
20239 (propagated-inputs
20240 `(("emacs-markup-faces" ,emacs-markup-faces)))
20241 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
20242 (synopsis "AsciiDoc mode for Emacs")
20243 (description "This package provides an Emacs major mode for editing AsciiDoc
20244 files. It focuses on highlighting the document to improve readability.")
20245 (license license:gpl2+)))
20246
20247 (define-public emacs-racer
20248 (package
20249 (name "emacs-racer")
20250 (version "1.2")
20251 (source
20252 (origin
20253 (method git-fetch)
20254 (uri
20255 (git-reference
20256 (url "https://github.com/racer-rust/emacs-racer")
20257 (commit version)))
20258 (file-name (git-file-name name version))
20259 (sha256
20260 (base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6"))))
20261 (arguments
20262 `(#:tests? #t
20263 #:test-command '("make" "test")
20264 #:phases
20265 (modify-phases %standard-phases
20266 (add-before 'check 'fix-makefile
20267 (lambda _
20268 (substitute* "Makefile"
20269 (("\\$\\{CASK\\} exec ") ""))
20270 #t))
20271 ;; Two tests are failing with Emacs 27, as reported here:
20272 ;; <https://github.com/racer-rust/emacs-racer/issues/136>. Disable
20273 ;; them.
20274 (add-before 'check 'fix-failing-tests
20275 (lambda _
20276 (substitute* "test/racer-test.el"
20277 (("`Write`") "Write")
20278 (("^\\\\\\[`str\\]:.*") "")
20279 ((" \\[`str`\\]") " str"))
20280 #t)))))
20281 (native-inputs
20282 `(("emacs-ert-runner" ,emacs-ert-runner)
20283 ("emacs-undercover" ,emacs-undercover)))
20284 (propagated-inputs
20285 `(("emacs-dash" ,emacs-dash)
20286 ("emacs-f" ,emacs-f)
20287 ("emacs-pos-tip" ,emacs-pos-tip)
20288 ("emacs-rust-mode" ,emacs-rust-mode)
20289 ("emacs-s" ,emacs-s)))
20290 (build-system emacs-build-system)
20291 (home-page "https://github.com/racer-rust/emacs-racer")
20292 (synopsis "Racer support for Emacs")
20293 (description
20294 "This is the official Emacs package for Racer. It supports code
20295 completion of variables, functions and modules. It can also jump to
20296 definition of functions and types, and show a help buffer based on the
20297 docstring of the thing at point.")
20298 (license license:expat)))
20299
20300 (define-public emacs-rust-mode
20301 (package
20302 (name "emacs-rust-mode")
20303 (version "0.5.0")
20304 (source (origin
20305 (method git-fetch)
20306 (uri (git-reference
20307 (url "https://github.com/rust-lang/rust-mode")
20308 (commit version)))
20309 (file-name (git-file-name name version))
20310 (sha256
20311 (base32
20312 "1f3nnl0d7p9b5cv1bpm0hj898qmr2psxfvmqr61bh684z7fgc045"))))
20313 (build-system emacs-build-system)
20314 (arguments
20315 `(#:phases
20316 (modify-phases %standard-phases
20317 (replace 'check
20318 (lambda _
20319 (invoke "sh" "run_rust_emacs_tests.sh"))))))
20320 (home-page "https://github.com/rust-lang/rust-mode")
20321 (synopsis "Major Emacs mode for editing Rust source code")
20322 (description "This package provides a major Emacs mode for editing Rust
20323 source code.")
20324 (license (list license:expat
20325 license:asl2.0))))
20326
20327 (define-public emacs-ztree
20328 ;; Upstream provides no tag, but the commit below matches latest release.
20329 (let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))
20330 (package
20331 (name "emacs-ztree")
20332 (version "1.0.6")
20333 (source
20334 (origin
20335 (method git-fetch)
20336 (uri (git-reference
20337 (url "https://github.com/fourier/ztree")
20338 (commit commit)))
20339 (file-name (git-file-name name version))
20340 (sha256
20341 (base32
20342 "03i5pa3nfdz6g0yrdk7r2qcn679w0s85cc5kcmgrwlnhdzakgr80"))))
20343 (build-system emacs-build-system)
20344 (home-page "https://github.com/fourier/ztree")
20345 (synopsis "Directory tree comparison mode for Emacs")
20346 (description "Ztree is a project dedicated to implementation of several
20347 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
20348 @command{ztree-diff} and @command{ztree-dir} (the basis of
20349 @command{ztree-diff}).")
20350 (license license:gpl3))))
20351
20352 (define-public emacs-helm-org-contacts
20353 (let ((commit "e7f11615802df55bb8b679450b5a5ef82a9081f9"))
20354 (package
20355 (name "emacs-helm-org-contacts")
20356 (version (git-version "20200310" "1" commit))
20357 (source
20358 (origin
20359 (method git-fetch)
20360 (uri (git-reference
20361 (url "https://github.com/tmalsburg/helm-org-contacts")
20362 (commit commit)))
20363 (file-name (git-file-name name version))
20364 (sha256
20365 (base32
20366 "06a1gbrq3qcfsn0kyv4i24x1xxfrrwqa3kgfj4xa4va88q2vqyb5"))))
20367 (build-system emacs-build-system)
20368 (propagated-inputs
20369 `(("emacs-dash" ,emacs-dash)
20370 ("emacs-helm" ,emacs-helm)
20371 ("emacs-s" ,emacs-s)))
20372 (home-page "https://github.com/tmalsburg/helm-org-contacts")
20373 (synopsis "Helm source for org-contacts")
20374 (description "This Helm source can be used to search contacts stored in
20375 org-contacts format. There are actions for inserting postal addresses, email
20376 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
20377 was called.")
20378 (license license:gpl3))))
20379
20380 (define-public emacs-dired-du
20381 (package
20382 (name "emacs-dired-du")
20383 (version "0.5.2")
20384 (source
20385 (origin
20386 (method url-fetch)
20387 (uri (string-append
20388 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
20389 (sha256
20390 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
20391 (build-system emacs-build-system)
20392 (home-page "https://elpa.gnu.org/packages/dired-du.html")
20393 (synopsis "Dired with recursive directory sizes")
20394 (description
20395 "Display the recursive size of directories in Dired.
20396 This file defines a minor mode @command{dired-du-mode} to show the recursive
20397 size of directories in Dired buffers. If @command{du} program is available,
20398 then the directory sizes are obtained with it. Otherwise, the directory sizes
20399 are obtained with Lisp. The former is faster and provide a more precise
20400 value. For directories where the user doesn't have read permission, the
20401 recursive size is not obtained. Once this mode is enabled, every new Dired
20402 buffer displays recursive dir sizes.")
20403 (license license:gpl3+)))
20404
20405 (define-public emacs-dired-rsync
20406 (package
20407 (name "emacs-dired-rsync")
20408 (version "0.6")
20409 (source (origin
20410 (method git-fetch)
20411 (uri (git-reference
20412 (url "https://github.com/stsquad/dired-rsync")
20413 (commit version)))
20414 (file-name (git-file-name name version))
20415 (sha256
20416 (base32
20417 "19za6i96xrmczdh928n5ixd7j7pvy175sz1msaiwvdjwysjr8k51"))))
20418 (build-system emacs-build-system)
20419 (propagated-inputs
20420 `(("emacs-s" ,emacs-s)
20421 ("emacs-dash" ,emacs-dash)))
20422 (home-page "https://github.com/stsquad/dired-rsync/")
20423 (synopsis "Support for rsync from Emacs dired buffers")
20424 (description "This package adds a single command @code{dired-rsync} which
20425 allows the user to copy marked files in a dired buffer via @code{rsync}. This
20426 is useful, especially for large files, because the copy happens in the
20427 background and doesn’t lock up Emacs. It is also more efficient than using
20428 tramps own encoding methods for moving data between systems.")
20429 (license license:gpl3+)))
20430
20431 (define-public emacs-pcre2el
20432 ;; Last release is very old so we get the latest commit.
20433 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
20434 (package
20435 (name "emacs-pcre2el")
20436 (version (git-version "1.8" "1" commit))
20437 (source
20438 (origin
20439 (method git-fetch)
20440 (uri (git-reference
20441 (url "https://github.com/joddie/pcre2el")
20442 (commit commit)))
20443 (file-name (git-file-name name version))
20444 (sha256
20445 (base32
20446 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
20447 (build-system emacs-build-system)
20448 (home-page "https://github.com/joddie/pcre2el")
20449 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
20450 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
20451 Tools) is a utility for working with regular expressions in Emacs, based on a
20452 recursive-descent parser for regexp syntax. In addition to converting (a
20453 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
20454
20455 @itemize
20456 @item convert Emacs syntax to PCRE
20457 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
20458 @item untangle complex regexps by showing the parse tree in @code{rx} form and
20459 highlighting the corresponding chunks of code
20460 @item show the complete list of strings (productions) matching a regexp,
20461 provided the list is finite
20462 @item provide live font-locking of regexp syntax (so far only for Elisp
20463 buffers – other modes on the TODO list).
20464 @end itemize\n")
20465 (license license:gpl3))))
20466
20467 (define-public emacs-magit-todos
20468 (package
20469 (name "emacs-magit-todos")
20470 (version "1.5.3")
20471 (source
20472 (origin
20473 (method git-fetch)
20474 (uri (git-reference
20475 (url "https://github.com/alphapapa/magit-todos")
20476 (commit version)))
20477 (file-name (git-file-name name version))
20478 (sha256
20479 (base32
20480 "12ay02vk6bk77k33mhlqi41m03a77y80b15rj1dbh1n6jfrjwkfy"))))
20481 (build-system emacs-build-system)
20482 (propagated-inputs
20483 `(("emacs-async" ,emacs-async)
20484 ("emacs-dash" ,emacs-dash)
20485 ("emacs-f" ,emacs-f)
20486 ("emacs-hl-todo" ,emacs-hl-todo)
20487 ("magit" ,emacs-magit)
20488 ("emacs-pcre2el" ,emacs-pcre2el)
20489 ("emacs-s" ,emacs-s)))
20490 (home-page "https://github.com/alphapapa/magit-todos")
20491 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
20492 (description "This package displays keyword entries from source code
20493 comments and Org files in the Magit status buffer. Activating an item jumps
20494 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
20495 few (like NOTE).")
20496 (license license:gpl3)))
20497
20498 (define-public emacs-git-annex
20499 ;; Unreleased version has a fontification fix.
20500 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
20501 (revision "2"))
20502 (package
20503 (name "emacs-git-annex")
20504 (version (git-version "1.1" revision commit))
20505 (source
20506 (origin
20507 (method git-fetch)
20508 (uri (git-reference
20509 (url "https://github.com/jwiegley/git-annex-el")
20510 (commit commit)))
20511 (file-name (git-file-name name version))
20512 (sha256
20513 (base32
20514 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
20515 (build-system emacs-build-system)
20516 (home-page "https://github.com/jwiegley/git-annex-el")
20517 (synopsis "Emacs integration for git-annex")
20518 (description "Enhances Dired and buffers visiting annex files with
20519 git-annex functionality. In Dired, the names of annex files are shortened by
20520 hiding the symbolic links and fontified based on whether content is present.
20521 Commands for performing some common operations (e.g., unlocking and adding
20522 files) are provided.")
20523 (license license:gpl2+))))
20524
20525 (define-public emacs-hackernews
20526 (package
20527 (name "emacs-hackernews")
20528 (version "0.6.1")
20529 (source
20530 (origin
20531 (method git-fetch)
20532 (uri (git-reference
20533 (url "https://github.com/clarete/hackernews.el")
20534 (commit (string-append "v" version))))
20535 (file-name (git-file-name name version))
20536 (sha256
20537 (base32
20538 "17lkjcka6ydd6khhz5jbjlybfpx05153z0d8s1rxaxcwl7z2y6cf"))))
20539 (build-system emacs-build-system)
20540 (home-page "https://github.com/clarete/hackernews.el")
20541 (synopsis "Hacker News client for Emacs")
20542 (description "The @command{hackernews} package is able to fetch stories
20543 from six different Hacker News feeds, namely top, new, best, ask, show and job
20544 stories. The default feed is top stories, which corresponds to the Hacker
20545 News homepage.")
20546 (license license:gpl3)))
20547
20548 (define-public emacs-youtube-dl
20549 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
20550 (revision "2"))
20551 (package
20552 (name "emacs-youtube-dl")
20553 (version (git-version "1.0" "2" commit))
20554 (source
20555 (origin
20556 (method git-fetch)
20557 (uri (git-reference
20558 (url "https://github.com/skeeto/youtube-dl-emacs/")
20559 (commit commit)))
20560 (file-name (git-file-name name version))
20561 (sha256
20562 (base32
20563 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
20564 (build-system emacs-build-system)
20565 (inputs
20566 `(("youtube-dl" ,youtube-dl)))
20567 (arguments
20568 `(#:phases
20569 (modify-phases %standard-phases
20570 (add-after 'unpack 'configure
20571 (lambda* (#:key inputs #:allow-other-keys)
20572 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
20573 ;; .el is read-only in git.
20574 (chmod "youtube-dl.el" #o644)
20575 ;; Specify the absolute file names of the various
20576 ;; programs so that everything works out-of-the-box.
20577 (emacs-substitute-variables
20578 "youtube-dl.el"
20579 ("youtube-dl-program"
20580 (string-append youtube-dl "/bin/youtube-dl")))))))))
20581 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
20582 (synopsis "Emacs youtube-dl download manager")
20583 (description "This package manages a video download queue for
20584 @command{youtube-dl}, which serves as the back end. It manages a single
20585 @command{youtube-dl} subprocess, downloading one video at a time. New videos
20586 can be queued at any time.")
20587 (license license:unlicense))))
20588
20589 (define-public emacs-ytdl
20590 (package
20591 (name "emacs-ytdl")
20592 (version "1.3.5")
20593 (source
20594 (origin
20595 (method git-fetch)
20596 (uri (git-reference
20597 (url "https://gitlab.com/tuedachu/ytdl")
20598 (commit version)))
20599 (file-name (git-file-name name version))
20600 (sha256
20601 (base32 "1xv93ny942gha1ipic5r6z4icjsb7src7ssdck9983kks3zacjk7"))))
20602 (build-system emacs-build-system)
20603 (inputs
20604 `(("youtube-dl" ,youtube-dl)))
20605 (propagated-inputs
20606 `(("async" ,emacs-async)
20607 ("transient" ,emacs-transient)))
20608 (arguments
20609 `(#:phases
20610 (modify-phases %standard-phases
20611 (add-after 'unpack 'configure
20612 (lambda* (#:key inputs #:allow-other-keys)
20613 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
20614 ;; .el is read-only in git.
20615 (make-file-writable "ytdl.el")
20616 ;; Specify the absolute file names of the various programs so
20617 ;; that everything works out-of-the-box.
20618 (emacs-substitute-variables "ytdl.el"
20619 ("ytdl-command" (string-append youtube-dl "/bin/youtube-dl")))
20620 #t))))))
20621 (home-page "https://gitlab.com/tuedachu/ytdl")
20622 (synopsis "Emacs interface for youtube-dl")
20623 (description
20624 "This package manages a video download queue for @command{youtube-dl},
20625 which serves as the back end. New videos can be queued at any time. All
20626 youtube-dl backends are supported. It is possible to create download profiles
20627 depending on the downloaded URL.")
20628 (license license:gpl3+)))
20629
20630 (define-public emacs-org-web-tools
20631 (package
20632 (name "emacs-org-web-tools")
20633 (version "1.1.1")
20634 (source
20635 (origin
20636 (method git-fetch)
20637 (uri (git-reference
20638 (url "https://github.com/alphapapa/org-web-tools")
20639 (commit version)))
20640 (file-name (git-file-name name version))
20641 (sha256
20642 (base32
20643 "0v4qad54r0z7dr7kg5lpfdsazi44qvrbybx9aciyl4w9grfajphb"))))
20644 (build-system emacs-build-system)
20645 (propagated-inputs
20646 `(("emacs-dash" ,emacs-dash)
20647 ("emacs-esxml" ,emacs-esxml)
20648 ("emacs-request" ,emacs-request)
20649 ("emacs-s" ,emacs-s)))
20650 (inputs
20651 `(("pandoc" ,pandoc)))
20652 (arguments
20653 `(#:phases
20654 (modify-phases %standard-phases
20655 (add-after 'unpack 'patch-exec-paths
20656 (lambda* (#:key inputs #:allow-other-keys)
20657 (let ((pandoc (assoc-ref inputs "pandoc")))
20658 (substitute* "org-web-tools.el"
20659 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
20660 #t))))))
20661 (home-page "https://github.com/alphapapa/org-web-tools")
20662 (synopsis "Display/Process web page as Org-mode content")
20663 (description "This package contains library functions and commands useful
20664 for retrieving web page content and processing it into Org-mode content.
20665
20666 For example, you can copy a URL to the clipboard or kill-ring, then run a
20667 command that downloads the page, isolates the “readable” content with
20668 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
20669 displays it in an Org-mode buffer. Another command does all of that but
20670 inserts it as an Org entry instead of displaying it in a new buffer.")
20671 (license license:gpl3+)))
20672
20673 (define-public emacs-blimp
20674 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
20675 (package
20676 (name "emacs-blimp")
20677 (version (git-version "0.0.0" "1" commit))
20678 (source
20679 (origin
20680 (method git-fetch)
20681 (uri (git-reference
20682 (url "https://github.com/walseb/blimp")
20683 (commit commit)))
20684 (file-name (git-file-name name version))
20685 (sha256
20686 (base32
20687 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
20688 (build-system emacs-build-system)
20689 (propagated-inputs
20690 `(("emacs-eimp" ,emacs-eimp)))
20691 (home-page "https://github.com/walseb/blimp")
20692 (synopsis "Emacs wrapper around all Imagemagick commands")
20693 (description "Blimp (Bustling Image Manipulation Package) is a complete
20694 wrapper around all Imagemagick commands with descriptions, autocompletion (for
20695 some commands) and hints displayed in prompt using @command{eimp.el} to
20696 execute its commands and resize images.")
20697 (license license:gpl3+))))
20698
20699 (define-public emacs-synosaurus
20700 (package
20701 (name "emacs-synosaurus")
20702 (version "0.2.0")
20703 (source
20704 (origin
20705 (method git-fetch)
20706 (uri (git-reference
20707 (url "https://github.com/hpdeifel/synosaurus")
20708 (commit (string-append "v" version))))
20709 (file-name (git-file-name name version))
20710 (sha256
20711 (base32
20712 "14dd6p89pmpf1w3nx4f9mzm4sn2b64nicws436ck7pmp223pwciv"))))
20713 (build-system emacs-build-system)
20714 (propagated-inputs
20715 `(("wordnet" ,wordnet)))
20716 (arguments
20717 `(#:phases
20718 (modify-phases %standard-phases
20719 (add-after 'unpack 'configure
20720 (lambda* (#:key inputs outputs #:allow-other-keys)
20721 (let ((wn (assoc-ref inputs "wordnet")))
20722 ;; .el is read-only in git.
20723 (make-file-writable "synosaurus-wordnet.el")
20724 ;; Specify the absolute file names of the various
20725 ;; programs so that everything works out-of-the-box.
20726 (emacs-substitute-variables "synosaurus-wordnet.el"
20727 ("synosaurus-wordnet--command"
20728 (string-append wn "/bin/wn")))))))))
20729 (home-page "https://github.com/hpdeifel/synosaurus")
20730 (synopsis "Extensible thesaurus mode for Emacs")
20731 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
20732 backends, including the @command{wordnet} offline backend.")
20733 (license license:gpl3+)))
20734
20735 (define-public emacs-editorconfig
20736 (package
20737 (name "emacs-editorconfig")
20738 (version "0.8.1")
20739 (source
20740 (origin
20741 (method git-fetch)
20742 (uri (git-reference
20743 (url "https://github.com/editorconfig/editorconfig-emacs")
20744 (commit (string-append "v" version))))
20745 (file-name (git-file-name name version))
20746 (sha256
20747 (base32
20748 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
20749 (build-system emacs-build-system)
20750 (home-page "https://github.com/editorconfig/editorconfig-emacs")
20751 (synopsis "Define and maintain consistent coding styles between different
20752 editors and IDEs")
20753 (description "The EditorConfig project consists of a file format for
20754 defining coding styles and a collection of text editor plugins that enable
20755 editors to read the file format and adhere to defined styles. EditorConfig
20756 files are easily readable and they work nicely with version control systems.")
20757 (license license:gpl3+)))
20758
20759 (define-public emacs-all-the-icons
20760 (package
20761 (name "emacs-all-the-icons")
20762 (version "4.0.1")
20763 (source
20764 (origin
20765 (method git-fetch)
20766 (uri (git-reference
20767 (url "https://github.com/domtronn/all-the-icons.el")
20768 (commit version)))
20769 (file-name (git-file-name name version))
20770 (sha256
20771 (base32 "0yh7gnv9xfqn8q4rzaa6wpyn9575vyfxy7d3afly2mqsb367fgm5"))))
20772 (build-system emacs-build-system)
20773 (arguments
20774 `(#:include '("\\.el$" "^data/" "^fonts/")
20775 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
20776 ;; all-the-icons--root-code". Ignoring tests.
20777 #:exclude '("^test/")
20778 #:tests? #f))
20779 (propagated-inputs
20780 `(("f" ,emacs-f)
20781 ("memoize" ,emacs-memoize)))
20782 (home-page "https://github.com/domtronn/all-the-icons.el")
20783 (synopsis "Collect icon fonts and propertize them within Emacs")
20784 (description
20785 "All-the-icons is a utility package to collect various icon fonts and
20786 propertize them within Emacs. Icon fonts allow you to propertize and format
20787 icons the same way you would normal text. This enables things such as better
20788 scaling of and anti aliasing of the icons.")
20789 ;; Package is released under Expat license. Elisp files are licensed
20790 ;; under GPL3+. Fonts come with various licenses: Expat for
20791 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
20792 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
20793 ;; "ocitcons.ttf" and "weathericons.ttf".
20794 (license
20795 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
20796
20797 (define-public emacs-wttrin
20798 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
20799 (revision "1"))
20800 (package
20801 (name "emacs-wttrin")
20802 (version (git-version "0.2.0" revision commit))
20803 (source (origin
20804 (method git-fetch)
20805 (uri (git-reference
20806 (url "https://github.com/bcbcarl/emacs-wttrin")
20807 (commit commit)))
20808 (file-name (git-file-name name version))
20809 (sha256
20810 (base32
20811 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
20812 (build-system emacs-build-system)
20813 (propagated-inputs
20814 `(("emacs-xterm-color" ,emacs-xterm-color)))
20815 (home-page "https://github.com/bcbcarl/emacs-wttrin")
20816 (synopsis "Frontend for weather web service @url{wttr.in}")
20817 (description "This package provides local weather information from
20818 @url{wttr.in}.")
20819 (license license:expat))))
20820
20821 (define-public emacs-browse-kill-ring
20822 (let ((commit "1ef72cc6accd94cd7032c02b1b2c78ae7f1d1965")
20823 (revision "0"))
20824 (package
20825 (name "emacs-browse-kill-ring")
20826 (version (git-version "2.0.0" revision commit))
20827 (source
20828 (origin
20829 (method git-fetch)
20830 (uri (git-reference
20831 (url "https://github.com/browse-kill-ring/browse-kill-ring")
20832 (commit commit)))
20833 (file-name (git-file-name name version))
20834 (sha256
20835 (base32
20836 "0mil32g7hcw376jibs5hdyv00xbaql3m4a27rwqaafg0x59avxdj"))))
20837 (build-system emacs-build-system)
20838 (home-page "https://github.com/browse-kill-ring/browse-kill-ring")
20839 (synopsis "Interactively insert items from kill-ring")
20840 (description
20841 "Did you ever feel that @code{C-y M-y M-y M-y ...} is not a great way
20842 of trying to find that piece of text you know you killed a while back? Then
20843 @code{browse-kill-ring.el} is for you.")
20844 (license license:gpl2+))))
20845
20846 (define-public emacs-powerline
20847 (package
20848 (name "emacs-powerline")
20849 (version "2.4")
20850 (source
20851 (origin
20852 (method git-fetch)
20853 (uri (git-reference
20854 (url "https://github.com/milkypostman/powerline")
20855 (commit version)))
20856 (file-name (git-file-name name version))
20857 (sha256
20858 (base32
20859 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
20860 (build-system emacs-build-system)
20861 (home-page "https://github.com/milkypostman/powerline/")
20862 (synopsis "Mode-line plugin for Emacs")
20863 (description "Powerline is a utility plugin which allows you to create
20864 a better-looking, more functional Emacs mode-line. A collection of predefined
20865 themes comes with the package.")
20866 (license license:gpl3+)))
20867
20868 (define-public emacs-spaceline
20869 (package
20870 (name "emacs-spaceline")
20871 (version "2.0.1")
20872 (source
20873 (origin
20874 (method git-fetch)
20875 (uri (git-reference
20876 (url "https://github.com/TheBB/spaceline")
20877 (commit (string-append "v" version))))
20878 (file-name (git-file-name name version))
20879 (sha256
20880 (base32
20881 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
20882 (build-system emacs-build-system)
20883 (propagated-inputs
20884 `(("dash" ,emacs-dash)
20885 ("powerline" ,emacs-powerline)
20886 ("s" ,emacs-s)))
20887 (home-page "https://github.com/TheBB/spaceline")
20888 (synopsis "Powerline theme from Spacemacs")
20889 (description "Spaceline provides Spacemacs' mode-line theme.
20890 This package provides features for three kinds of users.
20891
20892 @itemize
20893 @item You just want to use the Spacemacs mode-line theme and forget about it.
20894 @item You want to use something similar to the Spacemacs mode-line theme, but
20895 with a handful of easy tweaks.
20896 @item You want an easy-to-use library for building your own mode-line from
20897 scratch, and you think the Spacemacs theme looks good.
20898 @end itemize")
20899 (license license:gpl3+)))
20900
20901 (define-public emacs-spaceline-next
20902 (let ((commit "1b26af2c1a701481ac5d90928fe0200e389756c3")
20903 (last-release-version "2.0.1")
20904 (revision "0"))
20905 (package
20906 (inherit emacs-spaceline)
20907 (name "emacs-spaceline-next")
20908 (version (git-version last-release-version revision commit))
20909 (source
20910 (origin
20911 (method git-fetch)
20912 (uri (git-reference
20913 (url "https://github.com/TheBB/spaceline")
20914 (commit commit)))
20915 (sha256
20916 (base32 "11lwckqcgzsahrkkm5wk1ph4kc7d4yz05r7251g8c9f0q6vdj9dp"))
20917 (file-name (git-file-name name version)))))))
20918
20919 (define-public emacs-column-marker
20920 (package
20921 (name "emacs-column-marker")
20922 (version "9")
20923 (source
20924 (origin
20925 (method url-fetch)
20926 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
20927 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
20928 (build-system emacs-build-system)
20929 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
20930 (synopsis "Emacs mode for highlighting columns")
20931 (description
20932 "With @code{column-marker.el} you can highlight any number of text columns.
20933 Three such highlight column markers are provided by default. This is
20934 especially useful for languages like COBOL or Fortran where certain columns
20935 have special meaning. It is also handy for aligning text across long vertical
20936 distances. Multi-column characters, such as @kbd{TAB} are treated
20937 correctly.")
20938 (license license:gpl2+)))
20939
20940 (define-public emacs-slime-repl-ansi-color
20941 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
20942 (package
20943 (name "emacs-slime-repl-ansi-color")
20944 (version (git-version "0.0.0" "1" commit))
20945 (source (origin
20946 (method git-fetch)
20947 (uri (git-reference
20948 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
20949 (commit commit)))
20950 (file-name (git-file-name name version))
20951 (sha256
20952 (base32
20953 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
20954 (build-system emacs-build-system)
20955 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
20956 (synopsis "Color ANSI codes in the REPL of SLIME")
20957 (description "Color ANSI codes in the REPL of SLIME")
20958 (license license:gpl2+))))
20959
20960 (define-public emacs-helm-slime
20961 (package
20962 (name "emacs-helm-slime")
20963 (version "0.4.0")
20964 (source (origin
20965 (method git-fetch)
20966 (uri (git-reference
20967 (url "https://github.com/emacs-helm/helm-slime")
20968 (commit version)))
20969 (file-name (git-file-name name version))
20970 (sha256
20971 (base32
20972 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
20973 (build-system emacs-build-system)
20974 (propagated-inputs
20975 `(("emacs-helm" ,emacs-helm)
20976 ("emacs-slime" ,emacs-slime)))
20977 (home-page "https://github.com/emacs-helm/helm-slime")
20978 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
20979 (description "Helm-SLIME defines a few new commands:
20980
20981 @itemize
20982 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
20983 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
20984 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
20985 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
20986 @end itemize\n")
20987 (license license:gpl3+)))
20988
20989 (define-public emacs-helm-sly
20990 (package
20991 (name "emacs-helm-sly")
20992 (version "0.7.2")
20993 (source (origin
20994 (method git-fetch)
20995 (uri (git-reference
20996 (url "https://github.com/emacs-helm/helm-sly")
20997 (commit version)))
20998 (file-name (git-file-name name version))
20999 (sha256
21000 (base32
21001 "06x8wyx1r0s7askkvlbklgz1cszv34qsvv3gryndw350smk1v8kx"))))
21002 (build-system emacs-build-system)
21003 (propagated-inputs
21004 `(("emacs-helm" ,emacs-helm)
21005 ("emacs-sly" ,emacs-sly)))
21006 (home-page "https://github.com/emacs-helm/helm-sly")
21007 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
21008 (description "Helm-SLY defines a few new commands:
21009
21010 @itemize
21011 @item @code{helm-sly-list-connections}: Yet another Lisp connection list with
21012 Helm.
21013 @item @code{helm-sly-apropos}: Yet another @command{apropos} with Helm.
21014 @item @code{helm-sly-mini}: Like @command{helm-sly-list-connections}, but
21015 include an extra source of Lisp-related buffers, like the events buffer or the
21016 scratch buffer.
21017 @end itemize\n")
21018 (license license:gpl3+)))
21019
21020 (define-public emacs-gtk-look
21021 (package
21022 (name "emacs-gtk-look")
21023 (version "29")
21024 (source (origin
21025 (method url-fetch)
21026 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
21027 (sha256
21028 (base32
21029 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
21030 (build-system emacs-build-system)
21031 (arguments
21032 `(#:phases
21033 (modify-phases %standard-phases
21034 (add-after 'unpack 'configure
21035 (lambda _
21036 ;; File is read-only.
21037 (chmod "gtk-look.el" #o644)
21038 (emacs-substitute-variables "gtk-look.el"
21039 ("gtk-lookup-devhelp-indices"
21040 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
21041 #t)))))
21042 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
21043 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
21044 (description "@command{gtk-look} finds and displays HTML documentation for
21045 GTK, GNOME and Glib functions and variables in Emacs, similar to what
21046 info-lookup-symbol does for info files (C-h S). The documentation is expected
21047 to be devhelp indexes with HTML files. The location of the indexes can be
21048 customized. In addition to C code development @command{gtk-look} is good for
21049
21050 @itemize
21051 @item @command{perl-gtk2}, recognising class funcs like
21052 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
21053 @item @command{guile-gnome}, recognising methods like @command{set-text} and
21054 classes like @command{<gtk-window>}.
21055 @end itemize\n")
21056 (license license:gpl3+)))
21057
21058 (define-public emacs-ov
21059 (package
21060 (name "emacs-ov")
21061 (version "1.0.6")
21062 (source (origin
21063 (method git-fetch)
21064 (uri (git-reference
21065 (url "https://github.com/ShingoFukuyama/ov.el")
21066 (commit version)))
21067 (file-name (git-file-name name version))
21068 (sha256
21069 (base32
21070 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
21071 (build-system emacs-build-system)
21072 (home-page "https://github.com/ShingoFukuyama/ov.el")
21073 (synopsis "Overlay library for Emacs Lisp")
21074 (description "@code{ov.el} provides a simple way to manipulate overlays in
21075 Emacs.")
21076 (license license:gpl3+)))
21077
21078 (define-public emacs-matrix-client
21079 (let ((commit "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed"))
21080 (package
21081 (name "emacs-matrix-client")
21082 (version (git-version "0.0.0" "6" commit))
21083 (source (origin
21084 (method git-fetch)
21085 (uri (git-reference
21086 (url "https://github.com/jgkamat/matrix-client-el")
21087 (commit commit)))
21088 (file-name (git-file-name name version))
21089 (sha256
21090 (base32
21091 "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq"))))
21092 (build-system emacs-build-system)
21093 (propagated-inputs
21094 `(("a" ,emacs-a)
21095 ("anaphora" ,emacs-anaphora)
21096 ("dash" ,emacs-dash)
21097 ("esxml" ,emacs-esxml)
21098 ("f" ,emacs-f)
21099 ("frame-purpose" ,emacs-frame-purpose)
21100 ("ht" ,emacs-ht)
21101 ("ov" ,emacs-ov)
21102 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
21103 ("request" ,emacs-request)
21104 ("s" ,emacs-s)
21105 ("tracking" ,emacs-tracking)))
21106 (home-page "https://github.com/jgkamat/matrix-client-el")
21107 (synopsis "Matrix client for Emacs")
21108 (description "@code{matrix-client} is a simple chat UI to Matrix.org
21109 rooms. It also provides an API which allows Emacs to seamlessly create
21110 RPC channels with users and other software.")
21111 (license license:gpl3+))))
21112
21113 (define-public emacs-sesman
21114 (package
21115 (name "emacs-sesman")
21116 (version "0.3.4")
21117 (source
21118 (origin
21119 (method git-fetch)
21120 (uri (git-reference
21121 (url "https://github.com/vspinu/sesman")
21122 (commit (string-append "v" version))))
21123 (file-name (git-file-name name version))
21124 (sha256
21125 (base32
21126 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
21127 (build-system emacs-build-system)
21128 (arguments
21129 `(#:phases
21130 (modify-phases %standard-phases
21131 (add-after 'unpack 'set-shell
21132 ;; Setting the SHELL environment variable is required for the tests
21133 ;; to find sh.
21134 (lambda _
21135 (setenv "SHELL" (which "sh"))
21136 #t)))
21137 #:tests? #t
21138 #:test-command '("make" "test")))
21139 (home-page "https://github.com/vspinu/sesman")
21140 (synopsis "Session manager for Emacs based IDEs")
21141 (description "Sesman provides facilities for session management and
21142 interactive session association with the current contexts (project, directory,
21143 buffers). While sesman can be used to manage arbitrary sessions, it primary
21144 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
21145 (license license:gpl3+)))
21146
21147 (define-public emacs-buttercup
21148 (package
21149 (name "emacs-buttercup")
21150 (version "1.24")
21151 (source
21152 (origin
21153 (method git-fetch)
21154 (uri (git-reference
21155 (url "https://github.com/jorgenschaefer/emacs-buttercup")
21156 (commit (string-append "v" version))))
21157 (file-name (git-file-name name version))
21158 (sha256
21159 (base32
21160 "1w02p4bfkyga6sign4flq2kw0hawyvnv63410pyh8nm7acp311gg"))))
21161 (build-system emacs-build-system)
21162 (arguments
21163 `(#:tests? #t
21164 #:test-command '("make" "test")
21165 #:phases
21166 (modify-phases %standard-phases
21167 (add-after 'install 'install-bin
21168 (lambda* (#:key outputs #:allow-other-keys)
21169 (install-file "bin/buttercup"
21170 (string-append (assoc-ref outputs "out") "/bin"))
21171 #t)))))
21172 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
21173 (synopsis "Behavior driven emacs lisp testing framework")
21174 (description "Buttercup is a behavior-driven development framework for
21175 testing Emacs Lisp code. It groups related tests so they can share
21176 common set-up and tear-down code, and allows the programmer to \"spy\" on
21177 functions to ensure they are called with the right arguments during testing.")
21178 (license license:gpl3+)))
21179
21180 (define-public emacs-cort
21181 (package
21182 (name "emacs-cort")
21183 (version "7.1.0")
21184 (source (origin
21185 (method git-fetch)
21186 (uri (git-reference
21187 (url "https://github.com/conao3/cort.el")
21188 (commit (string-append "v" version))))
21189 (file-name (git-file-name name version))
21190 (sha256
21191 (base32
21192 "03c223nczpbdkjmq69panhbsq2a0zj20w329jgj4c0zsj8m1a32a"))))
21193 (build-system emacs-build-system)
21194 (propagated-inputs
21195 `(("emacs-ansi" ,emacs-ansi)))
21196 (arguments
21197 `(#:tests? #t
21198 #:test-command '("emacs" "--batch" "--quick"
21199 "--directory=." "--load=cort-tests.el"
21200 "--funcall=cort-test-run")))
21201 (home-page "https://github.com/conao3/cort.el")
21202 (synopsis "Unit test framework for the Emacs Lisp")
21203 (description "@code{cort} is a lightweight Emacs Lisp unit test library.")
21204 (license license:gpl3+)))
21205
21206 (define-public emacs-wordnut
21207 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
21208 (revision "0"))
21209 (package
21210 (name "emacs-wordnut")
21211 (version (git-version "0.1" revision commit))
21212 (home-page "https://github.com/gromnitsky/wordnut")
21213 (source (origin
21214 (method git-fetch)
21215 (uri (git-reference (url home-page) (commit commit)))
21216 (sha256
21217 (base32
21218 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
21219 (patches
21220 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
21221 (file-name (git-file-name name version))))
21222 (build-system emacs-build-system)
21223 (propagated-inputs
21224 `(("wordnet" ,wordnet)
21225 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
21226 (synopsis "Major mode for WordNet")
21227 (description "This Emacs package provides an interface for
21228 @code{wordnet}. Features include completion, if the query is not found
21229 too ambiguous and navigation in the result buffer.")
21230 (license license:gpl3+))))
21231
21232 (define-public emacs-frame-local
21233 ;; There is no release yet. Version is extracted from the main
21234 ;; file.
21235 (let ((version "0.0.1")
21236 (revision "0")
21237 (commit "7ee1106c3bcd4022f48421f8cb1ef4f995da816e"))
21238 (package
21239 (name "emacs-frame-local")
21240 (version (git-version version revision commit))
21241 (source
21242 (origin
21243 (method git-fetch)
21244 (uri (git-reference
21245 (url "https://github.com/sebastiencs/frame-local")
21246 (commit commit)))
21247 (file-name (git-file-name name version))
21248 (sha256
21249 (base32 "0zfxsxdh3bd3fd566zl0byp13p5b8f4cgkwl637imvarvahczigp"))))
21250 (build-system emacs-build-system)
21251 (home-page "https://github.com/sebastiencs/frame-local")
21252 (synopsis "Access variables local to an Emacs frame")
21253 (description
21254 "This package allows setting and accessing variables local to
21255 an Emacs frame. Note that the variables created with this package do
21256 not have any relation with variables defined by @code{defvar},
21257 @code{defconst}, etc.")
21258 (license license:gpl3+))))
21259
21260 (define-public emacs-frame-purpose
21261 (package
21262 (name "emacs-frame-purpose")
21263 (version "1.0")
21264 (source (origin
21265 (method git-fetch)
21266 (uri (git-reference
21267 (url "https://github.com/alphapapa/frame-purpose.el")
21268 (commit version)))
21269 (sha256
21270 (base32
21271 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
21272 (file-name (git-file-name name version))))
21273 (build-system emacs-build-system)
21274 (inputs
21275 `(("dash" ,emacs-dash)))
21276 (synopsis "Purpose-specific frames for Emacs")
21277 (description "@code{frame-purpose} makes it easy to open purpose-specific
21278 frames that only show certain buffers, e.g. by buffers’ major mode, their
21279 filename or directory, etc, with custom frame/X-window titles, icons, and
21280 other frame parameters.")
21281 (home-page "https://github.com/alphapapa/frame-purpose.el")
21282 (license license:gpl3+)))
21283
21284 (define-public emacs-arduino-mode
21285 (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b")
21286 (revision "1")) ;no release yet
21287 (package
21288 (name "emacs-arduino-mode")
21289 (version (git-version "0" revision commit))
21290 (source (origin
21291 (method git-fetch)
21292 (uri (git-reference
21293 (url "https://github.com/stardiviner/arduino-mode")
21294 (commit commit)))
21295 (sha256
21296 (base32
21297 "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx"))
21298 (file-name (git-file-name name version))))
21299 (build-system emacs-build-system)
21300 (inputs
21301 `(("spinner" ,emacs-spinner)
21302 ("flycheck" ,emacs-flycheck)))
21303 (arguments
21304 `(#:phases
21305 (modify-phases %standard-phases
21306 ;; Emacs complains that "defmethod" and "defgeneric" are obsolete
21307 ;; macros when compiling. Substitute them with the recommended
21308 ;; macros "cl-defmethod" and "cl-defgeneric", respectively.
21309 (add-after 'unpack 'fix-obsolete
21310 (lambda _
21311 (substitute* "ede-arduino.el"
21312 (("defmethod") "cl-defmethod")
21313 (("defgeneric") "cl-defgeneric"))
21314 #t)))))
21315 (synopsis "Emacs major mode for editing Arduino sketches")
21316 (description "Emacs major mode for editing Arduino sketches.")
21317 (home-page "https://github.com/stardiviner/arduino-mode")
21318 (license license:gpl3+))))
21319
21320 (define-public emacs-annalist
21321 (package
21322 (name "emacs-annalist")
21323 (version "1.0.1")
21324 (source (origin
21325 (method git-fetch)
21326 (uri (git-reference
21327 (url "https://github.com/noctuid/annalist.el")
21328 (commit version)))
21329 (sha256
21330 (base32
21331 "1jlb5w4972l8m2aa18q2l6arfpm65g4nk21dn1yi8c9dbpk2g67c"))
21332 (file-name (git-file-name name version))))
21333 (build-system emacs-build-system)
21334 (native-inputs
21335 `(("emacs-buttercup" ,emacs-buttercup)
21336 ("emacs-lispy" ,emacs-lispy)
21337 ("emacs-evil" ,emacs-evil)))
21338 (arguments
21339 `(#:phases
21340 (modify-phases %standard-phases
21341 (add-before 'check 'fix-makefile
21342 (lambda _
21343 (substitute* "Makefile"
21344 (("cask exec ") ""))
21345 #t)))
21346 #:tests? #t
21347 #:test-command '("make" "test")))
21348 (home-page "https://github.com/noctuid/annalist.el")
21349 (synopsis "Record and display information with Org headings and tables")
21350 (description "This package allows for keybindings, settings, hooks, and
21351 advice to be recorded and displayed.")
21352 (license license:gpl3+)))
21353
21354 (define-public emacs-general
21355 (let ((commit "a0b17d207badf462311b2eef7c065b884462cb7c")
21356 (revision "4"))
21357 (package
21358 (name "emacs-general")
21359 (version (git-version "0" revision commit))
21360 (source
21361 (origin
21362 (method git-fetch)
21363 (uri (git-reference
21364 (url "https://github.com/noctuid/general.el")
21365 (commit commit)))
21366 (sha256
21367 (base32 "0wn5rk3gkimdklip392mnjrmkymgrb7q9skifi03cbpjam1anzvv"))
21368 (file-name (git-file-name name version))))
21369 (build-system emacs-build-system)
21370 (native-inputs
21371 `(("emacs-buttercup" ,emacs-buttercup)
21372 ("emacs-evil" ,emacs-evil)
21373 ("emacs-which-key" ,emacs-which-key)
21374 ("emacs-use-package" ,emacs-use-package)))
21375 (arguments
21376 `(#:tests? #t
21377 #:test-command '("buttercup" "-L" "test/test-general.el")))
21378 (home-page "https://github.com/noctuid/general.el")
21379 (synopsis "More convenient key definitions in emacs")
21380 (description "@code{general.el} provides a more convenient method for
21381 binding keys in emacs (for both evil and non-evil users). Like
21382 @code{use-package}, which provides a convenient, unified interface for
21383 managing packages, @code{general.el} is intended to provide a convenient,
21384 unified interface for key definitions. While this package does implement some
21385 completely new functionality (such as the ability to make vim-style
21386 keybindings under non-prefix keys with an optional timeout), its primary
21387 purpose is to build on existing functionality to make key definition more
21388 clear and concise. @code{general-define-key} is user-extensible and supports
21389 defining multiple keys in multiple keymaps at once, implicitly wrapping key
21390 strings with (@code{kbd ...}), using named prefix key sequences (like the
21391 leader key in vim), and much more.")
21392 (license license:gpl3+))))
21393
21394 (define-public emacs-tldr
21395 (let ((commit "7203d1be3dcbf12131846ffe06601933fa874d74"))
21396 (package
21397 (name "emacs-tldr")
21398 (version (git-version "0" "1" commit))
21399 (home-page "https://github.com/kuanyui/tldr.el")
21400 (source (origin
21401 (method git-fetch)
21402 (uri (git-reference
21403 (url (string-append home-page ".git"))
21404 (commit commit)))
21405 (sha256
21406 (base32
21407 "1bw6la463l2yfm7rp76ga4makfy4kpxgwi7ni5gxk31w11g26ryk"))
21408 (file-name (git-file-name name version))))
21409 (build-system emacs-build-system)
21410 (propagated-inputs
21411 `(("emacs-request" ,emacs-request)))
21412 (synopsis "Simplified and community-driven man pages for Emacs")
21413 (description "@code{emacs-tldr} allows the user to access tldr pages
21414 from within emacs. The @code{tldr} pages are a community effort to simplify
21415 the man pages with practical examples.")
21416 (license license:wtfpl2))))
21417
21418 (define-public emacs-window-layout
21419 (package
21420 (name "emacs-window-layout")
21421 (version "1.4")
21422 (home-page "https://github.com/kiwanami/emacs-window-layout")
21423 (source (origin
21424 (method git-fetch)
21425 (uri (git-reference
21426 (url home-page)
21427 (commit (string-append "v" version))))
21428 (sha256
21429 (base32
21430 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
21431 (file-name (git-file-name name version))))
21432 (build-system emacs-build-system)
21433 (synopsis "Simple window layout management framework for emacs")
21434 (description "A window-layout management library that can split a frame
21435 or a window into some windows according to a layout recipe.")
21436 (license license:gpl3+)))
21437
21438 (define-public emacs-e2wm
21439 (package
21440 (name "emacs-e2wm")
21441 (version "1.4")
21442 (home-page "https://github.com/kiwanami/emacs-window-manager")
21443 (source (origin
21444 (method git-fetch)
21445 (uri (git-reference
21446 (url home-page)
21447 (commit (string-append "v" version))))
21448 (sha256
21449 (base32
21450 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
21451 (file-name (git-file-name name version))))
21452 (build-system emacs-build-system)
21453 (propagated-inputs
21454 `(("emacs-window-layout" ,emacs-window-layout)))
21455 (synopsis "Equilibrium Emacs Window Manager")
21456 (description "E2WM is a window manager for Emacs. It enables to
21457 customize the place of pop-up window, how the windows are split, how the
21458 buffers are located in the windows, keybinds to manipulate windows and
21459 buffers, etc. It also has plug-ins to help your Emacs life.")
21460 (license license:gpl3+)))
21461
21462 (define-public emacs-ctable
21463 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
21464 (package
21465 (name "emacs-ctable")
21466 (version (git-version "0.1.2" "1" commit))
21467 (home-page "https://github.com/kiwanami/emacs-ctable")
21468 (source (origin
21469 (method git-fetch)
21470 (uri (git-reference
21471 (url home-page)
21472 (commit commit)))
21473 (sha256
21474 (base32
21475 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
21476 (file-name (git-file-name name version))))
21477 (build-system emacs-build-system)
21478 (synopsis "Table component for Emacs Lisp")
21479 (description "This program is a table component for Emacs Lisp. Other
21480 programs can use this table component for the application UI.")
21481 (license license:gpl3+))))
21482
21483 (define-public emacs-leetcode
21484 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
21485 (revision "1"))
21486 (package
21487 (name "emacs-leetcode")
21488 (version (git-version "0" "1" commit))
21489 (home-page "https://github.com/ginqi7/leetcode-emacs")
21490 (source (origin
21491 (method git-fetch)
21492 (uri (git-reference
21493 (url "https://github.com/ginqi7/leetcode-emacs")
21494 (commit commit)))
21495 (sha256
21496 (base32
21497 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
21498 (file-name (git-file-name name version))))
21499 (build-system emacs-build-system)
21500 (propagated-inputs
21501 `(("emacs-names" ,emacs-names)
21502 ("emacs-ctable" ,emacs-ctable)))
21503 (synopsis "Solve and submit LeetCode problems from within Emacs")
21504 (description "This package provides an Emacs interface to LeetCode
21505 allowing users to log in and solve problems of their choice using Emacs.")
21506 (license license:unlicense))))
21507
21508 (define-public emacs-epc
21509 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
21510 (package
21511 (name "emacs-epc")
21512 (version (git-version "0.1.1" "1" commit))
21513 (home-page "https://github.com/kiwanami/emacs-epc")
21514 (source (origin
21515 (method git-fetch)
21516 (uri (git-reference
21517 (url home-page)
21518 (commit commit)))
21519 (sha256
21520 (base32
21521 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
21522 (file-name (git-file-name name version))))
21523 (build-system emacs-build-system)
21524 (propagated-inputs
21525 `(("emacs-deferred" ,emacs-deferred)
21526 ("emacs-ctable" ,emacs-ctable)))
21527 (synopsis "RPC stack for Emacs Lisp")
21528 (description "This program is an asynchronous RPC stack for Emacs.
21529 Using this RPC stack, Emacs can communicate with the peer process
21530 smoothly. Because the protocol employs S-expression encoding and consists of
21531 asynchronous communications, the RPC response is fairly good.")
21532 (license license:gpl3+))))
21533
21534 (define-public emacs-edbi
21535 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
21536 (package
21537 (name "emacs-edbi")
21538 (version (git-version "0.1.3" "1" commit))
21539 (home-page "https://github.com/kiwanami/emacs-edbi")
21540 (source (origin
21541 (method git-fetch)
21542 (uri (git-reference
21543 (url home-page)
21544 (commit commit)))
21545 (sha256
21546 (base32
21547 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
21548 (file-name (git-file-name name version))))
21549 (build-system emacs-build-system)
21550 (inputs
21551 `(("perl" ,perl)
21552 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
21553 ("perl-dbi" ,perl-dbi)
21554 ;; TODO: Adding support for perl-dbd-mysql and others would
21555 ;; dramatically increase the closure size. Make several packages?
21556 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
21557 (propagated-inputs
21558 `(("emacs-e2wm" ,emacs-e2wm)
21559 ("emacs-epc" ,emacs-epc)))
21560 (arguments
21561 `(#:include '("\\.el$" "\\.pl$")
21562 #:phases
21563 (modify-phases %standard-phases
21564 (add-after 'install 'patch-path
21565 (lambda* (#:key inputs outputs #:allow-other-keys)
21566 (let ((perl (assoc-ref inputs "perl"))
21567 (dir (string-append (assoc-ref outputs "out")
21568 "/share/emacs/site-lisp")))
21569 (substitute* (string-append dir "/edbi.el")
21570 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
21571 (chmod (string-append dir "/edbi-bridge.pl") #o555)
21572 (wrap-program (string-append dir "/edbi-bridge.pl")
21573 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
21574 #t))))))
21575 (synopsis "Database Interface for Emacs Lisp")
21576 (description "This program connects the database server through Perl's
21577 DBI, and provides DB-accessing API and the simple management UI.")
21578 (license license:gpl3+))))
21579
21580 (define-public emacs-edbi-sqlite
21581 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
21582 (package
21583 (name "emacs-edbi-sqlite")
21584 (version (git-version "0.1.1" "1" commit))
21585 (home-page "https://github.com/proofit404/edbi-sqlite")
21586 (source (origin
21587 (method git-fetch)
21588 (uri (git-reference
21589 (url home-page)
21590 (commit commit)))
21591 (sha256
21592 (base32
21593 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
21594 (file-name (git-file-name name version))))
21595 (build-system emacs-build-system)
21596 (propagated-inputs
21597 `(("emacs-edbi" ,emacs-edbi)))
21598 (synopsis "Open SQLite files in Emacs")
21599 (description "This package is a convenience wrapper for @command{edbi}
21600 to open SQLite databases.")
21601 (license license:gpl3+))))
21602
21603 (define-public emacs-nice-citation
21604 (let ((commit "1013b56d9d1495a335f40a5f76203034dc5fa0ea")
21605 (revision "0"))
21606 (package
21607 (name "emacs-nice-citation")
21608 (version (git-version "0.0.2" revision commit))
21609 (source
21610 (origin
21611 (method git-fetch)
21612 (uri (git-reference
21613 (url "https://github.com/damiencollard/nice-citation")
21614 (commit commit)))
21615 (sha256
21616 (base32 "00xqr7haca5vd0bzd043lc6x4fjb903z96frz9b8cbd7spp63z7q"))
21617 (file-name (git-file-name name version))))
21618 (build-system emacs-build-system)
21619 (home-page "https://github.com/damiencollard/nice-citation")
21620 (synopsis "Depth-colored citations for Gnus")
21621 (description
21622 "This package replaces the traditional chevron citation marks @samp{>}
21623 with a Unicode vertical bar with the same color as the text it is quoting.
21624
21625 It is purely presentation: the underlying text is unchanged. In particular,
21626 if you send a message containing a citation, it will contain the traditional
21627 chevron marks.")
21628 (license license:gpl3+))))
21629
21630 (define-public emacs-nix-mode
21631 (package
21632 (name "emacs-nix-mode")
21633 (version "1.4.5")
21634 (source
21635 (origin
21636 (method git-fetch)
21637 (uri (git-reference
21638 (url "https://github.com/NixOS/nix-mode")
21639 (commit (string-append "v" version))))
21640 (file-name (git-file-name name version))
21641 (sha256
21642 (base32 "1bqlhkxg0faddhvxx909dq46dxdxk4mdyhdpww92dmzgxdpq38sx"))))
21643 (build-system emacs-build-system)
21644 (inputs
21645 `(("emacs-company" ,emacs-company)
21646 ("emacs-json-mode" ,emacs-json-mode)
21647 ("emacs-mmm-mode" ,emacs-mmm-mode)))
21648 (home-page "https://github.com/NixOS/nix-mode")
21649 (synopsis "Emacs major mode for editing Nix expressions")
21650 (description "@code{nixos-mode} provides an Emacs major mode for editing
21651 Nix expressions. It supports syntax highlighting, indenting and refilling of
21652 comments.")
21653 (license license:lgpl2.1+)))
21654
21655 (define-public emacs-libmpdel
21656 (package
21657 (name "emacs-libmpdel")
21658 (version "1.2.0")
21659 (source (origin
21660 (method git-fetch)
21661 (uri (git-reference
21662 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
21663 (commit (string-append "v" version))))
21664 (file-name (git-file-name name version))
21665 (sha256
21666 (base32
21667 "1nzs6g2mg3jhfhhfcxjhd9sbvwzhmr6j6mc80ln2nr4gzjqgaa4k"))))
21668 (build-system emacs-build-system)
21669 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
21670 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
21671 (description
21672 "An Emacs library client to communicate with Music Player Daemon (MPD), a
21673 flexible, powerful, server-side application for playing music.")
21674 (license license:gpl3+)))
21675
21676 (define-public emacs-mpdel
21677 (package
21678 (name "emacs-mpdel")
21679 (version "1.0.0")
21680 (source
21681 (origin
21682 (method git-fetch)
21683 (uri (git-reference
21684 (url "https://gitea.petton.fr/mpdel/mpdel.git")
21685 (commit (string-append "v" version))))
21686 (file-name (git-file-name name version))
21687 (sha256
21688 (base32
21689 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
21690 (build-system emacs-build-system)
21691 (inputs
21692 `(("emacs-libmpdel" ,emacs-libmpdel)))
21693 (home-page "https://gitea.petton.fr/mpdel/mpdel")
21694 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
21695 (description
21696 "MPDel provides an Emacs user interface to control playback (play, pause,
21697 next, volume) and display and control the current playlist as well as your
21698 stored playlists.")
21699 (license license:gpl3+)))
21700
21701 (define-public emacs-vterm
21702 (let ((version "0.0.1")
21703 (revision "0")
21704 (commit "a670b786539d3c8865d8f68fe0c67a2d4afbf1aa"))
21705 (package
21706 (name "emacs-vterm")
21707 (version (git-version version revision commit))
21708 (source (origin
21709 (method git-fetch)
21710 (uri (git-reference
21711 (url "https://github.com/akermu/emacs-libvterm")
21712 (commit commit)))
21713 (file-name (git-file-name name version))
21714 (sha256
21715 (base32
21716 "0s244crjkbzl2jhp9m4sm1xdhbpxwph0m3jg18livirgajvdz6hn"))))
21717 (build-system emacs-build-system)
21718 (arguments
21719 `(#:modules ((guix build emacs-build-system)
21720 ((guix build cmake-build-system) #:prefix cmake:)
21721 (guix build emacs-utils)
21722 (guix build utils))
21723 #:imported-modules (,@%emacs-build-system-modules
21724 (guix build cmake-build-system))
21725 #:phases
21726 (modify-phases %standard-phases
21727 (add-before 'add-source-to-load-path 'substitute-vterm-module-path
21728 (lambda* (#:key outputs #:allow-other-keys)
21729 (chmod "vterm.el" #o644)
21730 (emacs-substitute-sexps "vterm.el"
21731 ("(require 'vterm-module nil t)"
21732 `(module-load
21733 ,(string-append (assoc-ref outputs "out")
21734 "/lib/vterm-module.so"))))
21735 #t))
21736 (add-after 'build 'configure
21737 ;; Run cmake.
21738 (lambda* (#:key outputs #:allow-other-keys)
21739 ((assoc-ref cmake:%standard-phases 'configure)
21740 #:outputs outputs
21741 #:out-of-source? #f
21742 #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
21743 #t))
21744 (add-after 'configure 'make
21745 ;; Run make.
21746 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
21747 ;; Compile the shared object file.
21748 (apply invoke "make" "all" make-flags)
21749 ;; Move the file into /lib.
21750 (install-file
21751 "vterm-module.so"
21752 (string-append (assoc-ref outputs "out") "/lib"))
21753 #t)))
21754 #:tests? #f))
21755 (native-inputs
21756 `(("cmake" ,cmake-minimal)
21757 ("libtool" ,libtool)
21758 ("libvterm" ,libvterm)))
21759 (home-page "https://github.com/akermu/emacs-libvterm")
21760 (synopsis "Emacs libvterm integration")
21761 (description "This package implements a bridge to @code{libvterm} to
21762 display a terminal in an Emacs buffer.")
21763 (license license:gpl3+))))
21764
21765 (define-public emacs-vterm-toggle
21766 ;; There have been no releases.
21767 (let ((commit "d10239b7bb89b78dddb82f66ac2286bc0b02747b")
21768 (revision "1"))
21769 (package
21770 (name "emacs-vterm-toggle")
21771 (version (git-version "0.0.4" revision commit))
21772 (source
21773 (origin
21774 (method git-fetch)
21775 (uri (git-reference
21776 (url "https://github.com/jixiuf/vterm-toggle")
21777 (commit commit)))
21778 (file-name (git-file-name name version))
21779 (sha256
21780 (base32 "0r9n23wg9cfy10h5f9zqr8jpkvw34f9rylri3nxq870awjab7rqi"))))
21781 (build-system emacs-build-system)
21782 (propagated-inputs `(("emacs-vterm" ,emacs-vterm)))
21783 (home-page "https://github.com/jixiuf/vterm-toggle")
21784 (synopsis "Toggle between a vterm buffer and other buffers")
21785 (description
21786 "This package provides a DWIM way to switch from an Emacs buffer to
21787 a vterm buffer and back again.")
21788 (license license:gpl3+))))
21789
21790 (define-public emacs-simple-mpc
21791 ;; There have been no releases.
21792 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
21793 (revision "1"))
21794 (package
21795 (name "emacs-simple-mpc")
21796 (version (git-version "0" revision commit))
21797 (source
21798 (origin
21799 (method git-fetch)
21800 (uri (git-reference
21801 (url "https://github.com/jorenvo/simple-mpc")
21802 (commit commit)))
21803 (file-name (git-file-name name version))
21804 (sha256
21805 (base32
21806 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
21807 (build-system emacs-build-system)
21808 (propagated-inputs `(("emacs-s" ,emacs-s)))
21809 (home-page "https://github.com/jorenvo/simple-mpc")
21810 (synopsis "Simple Emacs frontend to mpc")
21811 (description "This package provides an Emacs major mode which acts as a
21812 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
21813 (license license:gpl3+))))
21814
21815 (define-public emacs-mkmcc-gnuplot-mode
21816 (package
21817 (name "emacs-mkmcc-gnuplot-mode")
21818 (version "1.2.0")
21819 (source
21820 (origin
21821 (method git-fetch)
21822 (uri (git-reference
21823 (url "https://github.com/mkmcc/gnuplot-mode")
21824 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
21825 (file-name (git-file-name name version))
21826 (sha256
21827 (base32
21828 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
21829 (build-system emacs-build-system)
21830 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
21831 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
21832 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
21833 mode for editing gnuplot scripts. It provides syntax highlighting,
21834 indentation and a command to plot the file.")
21835 (license license:gpl3+)))
21836
21837 (define-public emacs-cmake-font-lock
21838 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
21839 (revision "1"))
21840 (package
21841 (name "emacs-cmake-font-lock")
21842 (version (git-version "0.1.5" revision commit))
21843 (source (origin
21844 (method git-fetch)
21845 (uri (git-reference
21846 (url "https://github.com/Lindydancer/cmake-font-lock")
21847 (commit commit)))
21848 (file-name (git-file-name name version))
21849 (sha256
21850 (base32
21851 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
21852 (build-system emacs-build-system)
21853 (native-inputs
21854 `(("emacs-faceup" ,emacs-faceup)))
21855 (arguments
21856 `(#:include (cons "^admin\\/" %default-include)))
21857 (home-page "https://github.com/Lindydancer/cmake-font-lock")
21858 (synopsis "Advanced type-aware syntax-highlighting for CMake")
21859 (description "This package highlights function arguments in CMake
21860 according to their use.")
21861 (license license:gpl3+))))
21862
21863 (define-public emacs-dtrt-indent
21864 (package
21865 (name "emacs-dtrt-indent")
21866 (version "1.4")
21867 (source (origin
21868 (method git-fetch)
21869 (uri (git-reference
21870 (url "https://github.com/jscheid/dtrt-indent")
21871 (commit version)))
21872 (file-name (git-file-name name version))
21873 (sha256
21874 (base32
21875 "11r68sh3yrrfib7pixnazispwsffrygmgplffrv8qq57xrqzyxih"))))
21876 (build-system emacs-build-system)
21877 (home-page "https://github.com/jscheid/dtrt-indent")
21878 (synopsis "Minor mode that guesses the indentation offset")
21879 (description "This package provides a minor mode that guesses the
21880 indentation offset originally used for creating source code files and
21881 transparently adjusts the corresponding settings in Emacs, making it more
21882 convenient to edit foreign files.")
21883 (license license:gpl2+)))
21884
21885 (define-public emacs-repo
21886 (package
21887 (name "emacs-repo")
21888 (version "0.2.0")
21889 (source (origin
21890 (method git-fetch)
21891 (uri (git-reference
21892 (url "https://github.com/canatella/repo-el")
21893 (commit version)))
21894 (file-name (git-file-name name version))
21895 (sha256
21896 (base32
21897 "0jgiawdnzjlrpx2j1y6djwbqncdpmyfd31q1qf1890049y8ppxnb"))))
21898 (build-system emacs-build-system)
21899 (native-inputs
21900 `(("emacs-el-mock" ,emacs-el-mock)
21901 ("ert-runner" ,emacs-ert-runner)))
21902 (propagated-inputs
21903 `(("emacs-f" ,emacs-f)
21904 ("magit" ,emacs-magit)))
21905 (home-page "https://github.com/canatella/repo-el")
21906 (synopsis "Emacs interface for the Google Repo tool")
21907 (description "This package provides integration of the Google Repo tool
21908 with emacs. It displays the output of the @code{repo status} command in a
21909 buffer and launches Magit from the status buffer for the project at point.")
21910 (license license:gpl3+)))
21911
21912 (define-public emacs-repology
21913 (package
21914 (name "emacs-repology")
21915 (version "1.1.0")
21916 (source
21917 (origin
21918 (method url-fetch)
21919 (uri (string-append "https://elpa.gnu.org/packages/"
21920 "repology-" version ".tar"))
21921 (sha256
21922 (base32 "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90"))))
21923 (build-system emacs-build-system)
21924 (home-page "https://elpa.gnu.org/packages/repology.html")
21925 (synopsis "Repology API access via Elisp")
21926 (description
21927 "This package provides tools to query Repology API (see
21928 @url{https://repology.org/api}), process results, and display them.")
21929 (license license:gpl3+)))
21930
21931 (define-public emacs-alect-themes
21932 (package
21933 (name "emacs-alect-themes")
21934 (version "0.9")
21935 (source (origin
21936 (method git-fetch)
21937 (uri (git-reference
21938 (url "https://github.com/alezost/alect-themes")
21939 (commit (string-append "v" version))))
21940 (file-name (git-file-name name version))
21941 (sha256
21942 (base32
21943 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
21944 (build-system emacs-build-system)
21945 (home-page "https://github.com/alezost/alect-themes")
21946 (synopsis "Low contrast, light, dark and black color theme for Emacs")
21947 (description "@code{emacs-alect-themes} provides configurable light, dark
21948 and black color themes for Emacs. The themes are intended to be used with
21949 GUI.")
21950 (license license:gpl3+)))
21951
21952 (define-public emacs-google-c-style
21953 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
21954 (revision "0"))
21955 (package
21956 (name "emacs-google-c-style")
21957 (version (git-version "0.1" revision commit))
21958 (source (origin
21959 (method git-fetch)
21960 (uri (git-reference
21961 (url "https://github.com/google/styleguide")
21962 (commit commit)))
21963 (file-name (git-file-name name version))
21964 (sha256
21965 (base32
21966 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
21967 (build-system emacs-build-system)
21968 (home-page "https://github.com/google/styleguide")
21969 (synopsis "Emacs settings file for Google C/C++ style")
21970 (description "@code{emacs-google-c-style} provides an Emacs settings
21971 file for Google C and C++ style.")
21972 (license license:gpl1+))))
21973
21974 (define-public emacs-redshank
21975 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
21976 (revision "1"))
21977 (package
21978 (name "emacs-redshank")
21979 (version (git-version "0.1" revision commit))
21980 (source (origin
21981 (method git-fetch)
21982 (uri (git-reference
21983 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
21984 (commit commit)))
21985 (file-name (git-file-name name version))
21986 (sha256
21987 (base32
21988 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
21989 (build-system emacs-build-system)
21990 (propagated-inputs
21991 `(("emacs-paredit" ,emacs-paredit)))
21992 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
21993 (synopsis "Common Lisp Editing Extensions (for Emacs)")
21994 (description "Redshank is a collection of code-wrangling Emacs macros
21995 mostly geared towards Common Lisp, but some are useful for other Lisp
21996 dialects, too. Redshank's code transformations aim to be expression-based (as
21997 opposed to character-based).")
21998 (license license:gpl1+))))
21999
22000 (define-public emacs-disk-usage
22001 (package
22002 (name "emacs-disk-usage")
22003 (version "1.3.3")
22004 (source
22005 (origin
22006 (method git-fetch)
22007 (uri (git-reference
22008 (url "https://gitlab.com/Ambrevar/emacs-disk-usage")
22009 (commit version)))
22010 (file-name (git-file-name name version))
22011 (sha256
22012 (base32
22013 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
22014 (build-system emacs-build-system)
22015 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
22016 (synopsis "Sort and browse disk usage listings with Emacs")
22017 (description "Disk Usage is a file system analyzer: it offers a tabulated
22018 view of file listings sorted by size. Directory sizes are computed
22019 recursively. The results are cached for speed.")
22020 (license license:gpl3+)))
22021
22022 (define-public emacs-orgit
22023 (package
22024 (name "emacs-orgit")
22025 (version "1.6.3")
22026 (home-page "https://github.com/magit/orgit")
22027 (source (origin
22028 (method git-fetch)
22029 (uri (git-reference
22030 (url home-page)
22031 (commit (string-append "v" version))))
22032 (file-name (git-file-name name version))
22033 (sha256
22034 (base32
22035 "08amzcvw483dpfq5r34ysn84wzd538qk0jblc94vgcaidspx6481"))))
22036 (build-system emacs-build-system)
22037 (propagated-inputs
22038 `(("emacs-dash" ,emacs-dash)
22039 ("emacs-magit" ,emacs-magit)))
22040 (synopsis "Support for Org links to Magit buffers")
22041 (description "This package defines several Org link types, which can be
22042 used to link to certain Magit buffers. Use the command
22043 @command{org-store-link} while such a buffer is current to store a link.
22044 Later you can insert it into an Org buffer using the command
22045 @code{org-insert-link}.")
22046 (license license:gpl3+)))
22047
22048 (define-public emacs-amx
22049 (package
22050 (name "emacs-amx")
22051 (version "3.3")
22052 (source
22053 (origin
22054 (method git-fetch)
22055 (uri (git-reference
22056 (url "https://github.com/DarwinAwardWinner/amx")
22057 (commit (string-append "v" version))))
22058 (file-name (git-file-name name version))
22059 (sha256
22060 (base32 "0ikjzs119g57cwh2v3jmy63lggqc0ib99q5gsl93slkk4y2ihavw"))))
22061 (build-system emacs-build-system)
22062 (propagated-inputs
22063 `(("emacs-s" ,emacs-s)))
22064 (home-page "https://github.com/DarwinAwardWinner/amx")
22065 (synopsis "Alternative M-x interface for Emacs")
22066 (description "Amx is an alternative interface for M-x in Emacs. It
22067 provides several enhancements over the ordinary
22068 @code{execute-extended-command}, such as prioritizing your most-used commands
22069 in the completion list and showing keyboard shortcuts, and it supports several
22070 completion systems for selecting commands, such as Ido and Ivy.")
22071 (license license:gpl3+)))
22072
22073 (define-public emacs-lorem-ipsum
22074 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
22075 (package
22076 (name "emacs-lorem-ipsum")
22077 (version (git-version "0.2" "1" commit))
22078 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
22079 (source (origin
22080 (method git-fetch)
22081 (uri (git-reference
22082 (url home-page)
22083 (commit commit)))
22084 (file-name (git-file-name name version))
22085 (sha256
22086 (base32
22087 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
22088 (build-system emacs-build-system)
22089 (synopsis "Insert dummy pseudo Latin text in Emacs")
22090 (description "This package provides convenience functions to insert
22091 dummy Latin text into a buffer. This can be useful if you need to produce
22092 paragraphs or pages of text for testing purposes.")
22093 (license license:gpl3+))))
22094
22095 (define-public emacs-lisp-extra-font-lock
22096 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
22097 (package
22098 (name "emacs-lisp-extra-font-lock")
22099 (version (git-version "0.0.6" "1" commit))
22100 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
22101 (source (origin
22102 (method git-fetch)
22103 (uri (git-reference
22104 (url home-page)
22105 (commit commit)))
22106 (file-name (git-file-name name version))
22107 (sha256
22108 (base32
22109 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
22110 (build-system emacs-build-system)
22111 (synopsis "Highlight bound variables and quoted expressions in Emacs")
22112 (description "This package highlight the location where local variables
22113 is created (bound, for example, by let) as well as quoted and backquoted
22114 constant expressions.")
22115 (license license:gpl3+))))
22116
22117 (define-public emacs-docker-tramp
22118 (package
22119 (name "emacs-docker-tramp")
22120 (version "0.1")
22121 (source
22122 (origin
22123 (method git-fetch)
22124 (uri (git-reference
22125 (url "https://github.com/emacs-pe/docker-tramp.el")
22126 (commit (string-append "v" version))))
22127 (file-name (git-file-name name version))
22128 (sha256
22129 (base32
22130 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
22131 (build-system emacs-build-system)
22132 (home-page "https://github.com/emacs-pe/docker-tramp.el")
22133 (synopsis "TRAMP integration for docker containers")
22134 (description
22135 "This package provides a TRAMP method for Docker containers.")
22136 (license license:gpl3+)))
22137
22138 (define-public emacs-docker
22139 (package
22140 (name "emacs-docker")
22141 (version "1.3.0")
22142 (source (origin
22143 (method git-fetch)
22144 (uri (git-reference
22145 (url "https://github.com/Silex/docker.el")
22146 (commit version)))
22147 (file-name (git-file-name name version))
22148 (sha256
22149 (base32
22150 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
22151 (inputs
22152 `(("emacs-undercover" ,emacs-undercover)))
22153 (propagated-inputs
22154 `(("emacs-dash" ,emacs-dash)
22155 ("emacs-docker-tramp" ,emacs-docker-tramp)
22156 ("emacs-magit-popup" ,emacs-magit-popup)
22157 ("emacs-s" ,emacs-s)
22158 ("emacs-tablist" ,emacs-tablist)
22159 ("emacs-json-mode" ,emacs-json-mode)))
22160 (arguments
22161 `(#:phases
22162 (modify-phases %standard-phases
22163 (delete 'check)))) ;no tests
22164 (build-system emacs-build-system)
22165 (home-page "https://github.com/Silex/docker.el")
22166 (synopsis "Manage docker from Emacs")
22167 (description "This package provides an Emacs interface for Docker.")
22168 (license license:gpl3+)))
22169
22170 (define-public emacs-dockerfile-mode
22171 (package
22172 (name "emacs-dockerfile-mode")
22173 (version "1.3")
22174 (source
22175 (origin
22176 (method git-fetch)
22177 (uri (git-reference
22178 (url "https://github.com/spotify/dockerfile-mode")
22179 (commit (string-append "v" version))))
22180 (file-name (git-file-name name version))
22181 (sha256
22182 (base32
22183 "1br73dsls42fn4rwagljkpa3l4wwj6f7jxfn3gmgl6c54z81av3v"))))
22184 (build-system emacs-build-system)
22185 (propagated-inputs
22186 `(("emacs-s" ,emacs-s)))
22187 (home-page "https://github.com/spotify/dockerfile-mode")
22188 (synopsis "Major mode for editing Dockerfile")
22189 (description
22190 "This package provides a major mode @code{dockerfile-mode} for use with
22191 the standard @code{Dockerfile} file format.")
22192 (license license:asl2.0)))
22193
22194 (define-public emacs-lsp-mode
22195 (package
22196 (name "emacs-lsp-mode")
22197 (version "7.0.1")
22198 (source
22199 (origin
22200 (method git-fetch)
22201 (uri (git-reference
22202 (url "https://github.com/emacs-lsp/lsp-mode")
22203 (commit version)))
22204 (file-name (git-file-name name version))
22205 (sha256
22206 (base32 "1z8zm7qr21hvhl6rnbznv2l9drh1pp5y4zkjrx5ac4x77b8i4aaz"))))
22207 (build-system emacs-build-system)
22208 (propagated-inputs
22209 `(("emacs-dash" ,emacs-dash)
22210 ("emacs-f" ,emacs-f)
22211 ("emacs-ht" ,emacs-ht)
22212 ("emacs-hydra" ,emacs-hydra)
22213 ("emacs-markdown-mode" ,emacs-markdown-mode)
22214 ("emacs-spinner" ,emacs-spinner)))
22215 (home-page "https://emacs-lsp.github.io/lsp-mode/")
22216 (synopsis "Emacs client and library for the Language Server Protocol")
22217 (description
22218 "LSP mode is a client and library implementation for the Language Server
22219 Protocol. This mode creates an IDE-like experience by providing optional
22220 integration with other popular Emacs packages like Company, Flycheck, and
22221 Projectile.")
22222 (license license:gpl3+)))
22223
22224 (define-public emacs-lsp-treemacs
22225 (package
22226 (name "emacs-lsp-treemacs")
22227 (version "0.3")
22228 (source
22229 (origin
22230 (method git-fetch)
22231 (uri (git-reference
22232 (url "https://github.com/emacs-lsp/lsp-treemacs")
22233 (commit version)))
22234 (file-name (git-file-name name version))
22235 (sha256
22236 (base32 "1z9cb7i546pbzvxii6lsj31jq8m70xrzscphl5z71vh93sydyhkb"))))
22237 (build-system emacs-build-system)
22238 (propagated-inputs
22239 `(("emacs-lsp-mode" ,emacs-lsp-mode)
22240 ("emacs-treemacs" ,emacs-treemacs)))
22241 (home-page "https://github.com/emacs-lsp/lsp-treemacs")
22242 (synopsis "Integration between LSP mode and treemacs")
22243 (description
22244 "This package provides integration between LSP mode and treemacs,
22245 and implementation of treeview controls using treemacs as a tree renderer.")
22246 (license license:gpl3+)))
22247
22248 (define-public emacs-dap-mode
22249 (package
22250 (name "emacs-dap-mode")
22251 (version "0.6")
22252 (source
22253 (origin
22254 (method git-fetch)
22255 (uri (git-reference
22256 (url "https://github.com/emacs-lsp/dap-mode")
22257 (commit version)))
22258 (file-name (git-file-name name version))
22259 (sha256
22260 (base32 "1d4hdydfk86d4slibigyhwng8wx3vzyap8hp5iv0h7wr6868m4iv"))))
22261 (build-system emacs-build-system)
22262 (propagated-inputs
22263 `(("emacs-bui" ,emacs-bui)
22264 ("emacs-lsp-mode" ,emacs-lsp-mode)
22265 ("emacs-posframe" ,emacs-posframe)
22266 ("emacs-lsp-treemacs" ,emacs-lsp-treemacs)))
22267 (home-page "https://emacs-lsp.github.io/dap-mode")
22268 (synopsis "Emacs client/library for Debug Adapter Protocol ")
22269 (description
22270 "Dap mode is an Emacs client/library for Debug Adapter
22271 Protocol (DAP), a wire protocol for communication between client and
22272 debug server. It is similar to the LSP but provides integration with
22273 Debug server.")
22274 (license license:gpl3+)))
22275
22276 (define-public emacs-pfuture
22277 (package
22278 (name "emacs-pfuture")
22279 (version "1.9")
22280 (source (origin
22281 (method git-fetch)
22282 (uri (git-reference
22283 (url "https://github.com/Alexander-Miller/pfuture")
22284 (commit version)))
22285 (file-name (git-file-name name version))
22286 (sha256
22287 (base32
22288 "1chpin5277vbl2xvsl04pzzk7a9dbcvclibm2496gz6yvd19pwsf"))))
22289 (build-system emacs-build-system)
22290 (home-page
22291 "https://github.com/Alexander-Miller/pfuture")
22292 (synopsis "Simple wrapper around asynchronous processes for Emacs")
22293 (description "This package provides a simple wrapper around asynchronous
22294 processes for Emacs")
22295 (license license:gpl3+)))
22296
22297 (define-public emacs-treemacs
22298 (package
22299 (name "emacs-treemacs")
22300 (version "2.8")
22301 (source (origin
22302 (method git-fetch)
22303 (uri (git-reference
22304 (url "https://github.com/Alexander-Miller/treemacs")
22305 (commit version)))
22306 (file-name (git-file-name name version))
22307 (sha256
22308 (base32
22309 "0m083g3pg0n4ymi1w0jx34awr7cqbm4r561adij9kklblxsz7sc2"))))
22310 (build-system emacs-build-system)
22311 (propagated-inputs
22312 `(("emacs-ace-window" ,emacs-ace-window)
22313 ("emacs-dash" ,emacs-dash)
22314 ("emacs-f" ,emacs-f)
22315 ("emacs-ht" ,emacs-ht)
22316 ("emacs-hydra" ,emacs-hydra)
22317 ("emacs-pfuture" ,emacs-pfuture)
22318 ("emacs-s" ,emacs-s)))
22319 (native-inputs
22320 `(("emacs-buttercup" ,emacs-buttercup)
22321 ("emacs-el-mock" ,emacs-el-mock)))
22322 (inputs
22323 `(("python" ,python)))
22324 (arguments
22325 `(#:tests? #t
22326 #:phases
22327 (modify-phases %standard-phases
22328 (add-after 'unpack 'fix-makefile
22329 (lambda _
22330 (substitute* "Makefile"
22331 (("@\\$\\(CASK\\) exec ") "")
22332 ;; Guix does not need to prepare dependencies before testing.
22333 (("test: prepare") "test:"))
22334 #t))
22335 (add-after 'fix-makefile 'chdir-elisp
22336 ;; Elisp directory is not in root of the source.
22337 (lambda _
22338 (chdir "src/elisp")))
22339 (replace 'check
22340 ;; FIXME: Work around ‘treemacs--parse-collapsed-dirs’ and
22341 ;; `treemacs-collect-child-nodes' test failures.
22342 (lambda _
22343 (with-directory-excursion "../.." ;treemacs root
22344 (chmod "test/test-treemacs.el" #o644)
22345 (emacs-substitute-sexps "test/test-treemacs.el"
22346 ("(describe \"treemacs--parse-collapsed-dirs\"" "")
22347 ("\"Finds only direct childre\"" ""))
22348 (invoke "make" "test"))))
22349 (add-before 'install 'patch-paths
22350 (lambda* (#:key inputs outputs #:allow-other-keys)
22351 (with-directory-excursion "../.." ;treemacs root
22352 (chmod "src/elisp/treemacs-core-utils.el" #o644)
22353 (emacs-substitute-variables "src/elisp/treemacs-core-utils.el"
22354 ("treemacs-dir"
22355 (string-append (assoc-ref outputs "out") "/")))
22356 (chmod "src/elisp/treemacs-icons.el" #o644)
22357 (substitute* "src/elisp/treemacs-icons.el"
22358 (("icons/default") "share/emacs-treemacs/images"))
22359 (chmod "src/elisp/treemacs-customization.el" #o644)
22360 (emacs-substitute-variables "src/elisp/treemacs-customization.el"
22361 ("treemacs-python-executable"
22362 (string-append (assoc-ref inputs "python") "/bin/python3")))
22363 (chmod "src/elisp/treemacs-async.el" #o644)
22364 (substitute* "src/elisp/treemacs-async.el"
22365 (("src/scripts") (string-append "share/" ,name "/scripts"))))
22366 #t))
22367 (add-after 'install 'install-data
22368 (lambda* (#:key outputs #:allow-other-keys)
22369 (let ((out (assoc-ref outputs "out")))
22370 (with-directory-excursion "../.." ;treemacs root
22371 (copy-recursively "icons/default"
22372 (string-append out "/share/" ,name "/images"))
22373 (copy-recursively
22374 "src/scripts"
22375 (string-append out "/share/" ,name "/scripts"))
22376 #t)))))))
22377 (home-page "https://github.com/Alexander-Miller/treemacs")
22378 (synopsis "Emacs tree style file explorer")
22379 (description
22380 "Treemacs is a file and project explorer similar to NeoTree or Vim's
22381 NerdTree, but largely inspired by the Project Explorer in Eclipse. It shows
22382 the file system outlines of your projects in a simple tree layout allowing
22383 quick navigation and exploration, while also possessing basic file management
22384 utilities.")
22385 (license license:gpl3+)))
22386
22387 (define-public emacs-treemacs-extra
22388 (package
22389 (inherit emacs-treemacs)
22390 (name "emacs-treemacs-extra")
22391 (propagated-inputs
22392 `(,@(package-propagated-inputs emacs-treemacs)
22393 ("emacs-evil" ,emacs-evil)
22394 ("emacs-magit" ,emacs-magit)
22395 ("emacs-projectile" ,emacs-projectile)
22396 ("emacs-persp-mode" ,emacs-persp-mode)))
22397 (arguments
22398 (substitute-keyword-arguments
22399 (package-arguments emacs-treemacs)
22400 ((#:phases phases)
22401 `(modify-phases ,phases
22402 (add-after 'chdir-elisp 'copy-extra
22403 (lambda _
22404 (copy-recursively "../extra" ".")))))))))
22405
22406 (define-public emacs-libyaml
22407 ;; Upstream made no release so far.
22408 (let ((version "0")
22409 (revision "1")
22410 (commit "703e0d448c7ee24e25b513a3c65980c80e166805"))
22411 (package
22412 (name "emacs-libyaml")
22413 (version (git-version version revision commit))
22414 (source
22415 (origin
22416 (method git-fetch)
22417 (uri (git-reference
22418 (url "https://github.com/syohex/emacs-libyaml")
22419 (commit commit)))
22420 (file-name (git-file-name name version))
22421 (sha256
22422 (base32 "08l7pm9v50ykd3fkbm0bh2kcd57cadbc5i9r6rj51vd32w3pl2yl"))))
22423 (build-system emacs-build-system)
22424 (arguments
22425 `(#:tests? #f ;no test
22426 #:modules ((guix build emacs-build-system)
22427 (guix build emacs-utils)
22428 (guix build utils))
22429 #:imported-modules (,@%emacs-build-system-modules
22430 (guix build gnu-build-system))
22431 #:phases
22432 (modify-phases %standard-phases
22433 (add-before 'add-source-to-load-path 'substitute-libyaml-core-path
22434 (lambda* (#:key outputs #:allow-other-keys)
22435 (chmod "libyaml.el" #o644)
22436 (substitute* "libyaml.el"
22437 (("^\\(require 'libyaml-core\\)")
22438 (string-append "(module-load \"" (assoc-ref outputs "out")
22439 "/lib/libyaml-core.so\")")))
22440 #t))
22441 (add-after 'check 'make
22442 ;; Run make.
22443 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
22444 ;; Compile the shared object file.
22445 (apply invoke "make" "all" "CPPFLAGS=" make-flags)
22446 ;; Move the file into /lib.
22447 (install-file "libyaml-core.so"
22448 (string-append (assoc-ref outputs "out") "/lib"))
22449 #t)))))
22450 (native-inputs `(("libyaml" ,libyaml)))
22451 (home-page "https://github.com/syohex/emacs-libyaml")
22452 (synopsis "Libyaml bindings for Emacs")
22453 (description
22454 "This package implements bindings for LibYAML to be able to parse YAML
22455 files in Elisp.")
22456 (license license:gpl3+))))
22457
22458 (define-public emacs-lsp-java
22459 (package
22460 (name "emacs-lsp-java")
22461 (version "3.1")
22462 (source (origin
22463 (method git-fetch)
22464 (uri (git-reference
22465 (url "https://github.com/emacs-lsp/lsp-java")
22466 (commit version)))
22467 (file-name (git-file-name name version))
22468 (sha256
22469 (base32
22470 "1h0hqgjpk5mbylma1fkva0vx45achf0k7ab2c5y8a2449niww90h"))))
22471 (build-system emacs-build-system)
22472 (propagated-inputs
22473 `(("emacs-dap-mode" ,emacs-dap-mode)
22474 ("emacs-lsp-mode" ,emacs-lsp-mode)
22475 ("emacs-markdown-mode" ,emacs-markdown-mode)
22476 ("emacs-dash" ,emacs-dash)
22477 ("emacs-f" ,emacs-f)
22478 ("emacs-ht" ,emacs-ht)
22479 ("emacs-request" ,emacs-request)
22480 ("emacs-treemacs" ,emacs-treemacs)))
22481 (home-page "https://github.com/emacs-lsp/lsp-java/")
22482 (synopsis "Java support for lsp-mode")
22483 (description "Emacs Java IDE using Eclipse JDT Language Server.")
22484 (license license:gpl3+)))
22485
22486 (define-public emacs-lsp-ui
22487 (package
22488 (name "emacs-lsp-ui")
22489 (version "7.0.1")
22490 (source (origin
22491 (method git-fetch)
22492 (uri (git-reference
22493 (url "https://github.com/emacs-lsp/lsp-ui")
22494 (commit version)))
22495 (file-name (git-file-name name version))
22496 (sha256
22497 (base32
22498 "09dmhhxmfjnzdc5kygwsjf8nwqlnq9rbgrca679s2wy93miqj7vc"))))
22499 (build-system emacs-build-system)
22500 (propagated-inputs
22501 `(("emacs-dash" ,emacs-dash)
22502 ("emacs-lsp-mode" ,emacs-lsp-mode)
22503 ("emacs-markdown-mode" ,emacs-markdown-mode)
22504 ("emacs-flycheck" ,emacs-flycheck)))
22505 (home-page "https://github.com/emacs-lsp/lsp-ui")
22506 (synopsis "User interface extensions for @code{lsp-mode}")
22507 (description
22508 "@code{LSP-ui} contains several enhancements and integrations for
22509 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
22510 and code peeking.")
22511 (license license:gpl3+)))
22512
22513 (define-public emacs-lsp-lua-emmy
22514 (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
22515 (package
22516 (name "emacs-lsp-lua-emmy")
22517 (version (git-version "0.1.0" "1" commit))
22518 (source (origin
22519 (method git-fetch)
22520 (uri (git-reference
22521 (url "https://github.com/phenix3443/lsp-lua-emmy")
22522 (commit commit)))
22523 (file-name (git-file-name name version))
22524 (sha256
22525 (base32
22526 "0rbizis73n1w5ig07fj1han74chbc1zpbp5bn37rj0gz608aqka8"))))
22527 (build-system emacs-build-system)
22528 (propagated-inputs
22529 `(("emacs-lsp-mode" ,emacs-lsp-mode)))
22530 (home-page "https://github.com/phenix3443/lsp-lua-emmy/")
22531 (synopsis "Lua support in @code{lsp-mode} client for Emacs")
22532 (description "This package provides a Lua language support in
22533 @code{lsp-mode} client for Emacs.")
22534 (license license:gpl3+))))
22535
22536 (define-public emacs-lsp-ivy
22537 (package
22538 (name "emacs-lsp-ivy")
22539 (version "0.4")
22540 (source
22541 (origin
22542 (method git-fetch)
22543 (uri (git-reference
22544 (url "https://github.com/emacs-lsp/lsp-ivy")
22545 (commit version)))
22546 (file-name (git-file-name name version))
22547 (sha256
22548 (base32 "08dpn0vcfdwwysijwdpnnj91m69yw0q464i0wmp51zpj3dyd4kb1"))))
22549 (build-system emacs-build-system)
22550 (propagated-inputs
22551 `(("emacs-dash" ,emacs-dash)
22552 ("emacs-ivy" ,emacs-ivy)
22553 ("emacs-lsp-mode" ,emacs-lsp-mode)))
22554 (home-page "https://github.com/emacs-lsp/lsp-ivy")
22555 (synopsis "Provide LSP-enhanced completion for symbols")
22556 (description
22557 "This package enhances @code{ivy} with completion for symbols from
22558 workspaces with a LSP-compliant server running.")
22559 (license license:gpl3+)))
22560
22561 (define-public emacs-helm-lsp
22562 (package
22563 (name "emacs-helm-lsp")
22564 (version "0.2")
22565 (source (origin
22566 (method git-fetch)
22567 (uri (git-reference
22568 (url "https://github.com/emacs-lsp/helm-lsp")
22569 (commit version)))
22570 (file-name (git-file-name name version))
22571 (sha256
22572 (base32
22573 "1vq3qpqm3ndqyvf5bk8qhqcr60x9ykc0ipk2a43rr3yjm4z1b6s9"))))
22574 (build-system emacs-build-system)
22575 (propagated-inputs
22576 `(("emacs-helm" ,emacs-helm)
22577 ("emacs-lsp-mode" ,emacs-lsp-mode)
22578 ("emacs-dash" ,emacs-dash)))
22579 (home-page "https://github.com/emacs-lsp/helm-lsp")
22580 (synopsis "Provide LSP-enhanced completion for symbols")
22581 (description
22582 "This package enhances @code{helm} with completion for symbols from
22583 workspaces with a LSP-compliant server running.")
22584 (license license:gpl3+)))
22585
22586 (define-public emacs-helm-notmuch
22587 (package
22588 (name "emacs-helm-notmuch")
22589 (version "1.2")
22590 (home-page "https://github.com/emacs-helm/helm-notmuch/")
22591 (source (origin
22592 (method git-fetch)
22593 (uri (git-reference
22594 (url home-page)
22595 (commit version)))
22596 (file-name (git-file-name name version))
22597 (sha256
22598 (base32
22599 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
22600 (build-system emacs-build-system)
22601 (propagated-inputs
22602 `(("emacs-helm" ,emacs-helm)
22603 ("notmuch" ,notmuch)))
22604 (synopsis "Search emails with Emacs Notmuch and Helm")
22605 (description
22606 "This package can be used to search emails in Emacs, searching result
22607 displays as you type thanks to Helm, though @command{notmuch-search} does the
22608 real search.")
22609 (license license:gpl3+)))
22610
22611 (define-public emacs-notmuch-maildir
22612 (package
22613 (name "emacs-notmuch-maildir")
22614 (version "0.2.0")
22615 (source (origin
22616 (method git-fetch)
22617 (uri (git-reference
22618 (url "https://git.sr.ht/~tarsius/notmuch-maildir")
22619 (commit (string-append "v" version))))
22620 (file-name (git-file-name name version))
22621 (sha256
22622 (base32
22623 "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"))))
22624 (build-system emacs-build-system)
22625 (propagated-inputs
22626 `(("notmuch" ,notmuch)))
22627 (home-page "https://git.sr.ht/~tarsius/notmuch-maildir")
22628 (synopsis "Visualize maildirs as a tree")
22629 (description
22630 "This package can visualize maildirs hierarchically in Notmuch's ``hello
22631 buffer''.")
22632 (license license:gpl3+)))
22633
22634 (define-public emacs-elmacro
22635 (package
22636 (name "emacs-elmacro")
22637 (version "1.1.1")
22638 (home-page "https://github.com/Silex/elmacro")
22639 (source (origin
22640 (method git-fetch)
22641 (uri (git-reference
22642 (url home-page)
22643 (commit version)))
22644 (file-name (git-file-name name version))
22645 (sha256
22646 (base32
22647 "1x4wnsshf9h10mp51x92vs5rxw5had4gmw6zz4f53czx1ymcv16a"))))
22648 (build-system emacs-build-system)
22649 (propagated-inputs
22650 `(("emacs-s" ,emacs-s)
22651 ("emacs-dash" ,emacs-dash)))
22652 (synopsis "Convert keyboard macros to Emacs Lisp")
22653 (description
22654 "This package displays keyboard macros or latest interactive commands
22655 as Emacs Lisp.")
22656 (license license:gpl3+)))
22657
22658 (define-public emacs-transient
22659 (package
22660 (name "emacs-transient")
22661 (version "0.3.2")
22662 (source (origin
22663 (method git-fetch)
22664 (uri (git-reference
22665 (url "https://github.com/magit/transient")
22666 (commit (string-append "v" version))))
22667 (file-name (git-file-name name version))
22668 (sha256
22669 (base32
22670 "1766hdqzg95k62nqhadfv502mpnjlx1l59ppqmc6r0las82dc6a8"))))
22671 (build-system emacs-build-system)
22672 (arguments
22673 `(#:tests? #f ;no test suite
22674 #:phases
22675 (modify-phases %standard-phases
22676 (add-after 'unpack 'build-info-manual
22677 (lambda _
22678 (invoke "make" "info")
22679 ;; Move the info file to lisp so that it gets installed by the
22680 ;; emacs-build-system.
22681 (rename-file "docs/transient.info" "lisp/transient.info")
22682 #t))
22683 (add-after 'build-info-manual 'enter-lisp-directory
22684 (lambda _
22685 (chdir "lisp")
22686 #t)))))
22687 (native-inputs
22688 `(("texinfo" ,texinfo)))
22689 (propagated-inputs
22690 `(("dash" ,emacs-dash)))
22691 (home-page "https://magit.vc/manual/transient")
22692 (synopsis "Transient commands in Emacs")
22693 (description "Taking inspiration from prefix keys and prefix arguments
22694 in Emacs, Transient implements a similar abstraction involving a prefix
22695 command, infix arguments and suffix commands. We could call this abstraction
22696 a \"transient command\", but because it always involves at least two
22697 commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
22698 (license license:gpl3+)))
22699
22700 (define-public emacs-forge
22701 (let ((commit "05ef02913004826165c383bd6d2ff6574542b76c"))
22702 (package
22703 (name "emacs-forge")
22704 (version (git-version "0.1.0" "5" commit))
22705 (source
22706 (origin
22707 (method git-fetch)
22708 (uri (git-reference
22709 (url "https://github.com/magit/forge")
22710 (commit commit)))
22711 (file-name (git-file-name name version))
22712 (sha256
22713 (base32
22714 "1vv7xlawj2zmwqk69qlsqflhh0lbyqm5xf4x8l4v2069g0k8mmx1"))))
22715 (build-system emacs-build-system)
22716 (native-inputs
22717 `(("texinfo" ,texinfo)))
22718 (propagated-inputs
22719 `(("emacs-closql" ,emacs-closql)
22720 ("emacs-dash" ,emacs-dash)
22721 ("emacs-emacsql-sqlite" ,emacs-emacsql)
22722 ("emacs-ghub" ,emacs-ghub)
22723 ("emacs-let-alist" ,emacs-let-alist)
22724 ("emacs-magit" ,emacs-magit)
22725 ("emacs-markdown-mode" ,emacs-markdown-mode)
22726 ("emacs-transient" ,emacs-transient)))
22727 (arguments
22728 `(#:tests? #f ;no tests
22729 #:phases
22730 (modify-phases %standard-phases
22731 (add-after 'unpack 'build-info-manual
22732 (lambda _
22733 (invoke "make" "info")
22734 ;; Move the info file to lisp so that it gets installed by the
22735 ;; emacs-build-system.
22736 (rename-file "docs/forge.info" "lisp/forge.info")))
22737 (add-after 'build-info-manual 'chdir-lisp
22738 (lambda _
22739 (chdir "lisp")
22740 #t)))))
22741 (home-page "https://github.com/magit/forge/")
22742 (synopsis "Access Git forges from Magit")
22743 (description "Work with Git forges, such as Github and Gitlab, from the
22744 comfort of Magit and the rest of Emacs.")
22745 (license license:gpl3+))))
22746
22747 (define-public emacs-matcha
22748 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
22749 (package
22750 (name "emacs-matcha")
22751 (version (git-version "0.0.1" "1" commit)) ;no upstream release
22752 (source (origin
22753 (method git-fetch)
22754 (uri (git-reference
22755 (url "https://github.com/jojojames/matcha")
22756 (commit commit)))
22757 (file-name (git-file-name name version))
22758 (sha256
22759 (base32
22760 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
22761 (propagated-inputs
22762 `(("emacs-hydra" ,emacs-hydra)
22763 ("emacs-transient" ,emacs-transient)))
22764 (build-system emacs-build-system)
22765 (home-page "https://github.com/jojojames/matcha/")
22766 (synopsis "Collection of hydras with a generic interface to launch them")
22767 (description "Matcha provides a collection of transients for various
22768 packages with a consistent way to use them.")
22769 (license license:gpl3+))))
22770
22771 (define-public emacs-undo-propose-el
22772 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
22773 (revision "3"))
22774 (package
22775 (name "emacs-undo-propose-el")
22776 (version (git-version "3.0.0" revision commit))
22777 (source
22778 (origin
22779 (method git-fetch)
22780 (uri (git-reference
22781 (url "https://github.com/jackkamm/undo-propose-el")
22782 (commit commit)))
22783 (file-name (git-file-name name version))
22784 (sha256
22785 (base32
22786 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
22787 (build-system emacs-build-system)
22788 (arguments
22789 `(#:tests? #t
22790 #:test-command '("make" "test")))
22791 (home-page "https://github.com/jackkamm/undo-propose-el")
22792 (synopsis "Simple and safe navigation of @code{undo} history")
22793 (description "This package permits navigation of @code{undo} history in a
22794 temporary buffer, which is read-only save for @code{undo} commands, and
22795 subsequent committal of a chain of @code{undo} commands as a single edit in
22796 the @code{undo} history.")
22797 (license license:gpl3+))))
22798
22799 (define-public emacs-elisp-docstring-mode
22800 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
22801 (version "0.0.1")
22802 (revision "1"))
22803 (package
22804 (name "emacs-elisp-docstring-mode")
22805 (version (git-version version revision commit))
22806 (source
22807 (origin
22808 (method git-fetch)
22809 (uri (git-reference
22810 (url "https://github.com/Fuco1/elisp-docstring-mode")
22811 (commit commit)))
22812 (file-name (git-file-name name version))
22813 (sha256
22814 (base32
22815 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
22816 (build-system emacs-build-system)
22817 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
22818 (synopsis "Major mode for editing Emacs Lisp docstrings")
22819 (description "This package provides font lock and automatic escaping and
22820 unescaping of quotes.")
22821 (license license:gpl3+))))
22822
22823 (define-public emacs-vimrc-mode
22824 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
22825 (version "0.3.1")
22826 (revision "1"))
22827 (package
22828 (name "emacs-vimrc-mode")
22829 (version (git-version version revision commit))
22830 (source
22831 (origin
22832 (method git-fetch)
22833 (uri (git-reference
22834 (url "https://github.com/mcandre/vimrc-mode")
22835 (commit commit)))
22836 (file-name (git-file-name name version))
22837 (sha256
22838 (base32
22839 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
22840 (build-system emacs-build-system)
22841 (home-page "https://github.com/mcandre/vimrc-mode")
22842 (synopsis "Major mode for Vimscript")
22843 (description "This package provides font lock and @code{beginning-} and
22844 @code{end-of-defun} functions for Vimscript files.")
22845 (license license:gpl3+))))
22846
22847 (define-public emacs-flycheck-elm
22848 (let ((revision "0")
22849 (commit "1b60050efd4729bfba548f3e5adbcb58436667cb"))
22850 (package
22851 (name "emacs-flycheck-elm")
22852 (version (git-version "0" revision commit))
22853 (source
22854 (origin
22855 (method git-fetch)
22856 (uri
22857 (git-reference
22858 (url "https://github.com/bsermons/flycheck-elm")
22859 (commit commit)))
22860 (file-name (git-file-name name version))
22861 (sha256
22862 (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms"))))
22863 (build-system emacs-build-system)
22864 (propagated-inputs
22865 `(("emacs-flycheck" ,emacs-flycheck)
22866 ("emacs-let-alist" ,emacs-let-alist)))
22867 (home-page "https://github.com/bsermons/flycheck-elm")
22868 (synopsis "Flycheck support for the Elm language")
22869 (description "Flycheck Elm adds Flycheck support for Elm language.")
22870 (license license:gpl3+))))
22871
22872 (define-public emacs-flycheck-haskell
22873 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
22874 (revision "2"))
22875 (package
22876 (name "emacs-flycheck-haskell")
22877 (version (git-version "0.8" revision commit))
22878 (source
22879 (origin
22880 (method git-fetch)
22881 (uri (git-reference
22882 (url "https://github.com/flycheck/flycheck-haskell")
22883 (commit commit)))
22884 (file-name (git-file-name name version))
22885 (sha256
22886 (base32
22887 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
22888 (build-system emacs-build-system)
22889 (propagated-inputs
22890 `(("emacs-dash" ,emacs-dash)
22891 ("emacs-flycheck" ,emacs-flycheck)
22892 ("emacs-haskell-mode" ,emacs-haskell-mode)
22893 ("emacs-let-alist" ,emacs-let-alist)))
22894 (arguments
22895 `(#:include '("\\.el$" "\\.hs$")))
22896 (home-page "https://github.com/flycheck/flycheck-haskell")
22897 (synopsis "Flycheck for Haskell")
22898 (description "This package configures syntax-checking for Haskell
22899 buffers.")
22900 (license license:gpl3+))))
22901
22902 (define-public emacs-js2-refactor-el
22903 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
22904 (revision "2"))
22905 (package
22906 (name "emacs-js2-refactor-el")
22907 (version (git-version "0.9.0" revision commit))
22908 (source
22909 (origin
22910 (method git-fetch)
22911 (uri (git-reference
22912 (url "https://github.com/magnars/js2-refactor.el")
22913 (commit commit)))
22914 (file-name (git-file-name name version))
22915 (sha256
22916 (base32
22917 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
22918 (build-system emacs-build-system)
22919 (propagated-inputs
22920 `(("emacs-dash" ,emacs-dash)
22921 ("emacs-s" ,emacs-s)
22922 ("emacs-js2-mode" ,emacs-js2-mode)
22923 ("emacs-yasnippet" ,emacs-yasnippet)
22924 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
22925 (native-inputs
22926 `(("emacs-buttercup" ,emacs-buttercup)
22927 ("emacs-espuds" ,emacs-espuds)))
22928 (home-page "https://github.com/magnars/js2-refactor.el")
22929 (synopsis "JavaScript refactoring in Emacs")
22930 (description "This package provides various refactoring functions for
22931 JavaScript.")
22932 (license license:gpl3+))))
22933
22934 (define-public emacs-prettier
22935 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
22936 (version "0.1.0")
22937 (revision "1"))
22938 (package
22939 (name "emacs-prettier")
22940 (version (git-version version revision commit))
22941 (source
22942 (origin
22943 (method git-fetch)
22944 (uri (git-reference
22945 (url "https://github.com/prettier/prettier-emacs")
22946 (commit commit)))
22947 (file-name (git-file-name name version))
22948 (sha256
22949 (base32
22950 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
22951 (build-system emacs-build-system)
22952 (home-page "https://github.com/prettier/prettier-emacs")
22953 (synopsis "Automatic formatting of JavaScript code")
22954 (description "This package integrates Prettier with Emacs, and
22955 provides a minor mode that autoformats the buffer upon saving.")
22956 (license license:expat))))
22957
22958 (define-public emacs-fish-mode
22959 (package
22960 (name "emacs-fish-mode")
22961 (version "0.1.6")
22962 (source
22963 (origin
22964 (method git-fetch)
22965 (uri (git-reference
22966 (url "https://github.com/wwwjfy/emacs-fish")
22967 (commit version)))
22968 (file-name (git-file-name name version))
22969 (sha256
22970 (base32
22971 "1spxxkji9xa930sbwvzyjm8jrqk9ra0xqhivw7zd12a4c56nhna9"))))
22972 (build-system emacs-build-system)
22973 (home-page "https://github.com/wwwjfy/emacs-fish")
22974 (synopsis "Major mode for Fish shell scripts")
22975 (description "This package provides syntax highlighting and indentation
22976 functions for Fish shell scripts.")
22977 (license license:gpl3+)))
22978
22979 (define-public emacs-eshell-up
22980 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
22981 (version "0.0.3")
22982 (revision "12"))
22983 (package
22984 (name "emacs-eshell-up")
22985 (version (git-version version revision commit))
22986 (source
22987 (origin
22988 (method git-fetch)
22989 (uri (git-reference
22990 (url "https://github.com/peterwvj/eshell-up")
22991 (commit commit)))
22992 (file-name (git-file-name name version))
22993 (sha256
22994 (base32
22995 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
22996 (build-system emacs-build-system)
22997 (home-page "https://github.com/peterwvj/eshell-up")
22998 (synopsis "Quickly go to a parent directory in @code{Eshell}")
22999 (description "This package provides quick navigation to a specific
23000 parent directory using @code{Eshell}.")
23001 (license license:gpl3+))))
23002
23003 (define-public emacs-springboard
23004 ;; Upstream provides no tag. Using the latest commit. Version is extracted
23005 ;; from "Version:" keyword.
23006 (let ((commit "687d1e5898a880878995dc9bffe93b4598366203")
23007 (version "1.0")
23008 (revision "1"))
23009 (package
23010 (name "emacs-springboard")
23011 (version (git-version version revision commit))
23012 (source
23013 (origin
23014 (method git-fetch)
23015 (uri (git-reference
23016 (url "https://github.com/jwiegley/springboard")
23017 (commit commit)))
23018 (file-name (git-file-name name version))
23019 (sha256
23020 (base32 "0fn8c4hqblfjvcpg68kj2dmdjqsdnxddqbzgvakl43zckjg8pi01"))))
23021 (build-system emacs-build-system)
23022 (propagated-inputs
23023 `(("emacs-helm" ,emacs-helm)
23024 ("emacs-ivy" ,emacs-ivy)))
23025 (home-page "https://github.com/jwiegley/springboard")
23026 (synopsis "Change the Emacs default directory quickly")
23027 (description
23028 "This Emacs package provides a quick way to change the default
23029 directory for only the next invoked command. The directory selection can be
23030 done using Helm, Ido or Ivy.")
23031 (license license:gpl2+))))
23032
23033 (define-public emacs-tco-el
23034 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
23035 (revision "1"))
23036 (package
23037 (name "emacs-tco-el")
23038 (version (git-version "0.3" revision commit))
23039 (source
23040 (origin
23041 (method git-fetch)
23042 (uri (git-reference
23043 (url "https://github.com/Wilfred/tco.el")
23044 (commit commit)))
23045 (file-name (git-file-name name version))
23046 (sha256
23047 (base32
23048 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
23049 (build-system emacs-build-system)
23050 (propagated-inputs
23051 `(("emacs-dash" ,emacs-dash)))
23052 (native-inputs
23053 `(("emacs-ert-runner" ,emacs-ert-runner)
23054 ("emacs-undercover" ,emacs-undercover)))
23055 (arguments
23056 `(#:tests? #t
23057 #:test-command '("ert-runner")))
23058 (home-page "https://github.com/Wilfred/tco.el")
23059 (synopsis "Tail-call optimization for Emacs Lisp")
23060 (description "This package provides tail-call optimization for Emacs
23061 Lisp functions that call themselves in tail position.")
23062 (license license:gpl3+))))
23063
23064 (define-public emacs-equake
23065 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
23066 (revision "2"))
23067 (package
23068 (name "emacs-equake")
23069 (version (git-version "0.85" revision commit))
23070 (source
23071 (origin
23072 (method git-fetch)
23073 (uri (git-reference
23074 (url "https://gitlab.com/emacsomancer/equake/")
23075 (commit commit)))
23076 (file-name (git-file-name name version))
23077 (sha256
23078 (base32
23079 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
23080 (build-system emacs-build-system)
23081 (propagated-inputs
23082 `(("emacs-dash" ,emacs-dash)
23083 ("emacs-tco-el" ,emacs-tco-el)))
23084 (home-page "https://gitlab.com/emacsomancer/equake/")
23085 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
23086 (description "This package provides a Quake-style drop-down console
23087 compatible with Emacs' shell modes.")
23088 (license license:gpl3+))))
23089
23090 (define-public emacs-vdiff
23091 ;; There is no proper tag, but the commit below matches the version bump.
23092 (let ((commit "007e44be19d068fd6b49874b6e9b8df8b1f552bd"))
23093 (package
23094 (name "emacs-vdiff")
23095 (version "0.2.4")
23096 (source
23097 (origin
23098 (method git-fetch)
23099 (uri (git-reference
23100 (url "https://github.com/justbur/emacs-vdiff")
23101 (commit commit)))
23102 (file-name (git-file-name name version))
23103 (sha256
23104 (base32 "197xrwph1llrzjgkhlvagiwdgfp68pb45w5afg89ndahpqc2725s"))))
23105 (build-system emacs-build-system)
23106 (propagated-inputs
23107 `(("emacs-hydra" ,emacs-hydra)))
23108 (arguments
23109 `(#:tests? #t
23110 #:test-command '("emacs" "-Q" "-batch" "-L" "."
23111 "-l" "vdiff-test.el"
23112 "-f" "ert-run-tests-batch-and-exit")))
23113 (home-page "https://github.com/justbur/emacs-vdiff/")
23114 (synopsis "Frontend for diffing based on vimdiff")
23115 (description
23116 "This package permits comparisons of two or three buffers based on diff
23117 output.")
23118 (license license:gpl3+))))
23119
23120 (define-public emacs-vdiff-magit
23121 ;; Need to use a more recent commit than the latest release version because
23122 ;; of Magit and Transient
23123 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
23124 (version "0.3.2")
23125 (revision "8"))
23126 (package
23127 (name "emacs-vdiff-magit")
23128 (version (git-version version revision commit))
23129 (source
23130 (origin
23131 (method git-fetch)
23132 (uri (git-reference
23133 (url "https://github.com/justbur/emacs-vdiff-magit/")
23134 (commit commit)))
23135 (file-name (git-file-name name version))
23136 (sha256
23137 (base32
23138 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
23139 (build-system emacs-build-system)
23140 (propagated-inputs
23141 `(("emacs-vdiff" ,emacs-vdiff)
23142 ("emacs-magit" ,emacs-magit)
23143 ("emacs-transient" ,emacs-transient)))
23144 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
23145 (synopsis "Frontend for diffing based on vimdiff")
23146 (description "This package permits comparisons of two or three buffers
23147 based on diff output.")
23148 (license license:gpl3+))))
23149
23150 (define-public emacs-all-the-icons-dired
23151 (let ((commit "fc2dfa1e9eb8bf1c402a675e7089638d702a27a5")
23152 (version "1.0")
23153 (revision "2"))
23154 (package
23155 (name "emacs-all-the-icons-dired")
23156 (version (git-version version revision commit))
23157 (source
23158 (origin
23159 (method git-fetch)
23160 (uri (git-reference
23161 (url "https://github.com/jtbm37/all-the-icons-dired/")
23162 (commit commit)))
23163 (file-name (git-file-name name version))
23164 (sha256
23165 (base32
23166 "0zhyhz4lhx0d8wwh1xxxf7ck4s621fk9757ql2ypxbr4iqh7sjlp"))))
23167 (build-system emacs-build-system)
23168 (propagated-inputs
23169 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
23170 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
23171 (synopsis "Show icons for each file in @code{dired-mode}")
23172 (description "This package allows icons from @file{all-the-icons.el} to
23173 be used in @code{dired-mode}.")
23174 (license license:gpl3+))))
23175
23176 (define-public emacs-exwm-edit
23177 (let ((commit "e1291e311840f1049106fe98cec032a1c75efd2b")
23178 (version "0.0.1")
23179 (revision "3"))
23180 (package
23181 (name "emacs-exwm-edit")
23182 (version (git-version version revision commit))
23183 (source
23184 (origin
23185 (method git-fetch)
23186 (uri (git-reference
23187 (url "https://github.com/agzam/exwm-edit/")
23188 (commit commit)))
23189 (file-name (git-file-name name version))
23190 (sha256
23191 (base32
23192 "031cb8fvv5n30djr9lpl6vz3rl15zykfvjlgkjc8l33a3l5mw8j0"))))
23193 (build-system emacs-build-system)
23194 (propagated-inputs
23195 `(("emacs-exwm" ,emacs-exwm)))
23196 (home-page "https://github.com/agzam/exwm-edit/")
23197 (synopsis "Open temp buffers for editing text from EXWM buffers")
23198 (description "This package facilitates editing text from EXWM buffers by
23199 generating a temp buffer in which any useful Emacs utilities and modes can be
23200 invoked.")
23201 (license license:gpl3+))))
23202
23203 (define-public emacs-ert-async
23204 (package
23205 (name "emacs-ert-async")
23206 (version "0.1.2")
23207 (source
23208 (origin
23209 (method git-fetch)
23210 (uri (git-reference
23211 (url "https://github.com/rejeep/ert-async.el")
23212 (commit (string-append "v" version))))
23213 (file-name (git-file-name name version))
23214 (sha256
23215 (base32
23216 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
23217 (build-system emacs-build-system)
23218 (home-page "https://github.com/rejeep/ert-async.el")
23219 (synopsis "Async support for ERT")
23220 (description "This package allows ERT to work with asynchronous tests.")
23221 (license license:gpl3+)))
23222
23223 (define-public emacs-prodigy-el
23224 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
23225 (revision "2"))
23226 (package
23227 (name "emacs-prodigy-el")
23228 (version (git-version "0.7.0" revision commit))
23229 (source
23230 (origin
23231 (method git-fetch)
23232 (uri (git-reference
23233 (url "https://github.com/rejeep/prodigy.el")
23234 (commit commit)))
23235 (file-name (git-file-name name version))
23236 (sha256
23237 (base32
23238 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
23239 (build-system emacs-build-system)
23240 (propagated-inputs
23241 `(("emacs-dash" ,emacs-dash)
23242 ("emacs-s" ,emacs-s)
23243 ("emacs-f" ,emacs-f)))
23244 (native-inputs
23245 `(("emacs-el-mock" ,emacs-el-mock)
23246 ("emacs-ert-async" ,emacs-ert-async)))
23247 (home-page "https://github.com/rejeep/prodigy.el")
23248 (synopsis "Manage external services from within Emacs")
23249 (description "This package provides a GUI for defining and monitoring services.")
23250 (license license:gpl3+))))
23251
23252 (define-public emacs-web-server
23253 (package
23254 (name "emacs-web-server")
23255 (version "0.1.2")
23256 (source
23257 (origin
23258 (method url-fetch)
23259 (uri (string-append "https://elpa.gnu.org/packages/"
23260 "web-server-" version ".tar"))
23261 (sha256
23262 (base32 "10lcsl4dg2yr9zjd99gq9jz150wvvh6r5y9pd88l8y9vz16f2lim"))))
23263 (build-system emacs-build-system)
23264 (home-page "https://github.com/eschulte/emacs-web-server/")
23265 (synopsis "Web server with handlers in Emacs Lisp")
23266 (description "This package supports HTTP GET and POST requests with
23267 url-encoded parameters, as well as web sockets.")
23268 (license license:gpl3+)))
23269
23270 (define-public emacs-markdown-preview-mode
23271 (package
23272 (name "emacs-markdown-preview-mode")
23273 (version "0.9.2")
23274 (source
23275 (origin
23276 (method git-fetch)
23277 (uri (git-reference
23278 (url "https://github.com/ancane/markdown-preview-mode")
23279 (commit (string-append "v" version))))
23280 (file-name (git-file-name name version))
23281 (sha256
23282 (base32
23283 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
23284 (build-system emacs-build-system)
23285 (propagated-inputs
23286 `(("emacs-markdown-mode" ,emacs-markdown-mode)
23287 ("emacs-websocket" ,emacs-websocket)
23288 ("emacs-web-server" ,emacs-web-server)))
23289 (arguments '(#:include '("\\.el$" "\\.html$")))
23290 (home-page "https://github.com/ancane/markdown-preview-mode")
23291 (synopsis "Preview Markdown files")
23292 (description "This package provides a minor mode for preview of Markdown
23293 files, and sends rendered Markdown to a web browser.")
23294 (license license:gpl3+)))
23295
23296 (define-public emacs-dotenv-mode
23297 (package
23298 (name "emacs-dotenv-mode")
23299 (version "0.2.5")
23300 (source
23301 (origin
23302 (method git-fetch)
23303 (uri (git-reference
23304 (url "https://github.com/preetpalS/emacs-dotenv-mode")
23305 (commit (string-append "v" version))))
23306 (file-name (git-file-name name version))
23307 (sha256
23308 (base32
23309 "0ys1czramj3c8zbnxxc599bqc0nqp3nnn3n45ac9cjglx5iaydq3"))))
23310 (build-system emacs-build-system)
23311 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
23312 (synopsis "Major mode for @file{.env} files")
23313 (description "This package provides syntax highlighting for @file{.env}
23314 files.")
23315 (license license:gpl3+)))
23316
23317 (define-public emacs-add-node-modules-path
23318 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
23319 (version "1.2.0")
23320 (revision "10"))
23321 (package
23322 (name "emacs-add-node-modules-path")
23323 (version (git-version version revision commit))
23324 (source
23325 (origin
23326 (method git-fetch)
23327 (uri (git-reference
23328 (url "https://github.com/codesuki/add-node-modules-path")
23329 (commit commit)))
23330 (file-name (git-file-name name version))
23331 (sha256
23332 (base32
23333 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
23334 (build-system emacs-build-system)
23335 (home-page "https://github.com/codesuki/add-node-modules-path")
23336 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
23337 (description "This package searches the parent directories of the
23338 current file for the project's @file{node_modules/.bin/} directory, allowing
23339 Emacs to find project-specific installations of packages.")
23340 (license license:expat))))
23341
23342 (define-public emacs-flow-minor-mode
23343 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
23344 (version "0.3")
23345 (revision "4"))
23346 (package
23347 (name "emacs-flow-minor-mode")
23348 (version (git-version version revision commit))
23349 (source
23350 (origin
23351 (method git-fetch)
23352 (uri (git-reference
23353 (url "https://github.com/an-sh/flow-minor-mode")
23354 (commit commit)))
23355 (file-name (git-file-name name version))
23356 (sha256
23357 (base32
23358 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
23359 (build-system emacs-build-system)
23360 (home-page "https://github.com/an-sh/flow-minor-mode")
23361 (synopsis "Minor mode for JavaScript Flow files")
23362 (description "This package integrates Flow with Emacs, allowing for
23363 definition-jumping and type-checking on demand.")
23364 (license license:bsd-3))))
23365
23366 (define-public emacs-rjsx-mode
23367 (package
23368 (name "emacs-rjsx-mode")
23369 (version "0.5.0")
23370 (source
23371 (origin
23372 (method git-fetch)
23373 (uri (git-reference
23374 (url "https://github.com/felipeochoa/rjsx-mode")
23375 (commit (string-append "v" version))))
23376 (file-name (git-file-name name version))
23377 (sha256
23378 (base32
23379 "08b4hdgq4hc1yfd9pvyir2j3cqqdqa3j5svgaba97x5fzhsz7y8i"))))
23380 (build-system emacs-build-system)
23381 (propagated-inputs
23382 `(("emacs-js2-mode" ,emacs-js2-mode)))
23383 (arguments
23384 `(#:tests? #t
23385 #:test-command '("make" "test")))
23386 (home-page "https://github.com/felipeochoa/rjsx-mode")
23387 (synopsis "Major mode for JSX files")
23388 (description "This package extends the parser of @code{js2-mode} to
23389 support JSX syntax.")
23390 (license license:expat)))
23391
23392 (define-public emacs-origami-el
23393 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
23394 (version "1.0")
23395 (revision "1"))
23396 (package
23397 (name "emacs-origami-el")
23398 (version (git-version version revision commit))
23399 (source
23400 (origin
23401 (method git-fetch)
23402 (uri (git-reference
23403 (url "https://github.com/gregsexton/origami.el")
23404 (commit commit)))
23405 (file-name (git-file-name name version))
23406 (sha256
23407 (base32
23408 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
23409 (build-system emacs-build-system)
23410 (propagated-inputs
23411 `(("emacs-dash" ,emacs-dash)
23412 ("emacs-s" ,emacs-s)))
23413 (home-page "https://github.com/gregsexton/origami.el")
23414 (synopsis "Flexible text-folding")
23415 (description "This package provides a minor mode for collapsing and
23416 expanding regions of text without modifying the actual contents.")
23417 (license license:expat))))
23418
23419 (define-public emacs-peep-dired
23420 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
23421 (version "0")
23422 (revision "1"))
23423 (package
23424 (name "emacs-peep-dired")
23425 (version (git-version version revision commit))
23426 (source
23427 (origin
23428 (method git-fetch)
23429 (uri (git-reference
23430 (url "https://github.com/asok/peep-dired")
23431 (commit commit)))
23432 (file-name (git-file-name name version))
23433 (sha256
23434 (base32
23435 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
23436 (build-system emacs-build-system)
23437 (home-page "https://github.com/asok/peep-dired")
23438 (synopsis "Preview files in another window")
23439 (description "This package provides a minor mode that allows files to be
23440 previewed by scrolling up and down within a @code{dired} buffer.")
23441 (license license:gpl3+))))
23442
23443 (define-public emacs-counsel-etags
23444 (package
23445 (name "emacs-counsel-etags")
23446 (version "1.9.16")
23447 (source
23448 (origin
23449 (method git-fetch)
23450 (uri (git-reference
23451 (url "https://github.com/redguardtoo/counsel-etags")
23452 (commit version)))
23453 (file-name (git-file-name name version))
23454 (sha256
23455 (base32 "01si554r0s6m7ypx1m2n0z6j6q6yihifz76dha6q6v56ixdlv626"))))
23456 (build-system emacs-build-system)
23457 (propagated-inputs
23458 `(("emacs-counsel" ,emacs-counsel)))
23459 (arguments
23460 `(#:tests? #t
23461 #:test-command '("make" "test")))
23462 (home-page "https://github.com/redguardtoo/counsel-etags")
23463 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
23464 (description "This package uses @code{ivy-mode} to facilitate navigating
23465 and searching through @code{Ctags} files.")
23466 (license license:gpl3+)))
23467
23468 (define-public emacs-ivy-clipmenu
23469 (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
23470 (package
23471 (name "emacs-ivy-clipmenu")
23472 (version (git-version "0.0.1" "1" commit))
23473 (source (origin
23474 (method git-fetch)
23475 (uri (git-reference
23476 (url "https://github.com/wpcarro/ivy-clipmenu.el")
23477 (commit commit)))
23478 (file-name (git-file-name name version))
23479 (sha256
23480 (base32
23481 "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
23482 (propagated-inputs
23483 `(("emacs-f" ,emacs-f)
23484 ("emacs-ivy" ,emacs-ivy)))
23485 (build-system emacs-build-system)
23486 (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
23487 (synopsis "Ivy integration with clipmenu")
23488 (description "Ivy integration with the clipboard manager, clipmenu.")
23489 (license license:expat))))
23490
23491 (define-public emacs-org-download
23492 (let ((commit "42ac361ef5502017e6fc1bceb00333eba90402f4")
23493 (revision "3"))
23494 (package
23495 (name "emacs-org-download")
23496 (version (git-version "0.1.0" revision commit))
23497 (source (origin
23498 (method git-fetch)
23499 (uri (git-reference
23500 (url "https://github.com/abo-abo/org-download")
23501 (commit commit)))
23502 (file-name (git-file-name name version))
23503 (sha256
23504 (base32 "0cg4y7hy7xbq4vrbdicfzgvyaf3cjbx2zkqd4yl0y2garz71j99l"))))
23505 (build-system emacs-build-system)
23506 (propagated-inputs
23507 `(("emacs-org" ,emacs-org)
23508 ("emacs-async" ,emacs-async)))
23509 (home-page "https://github.com/abo-abo/org-download")
23510 (synopsis "Facilitate moving images")
23511 (description "This package provides utilities for managing image files
23512 copied into @code{org-mode} buffers.")
23513 (license license:gpl3+))))
23514
23515 (define-public emacs-org-drill-table
23516 ;; No releases or tags.
23517 (let ((commit "096387d929bcf3eb479e0a9d5da9cf32c756a759")
23518 (revision "0"))
23519 (package
23520 (name "emacs-org-drill-table")
23521 (version (git-version "0.1" revision commit))
23522 (source
23523 (origin
23524 (method git-fetch)
23525 (uri (git-reference
23526 (url "https://github.com/chrisbarrett/org-drill-table.git")
23527 (commit commit)))
23528 (file-name (git-file-name name version))
23529 (sha256
23530 (base32 "1a8ygrcag8i9hdpy2vsn0sh8lwhl9b56rv91j3rddy1jv5qx1ipb"))))
23531 (build-system emacs-build-system)
23532 (propagated-inputs
23533 `(("emacs-dash" ,emacs-dash)
23534 ("emacs-org" ,emacs-org)
23535 ("emacs-s" ,emacs-s)))
23536 (home-page "https://github.com/chrisbarrett/org-drill-table")
23537 (synopsis "Generate Org drill cards using Org mode tables")
23538 (description
23539 "This package generates drill cards based on an Org mode table in the
23540 current subtree. The cards are inserted under a new ``Cards'' heading in the
23541 current tree.")
23542 (license license:gpl3+))))
23543
23544 (define-public emacs-dash-docs
23545 (let ((commit "dafc8fc9f1ddb2e4e39e0b8d066c42d5d7ce8d06")
23546 (revision "2"))
23547 (package
23548 (name "emacs-dash-docs")
23549 (version (git-version "1.4.0" revision commit))
23550 (source
23551 (origin
23552 (method git-fetch)
23553 (uri (git-reference
23554 (url "https://github.com/dash-docs-el/dash-docs")
23555 (commit commit)))
23556 (file-name (git-file-name name version))
23557 (sha256
23558 (base32
23559 "0n6d3mm43gj16v8kjjradcfik93wb89dsqnfcbskb28bvcamafid"))))
23560 (build-system emacs-build-system)
23561 (propagated-inputs
23562 `(("emacs-async" ,emacs-async)))
23563 (native-inputs
23564 `(("emacs-undercover" ,emacs-undercover)
23565 ("emacs-ert-runner" ,emacs-ert-runner)))
23566 (arguments
23567 `(#:tests? #t
23568 #:test-command '("ert-runner")
23569 #:phases
23570 ;; this test requires network access, so remove it
23571 (modify-phases %standard-phases
23572 (add-before 'check 'make-tests-writable
23573 (lambda _
23574 (make-file-writable "test/dash-docs-test.el")
23575 #t))
23576 (add-before 'check 'delete-test
23577 (lambda _
23578 (emacs-batch-edit-file "test/dash-docs-test.el"
23579 `(progn (progn
23580 (goto-char (point-min))
23581 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
23582 (beginning-of-line)
23583 (kill-sexp))
23584 (basic-save-buffer)))
23585 #t)))))
23586 (home-page "https://github.com/dash-docs-el/dash-docs")
23587 (synopsis "Offline documentation browser for APIs using Dash docsets")
23588 (description "This package exposes functionality to work with Dash docsets.")
23589 (license license:gpl3+))))
23590
23591 (define-public emacs-helm-dash
23592 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
23593 (revision "2"))
23594 (package
23595 (name "emacs-helm-dash")
23596 (version (git-version "1.3.0" revision commit))
23597 (source
23598 (origin
23599 (method git-fetch)
23600 (uri (git-reference
23601 (url "https://github.com/areina/helm-dash")
23602 (commit commit)))
23603 (file-name (git-file-name name version))
23604 (sha256
23605 (base32
23606 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
23607 (build-system emacs-build-system)
23608 (propagated-inputs
23609 `(("emacs-helm" ,emacs-helm)
23610 ("emacs-dash-docs" ,emacs-dash-docs)))
23611 (home-page "https://github.com/areina/helm-dash")
23612 (synopsis "Offline documentation browser for APIs using Dash docsets")
23613 (description "This package uses Helm to install and navigate through
23614 Dash docsets.")
23615 (license license:gpl3+))))
23616
23617 (define-public emacs-counsel-dash
23618 (let ((commit "370d5f6f14b5294d0eb717f7b2a6a8e93df1ed24")
23619 (revision "4"))
23620 (package
23621 (name "emacs-counsel-dash")
23622 (version (git-version "0.1.3" revision commit))
23623 (source
23624 (origin
23625 (method git-fetch)
23626 (uri (git-reference
23627 (url "https://github.com/dash-docs-el/counsel-dash")
23628 (commit commit)))
23629 (file-name (git-file-name name version))
23630 (sha256
23631 (base32 "1fn38vbz46ijarjvhgw7iy7dj9s2a2miy95fyy9f8b5sj8nrdfvz"))))
23632 (build-system emacs-build-system)
23633 (propagated-inputs
23634 `(("emacs-counsel" ,emacs-counsel)
23635 ("emacs-dash-docs" ,emacs-dash-docs)))
23636 (home-page "https://github.com/dash-docs-el/counsel-dash")
23637 (synopsis "Offline documentation browser for APIs using Dash docsets")
23638 (description "This package uses @code{ivy-mode} to install and navigate
23639 through Dash docsets.")
23640 (license license:expat))))
23641
23642 (define-public emacs-cascading-dir-locals
23643 (let ((release "0.1")
23644 (revision "0")
23645 (commit "efdf5e6d62b955ee0ca3c170eae1d388799f9fa0"))
23646 (package
23647 (name "emacs-cascading-dir-locals")
23648 (version (git-version release revision commit))
23649 (home-page "https://github.com/fritzgrabo/cascading-dir-locals")
23650 (source
23651 (origin
23652 (method git-fetch)
23653 (uri (git-reference
23654 (url home-page)
23655 (commit commit)))
23656 (file-name (git-file-name name version))
23657 (sha256
23658 (base32 "1jwd99kk5l588n7wwi1x3b4bgimm66x1icna3n20pwaj49kf0zy8"))))
23659 (build-system emacs-build-system)
23660 (synopsis "Apply all @file{.dir-locals.el} from root to current directory")
23661 (description
23662 "This package provides a global minor mode that changes how Emacs
23663 handles the lookup of applicable dir-locals files (@file{.dir-locals.el}):
23664 instead of starting at the directory of the visited file and moving up the
23665 directory tree only until a first dir-locals file is found, collect and apply
23666 all (!) dir-locals files found from the current directory up to the root one.
23667
23668 Values specified in files nearer to the current directory take precedence over
23669 values in files farther away from it.
23670
23671 You might want to use this to globally set dir-local variables that apply to
23672 all of your projects, then override or add variables on a per-project basis.")
23673 (license license:gpl3+))))
23674
23675 (define-public emacs-calibredb
23676 (package
23677 (name "emacs-calibredb")
23678 (version "2.8.0")
23679 (source
23680 (origin
23681 (method git-fetch)
23682 (uri (git-reference
23683 (url "https://github.com/chenyanming/calibredb.el")
23684 (commit version)))
23685 (file-name (git-file-name name version))
23686 (sha256
23687 (base32 "19gc05k2p1l8wlkrqij9cw6d61hzknd6a9n64kzlpi87cpbav3lv"))))
23688 (build-system emacs-build-system)
23689 (arguments
23690 '(#:phases
23691 (modify-phases %standard-phases
23692 (add-after 'unpack 'patch-paths
23693 (lambda* (#:key inputs #:allow-other-keys)
23694 (let ((calibre (assoc-ref inputs "calibre")))
23695 (make-file-writable "calibredb-core.el")
23696 (emacs-substitute-variables "calibredb-core.el"
23697 ("calibredb-program"
23698 (string-append calibre "/bin/calibredb"))
23699 ("calibredb-fetch-metadata-program"
23700 (string-append calibre "/bin/fetch-ebook-metadata"))))
23701 #t)))))
23702 (inputs
23703 `(("calibre" ,calibre)))
23704 (propagated-inputs
23705 `(("emacs-dash" ,emacs-dash)
23706 ("emacs-s" ,emacs-s)
23707 ("emacs-transient" ,emacs-transient)))
23708 (home-page "https://github.com/chenyanming/calibredb.el")
23709 (synopsis "Yet another calibre client for Emacs")
23710 (description "This package integrates calibre into Emacs.
23711 @enumerate
23712 @item Powerful ebook dashboard.
23713 @item Manage ebooks, actually not only ebooks!
23714 @item Manage Ebook libraries.
23715 @item Another bookmarks solution, by setting the tags and comments.
23716 @item Quick search, filter, make actions on items with ivy and helm.
23717 @item Org-ref support.
23718 @end enumerate")
23719 (license license:gpl3)))
23720
23721 (define-public emacs-el-patch
23722 (package
23723 (name "emacs-el-patch")
23724 (version "2.2.3")
23725 (source
23726 (origin
23727 (method git-fetch)
23728 (uri (git-reference
23729 (url "https://github.com/raxod502/el-patch")
23730 (commit version)))
23731 (file-name (git-file-name name version))
23732 (sha256
23733 (base32
23734 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
23735 (build-system emacs-build-system)
23736 (home-page "https://github.com/raxod502/el-patch")
23737 (synopsis "Future-proof your Emacs customizations")
23738 (description "This package allows for an alternate definition of an Elisp
23739 function to be specified and for any differences from the original definition
23740 to be examined using Ediff.")
23741 (license license:expat)))
23742
23743 (define-public emacs-info-plus
23744 (let ((commit "29811edf7a71764ac343631facc00268d9483146")
23745 (revision "3"))
23746 (package
23747 (name "emacs-info-plus")
23748 (version (git-version "0" revision commit))
23749 (source
23750 (origin
23751 (method git-fetch)
23752 (uri (git-reference
23753 (url "https://github.com/emacsmirror/info-plus")
23754 (commit commit)))
23755 (file-name (git-file-name name version))
23756 (sha256
23757 (base32
23758 "0ayq7z6dbf43vczbkjm1l976hxcfrmw45nfywbf1kjpzl3viy4gy"))))
23759 (build-system emacs-build-system)
23760 (home-page "https://github.com/emacsmirror/info-plus")
23761 (synopsis "Extensions to @file{info.el}")
23762 (description "This package extends Emacs' @file{info.el} by allowing
23763 outline-enabled table of contents, additional metadata association for Info
23764 nodes, and more.")
23765 (license license:gpl2+))))
23766
23767 (define-public emacs-eval-sexp-fu-el
23768 (package
23769 (name "emacs-eval-sexp-fu-el")
23770 (version "0.6.0")
23771 (source
23772 (origin
23773 (method git-fetch)
23774 (uri (git-reference
23775 (url "https://github.com/hchbaw/eval-sexp-fu.el")
23776 (commit (string-append "v" version))))
23777 (file-name (git-file-name name version))
23778 (sha256
23779 (base32
23780 "19rv0kwajq0j8inglp84sml23ci74wdcvp5bl6zxbw5skqpf6phr"))))
23781 (build-system emacs-build-system)
23782 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
23783 (synopsis "Enhancements for evaluating s-expressions")
23784 (description "This package provides provides variants of
23785 @code{eval-last-sexp} that work on the containing list or s-expression, as
23786 well as an option for visually flashing evaluated s-expressions.")
23787 (license license:gpl3+)))
23788
23789 (define-public emacs-counsel-tramp
23790 (package
23791 (name "emacs-counsel-tramp")
23792 (version "0.7.5")
23793 (source
23794 (origin
23795 (method git-fetch)
23796 (uri (git-reference
23797 (url "https://github.com/masasam/emacs-counsel-tramp")
23798 (commit version)))
23799 (file-name (git-file-name name version))
23800 (sha256
23801 (base32 "18qlwyjqxap2qfbz14ma6yqp4p3v4q2y8idc355s4szjdd2as2lr"))))
23802 (build-system emacs-build-system)
23803 (propagated-inputs
23804 `(("emacs-counsel" ,emacs-counsel)))
23805 (home-page "https://github.com/masasam/emacs-counsel-tramp")
23806 (synopsis "Ivy interface for TRAMP")
23807 (description
23808 "This package allows @code{ivy-mode} to display and filter SSH servers.")
23809 (license license:gpl3+)))
23810
23811 (define-public emacs-tramp
23812 (package
23813 (name "emacs-tramp")
23814 (version "2.5.0.3")
23815 (source
23816 (origin
23817 (method url-fetch)
23818 (uri (string-append "https://elpa.gnu.org/packages/"
23819 "tramp-" version ".tar"))
23820 (sha256
23821 (base32 "0c77d1ihn17lzk9jb7ss346ryprnbii1zmijl6zj0kk4lm8fpfl3"))))
23822 (build-system emacs-build-system)
23823 (arguments
23824 `(#:emacs ,emacs ;need D-Bus
23825 #:phases
23826 (modify-phases %standard-phases
23827 ;; All but one "/bin/" directory refer to remote
23828 ;; environments, which may not be Guix. Do not patch them
23829 ;; blindly. However, local encoding shell has to be patched.
23830 (replace 'patch-el-files
23831 (lambda* (#:key inputs #:allow-other-keys)
23832 (let ((sh (assoc-ref inputs "bash"))
23833 (file "tramp.el"))
23834 (emacs-substitute-variables file
23835 ("tramp-encoding-shell" (string-append sh "/bin/sh"))))
23836 #t)))))
23837 (inputs
23838 `(("bash" ,bash)))
23839 (home-page "https://savannah.gnu.org/projects/tramp")
23840 (synopsis "Remote file editing package for Emacs")
23841 (description
23842 "Tramp stands for ``Transparent Remote (file) Access, Multiple
23843 Protocol''. This package provides remote file editing, using
23844 a combination of @command{rsh} and @command{rcp} or other work-alike
23845 programs, such as @command{ssh} and @command{scp}.")
23846 (license license:gpl3+)))
23847
23848 (define-public emacs-tramp-auto-auth
23849 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
23850 (package
23851 (name "emacs-tramp-auto-auth")
23852 (version (git-version "20191027" "1" commit))
23853 (source
23854 (origin
23855 (method git-fetch)
23856 (uri (git-reference
23857 (url "https://github.com/oitofelix/tramp-auto-auth")
23858 (commit commit)))
23859 (file-name (git-file-name name version))
23860 (sha256
23861 (base32
23862 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
23863 (build-system emacs-build-system)
23864 (home-page "https://github.com/oitofelix/tramp-auto-auth")
23865 (synopsis "TRAMP automatic authentication library")
23866 (description "This package provides @code{tramp-auto-auth-mode} Emacs
23867 global minor mode whose purpose is to automatically feed TRAMP sub-processes
23868 with passwords for paths matching regexps.")
23869 (license license:gpl3+))))
23870
23871 (define-public emacs-eacl
23872 (package
23873 (name "emacs-eacl")
23874 (version "2.0.4")
23875 (source
23876 (origin
23877 (method git-fetch)
23878 (uri (git-reference
23879 (url "https://github.com/redguardtoo/eacl")
23880 (commit version)))
23881 (file-name (git-file-name name version))
23882 (sha256
23883 (base32
23884 "0fxb2lv4cqdjxarqhzjgfc43sncc1c6m96n0aflm8l4gdmm090kq"))))
23885 (build-system emacs-build-system)
23886 (propagated-inputs
23887 `(("emacs-ivy" ,emacs-ivy)))
23888 (home-page "https://github.com/redguardtoo/eacl")
23889 (synopsis "Auto-complete lines by using @code{grep} on a project")
23890 (description "This package provides auto-completion commands for single
23891 and multiple lines of code in a project.")
23892 (license license:gpl3+)))
23893
23894 (define-public emacs-semantic-refactor
23895 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
23896 ;; commits since then.
23897 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
23898 (package
23899 (name "emacs-semantic-refactor")
23900 (version (git-version "0.5" "1" commit))
23901 (source
23902 (origin
23903 (method git-fetch)
23904 (uri (git-reference
23905 (url "https://github.com/tuhdo/semantic-refactor")
23906 (commit commit)))
23907 (file-name (git-file-name name version))
23908 (sha256
23909 (base32
23910 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
23911 (build-system emacs-build-system)
23912 (home-page "https://github.com/tuhdo/semantic-refactor")
23913 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
23914 (description "This package provides a refactoring tool based on the
23915 Emacs Semantic parser framework. For C and C++ it supports operations such as:
23916
23917 @enumerate
23918 @item Generating class implementations
23919 @item Generating function prototypes
23920 @item Converting functions to function pointers
23921 @item Moving semantic units
23922 @item etc...
23923 @end enumerate
23924
23925 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
23926 as:
23927
23928 @enumerate
23929 @item Formatting the whole buffer
23930 @item Converting sexpressions to one or multiple lines
23931 @item etc...
23932 @end enumerate\n")
23933 (license license:gpl3+))))
23934
23935 (define-public emacs-nhexl-mode
23936 (package
23937 (name "emacs-nhexl-mode")
23938 (version "1.5")
23939 (source
23940 (origin
23941 (method url-fetch)
23942 (uri (string-append "https://elpa.gnu.org/packages/"
23943 "nhexl-mode-" version ".el"))
23944 (sha256
23945 (base32 "0qvxfg7sv4iqyjxzaim6b4v9k5hav36qd4vkf9jwzw6p5fri8w8d"))))
23946 (build-system emacs-build-system)
23947 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
23948 (synopsis "Minor mode to edit files via hex-dump format")
23949 (description
23950 "This package implements NHexl mode, a minor mode for editing files
23951 in hex dump format. The mode command is called @command{nhexl-mode}.
23952
23953 This minor mode implements similar functionality to @command{hexl-mode},
23954 but using a different implementation technique, which makes it
23955 usable as a \"plain\" minor mode. It works on any buffer, and does
23956 not mess with the undo log or with the major mode.
23957
23958 It also comes with:
23959
23960 @itemize
23961 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
23962 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
23963 (which only work for hex-digits) will only modify the nibble under point.
23964 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
23965 moving text. In this minor mode, not only self-inserting keys overwrite
23966 existing text, but commands like `yank' and @command{kill-region} as well.
23967 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
23968 C-f} to advance by #xa4 characters.
23969 @end itemize")
23970 (license license:gpl3+)))
23971
23972 (define-public emacs-helm-wikipedia
23973 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
23974 (package
23975 (name "emacs-helm-wikipedia")
23976 (version (git-version "0.0.0" "1" commit))
23977 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
23978 (source
23979 (origin
23980 (method git-fetch)
23981 (uri (git-reference
23982 (url home-page)
23983 (commit commit)))
23984 (file-name (git-file-name name version))
23985 (sha256
23986 (base32
23987 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
23988 (build-system emacs-build-system)
23989 (inputs
23990 `(("helm" ,emacs-helm)))
23991 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
23992 (description
23993 "This package provides an Emacs Helm interface for search suggestions
23994 and article extracts for Wikipedia.")
23995 (license license:gpl3+))))
23996
23997 (define-public emacs-webfeeder
23998 (package
23999 (name "emacs-webfeeder")
24000 (version "1.1.1")
24001 (source
24002 (origin
24003 (method url-fetch)
24004 (uri (string-append
24005 "https://elpa.gnu.org/packages/webfeeder-"
24006 version
24007 ".tar"))
24008 (sha256
24009 (base32
24010 "09caj12hfdfhlbcsmjyhw728w1f7yq13hdslh793yvfqv83ipvc4"))))
24011 (build-system emacs-build-system)
24012 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
24013 (synopsis "Build RSS and Atom webfeeds from HTML files")
24014 (description
24015 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
24016 files. The various elements of the HTML input are parsed with customizable
24017 functions (e.g. @code{webfeeder-title-function}).")
24018 (license license:gpl3+)))
24019
24020 (define-public emacs-evil-numbers
24021 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
24022 (package
24023 (name "emacs-evil-numbers")
24024 (version (git-version "0.4" "1" commit))
24025 (source (origin
24026 (method git-fetch)
24027 (uri (git-reference
24028 (url "https://github.com/dieggsy/evil-numbers")
24029 (commit commit)))
24030 (file-name (git-file-name name version))
24031 (sha256
24032 (base32
24033 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
24034 (build-system emacs-build-system)
24035 (home-page "https://github.com/dieggsy/evil-numbers")
24036 (synopsis "Increment and decrement numbers in Emacs")
24037 (description "This package increments and decrements binary, octal,
24038 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
24039 number up to EOL and then increments or decrements and keeps zero padding up
24040 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
24041 numbers within that region will be incremented/decremented (unlike in Vim).
24042
24043 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
24044 (license license:gpl3+))))
24045
24046 (define-public emacs-rotate-text
24047 (package
24048 (name "emacs-rotate-text")
24049 (version "0.1")
24050 (source (origin
24051 (method git-fetch)
24052 (uri (git-reference
24053 (url "https://github.com/nschum/rotate-text.el")
24054 (commit version)))
24055 (file-name (git-file-name name version))
24056 (sha256
24057 (base32
24058 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
24059 (build-system emacs-build-system)
24060 (home-page "https://nschum.de/src/emacs/rotate-text/")
24061 (synopsis "Cycle through words, symbols and patterns in Emacs")
24062 (description "@code{rotate-text} allows you rotate to commonly
24063 interchanged text with a single keystroke. For example, you can toggle
24064 between \"frame-width\" and \"frame-height\", between \"public\",
24065 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
24066 \"variableN\".")
24067 (license license:gpl2+)))
24068
24069 (define-public emacs-ediprolog
24070 (package
24071 (name "emacs-ediprolog")
24072 (version "2.1")
24073 (source
24074 (origin
24075 (method url-fetch)
24076 (uri (string-append
24077 "https://elpa.gnu.org/packages/ediprolog-"
24078 version
24079 ".el"))
24080 (sha256
24081 (base32 "1piimsmzpirw8plrpy79xbpnvynzzhcxi31g6lg6is8gridiv3md"))))
24082 (build-system emacs-build-system)
24083 (home-page "https://elpa.gnu.org/packages/ediprolog.html")
24084 (synopsis "Emacs Does Interactive Prolog")
24085 (description "This package provides a major mode that let the user
24086 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
24087 programs and evaluate embedded queries. This mode is focused on the command
24088 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
24089 context, carry out the appropriate action.")
24090 (license license:gpl3+)))
24091
24092 (define-public emacs-evil-cleverparens
24093 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
24094 (revision "1"))
24095 (package
24096 (name "emacs-evil-cleverparens")
24097 (version (git-version "2017-07-17" revision commit))
24098 (source (origin
24099 (method git-fetch)
24100 (uri (git-reference
24101 (url "https://github.com/luxbock/evil-cleverparens")
24102 (commit commit)))
24103 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
24104 (file-name (git-file-name name version))))
24105 (build-system emacs-build-system)
24106 (propagated-inputs
24107 `(("emacs-evil" ,emacs-evil)
24108 ("emacs-paredit" ,emacs-paredit)
24109 ("emacs-smartparens" ,emacs-smartparens)))
24110 (home-page "https://github.com/luxbock/evil-cleverparens")
24111 (synopsis "Emacs modal editing optimized for editing Lisp")
24112 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
24113 modal editing with screwing up the structure of Lisp code. Alternatives for
24114 verb commands which would are normally destructive (such as deletion) are
24115 provided. Those alternative commands are and bound by default to their
24116 corresponding Evil keys.")
24117 (license license:expat))))
24118
24119 (define-public emacs-evil-traces
24120 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
24121 (revision "2"))
24122 (package
24123 (name "emacs-evil-traces")
24124 (version (git-version "0.0.1" revision commit))
24125 (source (origin
24126 (method git-fetch)
24127 (uri (git-reference
24128 (url "https://github.com/mamapanda/evil-traces")
24129 (commit commit)))
24130 (file-name (git-file-name name version))
24131 (sha256
24132 (base32
24133 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
24134 (build-system emacs-build-system)
24135 (propagated-inputs
24136 `(("emacs-evil" ,emacs-evil)))
24137 (arguments
24138 `(#:phases
24139 (modify-phases %standard-phases
24140 (add-after 'unpack 'set-shell
24141 ;; Setting the SHELL environment variable is required for the tests
24142 ;; to find sh.
24143 (lambda _
24144 (setenv "SHELL" (which "sh"))
24145 #t)))
24146 #:tests? #t
24147 #:test-command '("make" "test")))
24148 (home-page "https://github.com/mamapanda/evil-traces")
24149 (synopsis "Visual hints for @code{evil-ex}")
24150 (description "This package adds visual hints to certain @code{ex}
24151 commands in @code{evil-mode}.")
24152 (license license:gpl3+))))
24153
24154 (define-public emacs-evil-tmux-navigator
24155 (package
24156 (name "emacs-evil-tmux-navigator")
24157 (version "0.1.5")
24158 (source
24159 (origin
24160 (method git-fetch)
24161 (uri
24162 (git-reference
24163 (url "https://github.com/keith/evil-tmux-navigator")
24164 (commit version)))
24165 (file-name (git-file-name name version))
24166 (sha256
24167 (base32
24168 "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx"))))
24169 (propagated-inputs
24170 `(("emacs-evil" ,emacs-evil)))
24171 (build-system emacs-build-system)
24172 (home-page "https://github.com/keith/evil-tmux-navigator")
24173 (synopsis
24174 "Navigate seamlessly between emacs windows and tmux panes")
24175 (description
24176 "This package lets you use C-h, C-j, C-k and C-l to navigate between
24177 Emacs windows and tmux panes.")
24178 (license license:expat)))
24179
24180 (define-public emacs-xclip
24181 (package
24182 (name "emacs-xclip")
24183 (version "1.10")
24184 (source
24185 (origin
24186 (method url-fetch)
24187 (uri (string-append "https://elpa.gnu.org/packages/"
24188 "xclip-" version ".el"))
24189 (sha256
24190 (base32 "0i3i9kwfg8qmhcmqhhnrb1kljgwkccv63s9q1mjwqfjldyfh8j8i"))))
24191 (build-system emacs-build-system)
24192 (home-page "http://elpa.gnu.org/packages/xclip.html")
24193 (synopsis "Copy and paste GUI clipboard from Emacs in text terminal")
24194 (description
24195 "This package allows Emacs to copy to and paste from the GUI clipboard
24196 when running in text terminal.
24197
24198 It can use external command-line tools for that, e.g., @command{xclip} or
24199 @command{xsel}, which you may need to install in order for the package to
24200 work.")
24201 (license license:gpl3+)))
24202
24203 (define-public emacs-xterm-color
24204 (package
24205 (name "emacs-xterm-color")
24206 (version "2.0")
24207 (source
24208 (origin
24209 (method git-fetch)
24210 (uri (git-reference
24211 (url "https://github.com/atomontage/xterm-color")
24212 (commit version)))
24213 (file-name (git-file-name name version))
24214 (sha256
24215 (base32 "127lq50q62x06kd1xrf8lyc4rkqbfhfy86gsx1x4x169am2xk397"))))
24216 (build-system emacs-build-system)
24217 (home-page "https://github.com/atomontage/xterm-color")
24218 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
24219 (description "@code{xterm-color.el} is an ANSI control sequence to
24220 text-property translator.")
24221 (license license:bsd-2)))
24222
24223 (define-public emacs-org-noter
24224 (package
24225 (name "emacs-org-noter")
24226 (version "1.4.1")
24227 (source
24228 (origin
24229 (method git-fetch)
24230 (uri (git-reference
24231 (url "https://github.com/weirdNox/org-noter")
24232 (commit version)))
24233 (file-name (git-file-name name version))
24234 (sha256
24235 (base32
24236 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
24237 (build-system emacs-build-system)
24238 (propagated-inputs `(("emacs-org" ,emacs-org)))
24239 (home-page "https://github.com/weirdNox/org-noter")
24240 (synopsis "Synchronized, Org-mode, document annotator")
24241 (description
24242 "This package lets you create notes that are kept in sync when you
24243 scroll through the document, but that are external to it---the notes
24244 themselves live in an Org-mode file. As such, this leverages the power of
24245 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
24246 acting like notes that are made @emph{in} the document.")
24247 (license license:gpl3+)))
24248
24249 (define-public emacs-org-redmine
24250 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
24251 (package
24252 (name "emacs-org-redmine")
24253 (version (git-version "0.1" "1" commit))
24254 (source (origin
24255 (method git-fetch)
24256 (uri (git-reference
24257 (url "https://github.com/gongo/org-redmine")
24258 (commit commit)))
24259 (file-name (git-file-name name version))
24260 (sha256
24261 (base32
24262 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
24263 (build-system emacs-build-system)
24264 (home-page "https://github.com/gongo/org-redmine/")
24265 (synopsis "Redmine tools using Emacs")
24266 (description "This program provides an Emacs client for Redmine.")
24267 (license license:gpl3+))))
24268
24269 (define-public emacs-multi-term
24270 ;; No upstream release. Extract version from main file.
24271 (let ((commit "017c77c550115936860e2ea71b88e585371475d5")
24272 (revision "0"))
24273 (package
24274 (name "emacs-multi-term")
24275 (version (git-version "1.5" revision commit))
24276 (source
24277 (origin
24278 (method git-fetch)
24279 (uri (git-reference
24280 (url "https://github.com/manateelazycat/multi-term")
24281 (commit commit)))
24282 (file-name (git-file-name name version))
24283 (sha256
24284 (base32 "043dqd8i8h6hbcg11rzprxin2yq5lb902zlrb7mxah44vyp8wrdi"))))
24285 (build-system emacs-build-system)
24286 (inputs
24287 `(("zsh" ,zsh)))
24288 (home-page "https://github.com/manateelazycat/multi-term")
24289 (synopsis "Manage multiple terminal buffers in Emacs")
24290 (description
24291 "This package enhances @code{term.el} with the following features:
24292
24293 @enumerate
24294 @item Functions to switch between multiple terminal buffers
24295 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
24296 the underlying terminal
24297 @item Kills the unused buffer left after exiting the terminal
24298 @item Kills the running sub-processes along with the terminal when killing the
24299 it forcibly
24300 @item Dedicated window for debugging program.
24301 @end enumerate")
24302 (license license:gpl3+))))
24303
24304 (define-public emacs-elpher
24305 (package
24306 (name "emacs-elpher")
24307 (version "2.10.2")
24308 (source
24309 (origin
24310 (method git-fetch)
24311 (uri (git-reference
24312 (url "git://thelambdalab.xyz/elpher.git")
24313 (commit (string-append "v" version))))
24314 (file-name (git-file-name name version))
24315 (sha256
24316 (base32 "0xqiisirpvw4ka9417pq4r73x937wl3qbf8cpn2i03akm8d58smd"))))
24317 (build-system emacs-build-system)
24318 (native-inputs
24319 `(("texinfo" ,texinfo)))
24320 (arguments
24321 `(#:phases
24322 (modify-phases %standard-phases
24323 (add-before 'install 'build-doc
24324 (lambda _
24325 (invoke "makeinfo" "elpher.texi"))))))
24326 (home-page "gopher://thelambdalab.xyz/1/projects/elpher/")
24327 (synopsis "Gopher and gemini client for Emacs")
24328 (description "Elpher is a full-featured gopher and gemini client for
24329 Emacs. Its features include intuitive keyboard and mouse-driven browsing,
24330 out-of-the-box compatibility with evil-mode, clickable links in plain text,
24331 caching of visited sites, pleasant and configurable visualization of Gopher
24332 directories, direct visualisation of image files, jumping directly to links by
24333 name (with autocompletion), a simple bookmark management system and
24334 connections using TLS encryption.")
24335 (license license:gpl3+)))
24336
24337 (define-public emacs-zerodark-theme
24338 (package
24339 (name "emacs-zerodark-theme")
24340 (version "4.7")
24341 (source
24342 (origin
24343 (method git-fetch)
24344 (uri (git-reference
24345 (url "https://github.com/NicolasPetton/zerodark-theme")
24346 (commit version)))
24347 (file-name (git-file-name name version))
24348 (sha256
24349 (base32
24350 "1r5s4mvwlxsb9ylr6dkfxpm1l0pbqkmn5gwjdcfk762cnxlam8cm"))))
24351 (build-system emacs-build-system)
24352 (propagated-inputs
24353 `(("emacs-flycheck" ,emacs-flycheck)
24354 ("emacs-all-the-icons" ,emacs-all-the-icons)))
24355 (home-page
24356 "https://gitlab.petton.fr/nico/zerodark-theme")
24357 (synopsis
24358 "Dark, medium contrast theme for Emacs")
24359 (description
24360 "Zerodark is a dark theme inspired from One Dark and Niflheim.
24361 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
24362 (license license:gpl3+)))
24363
24364 (define-public emacs-gnus-alias
24365 (package
24366 (name "emacs-gnus-alias")
24367 (version "20150316")
24368 (source (origin
24369 (method git-fetch)
24370 (uri (git-reference
24371 (url "https://github.com/hexmode/gnus-alias")
24372 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
24373 (file-name (git-file-name name version))
24374 (sha256
24375 (base32
24376 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
24377 (build-system emacs-build-system)
24378 (home-page "https://melpa.org/#/gnus-alias")
24379 (synopsis "Alternative to @code{gnus-posting-styles}")
24380 (description "This Emacs add-on provides a simple mechanism to switch
24381 Identities when using a @code{message-mode} or a @code{message-mode} derived
24382 mode. Identities can include @code{From} and @code{Organisation} headers,
24383 extra headers, body and signature. Other features include:
24384
24385 @itemize
24386 @item Switch Identities in a message buffer.
24387 @item Access original message to help determine Identity of the followup/reply
24388 message.
24389 @item Act on a forwarded message as if it were a message being replied to.
24390 @item Start a new message with a given Identity pre-selected.
24391 @end itemize")
24392 (license license:gpl2+)))
24393
24394 (define-public emacs-ox-epub
24395 (package
24396 (name "emacs-ox-epub")
24397 (version "0.3")
24398 (source (origin
24399 (method git-fetch)
24400 (uri (git-reference
24401 (url "https://github.com/ofosos/ox-epub")
24402 (commit (string-append "v" version))))
24403 (file-name (git-file-name name version))
24404 (sha256
24405 (base32
24406 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
24407 (build-system emacs-build-system)
24408 (home-page "https://github.com/ofosos/ox-epub")
24409 (synopsis "Export org mode projects to EPUB")
24410 (description "@code{ox-epub} extends the (X)HTML exporter to generate
24411 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
24412 which should give broad compatibility. It should also be relatiely easy to
24413 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
24414 zip utility (default is @code{zip}).")
24415 (license license:gpl3+)))
24416
24417 (define-public emacs-ox-gemini
24418 ;; No releases yet
24419 (let ((commit "d88c10bcb10fc463fa5a2f6e29c8c94b75a314c0")
24420 (revision "0"))
24421 (package
24422 (name "emacs-ox-gemini")
24423 (version (git-version "0" revision commit))
24424 (source
24425 (origin
24426 (method git-fetch)
24427 (uri (git-reference
24428 (url "https://git.sr.ht/~abrahms/ox-gemini")
24429 (commit commit)))
24430 (file-name (git-file-name name version))
24431 (sha256
24432 (base32 "1f8kbg5vjd1k7fak3v56b77yk612j6vmzx4xzx3m2vq3f0nyxq29"))))
24433 (build-system emacs-build-system)
24434 (home-page "https://sr.ht/~abrahms/ox-gemini")
24435 (synopsis "Export Org files in Gemini format")
24436 (description
24437 "@code{ox-gemini} adds support for exporting Org files in Gemini
24438 format. Many things were taken from the ASCII exporter, from which
24439 @code{ox-gemini} derives.")
24440 (license license:gpl3+))))
24441
24442 (define-public emacs-ox-haunt
24443 (package
24444 (name "emacs-ox-haunt")
24445 (version "0.2")
24446 (source
24447 (origin
24448 (method git-fetch)
24449 (uri (git-reference
24450 (url "https://git.sr.ht/~jakob/ox-haunt")
24451 (commit (string-append "v" version))))
24452 (file-name (git-file-name name version))
24453 (sha256
24454 (base32 "1rs1n228c2fmpvirc57bqgf2616ijpphkgf4w9ln5j46snmkam25"))))
24455 (build-system emacs-build-system)
24456 (home-page "https://git.sr.ht/~jakob/ox-haunt")
24457 (synopsis "Export Org files to HTML appropriate for Haunt")
24458 (description
24459 "This library implements an HTML back-end for the Org generic exporter,
24460 producing output appropriate for Haunt's @code{html-reader}.")
24461 (license license:gpl3+)))
24462
24463 (define-public emacs-ox-hugo
24464 (package
24465 (name "emacs-ox-hugo")
24466 (version "0.8")
24467 (source
24468 (origin
24469 (method git-fetch)
24470 (uri (git-reference
24471 (url "https://github.com/kaushalmodi/ox-hugo")
24472 (commit (string-append "v" version))))
24473 (file-name (git-file-name name version))
24474 (sha256
24475 (base32
24476 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
24477 (build-system emacs-build-system)
24478 (home-page "https://ox-hugo.scripter.co")
24479 (synopsis "Hugo markdown back-end for Org export engine")
24480 (description
24481 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
24482 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
24483 format.")
24484 (license license:gpl3+)))
24485
24486 (define-public emacs-ox-pandoc
24487 (package
24488 (name "emacs-ox-pandoc")
24489 (version "20180510")
24490 (source (origin
24491 (method git-fetch)
24492 (uri (git-reference
24493 (url "https://github.com/kawabata/ox-pandoc")
24494 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
24495 (file-name (git-file-name name version))
24496 (sha256
24497 (base32
24498 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
24499 (build-system emacs-build-system)
24500 (inputs
24501 `(("pandoc" ,pandoc)))
24502 (propagated-inputs
24503 `(("emacs-dash" ,emacs-dash)
24504 ("emacs-ht" ,emacs-ht)))
24505 (home-page "https://github.com/kawabata/ox-pandoc")
24506 (synopsis "Org exporter for Pandoc")
24507 (description "@code{ox-pandoc} is an exporter for converting Org-mode
24508 files to numerous other formats via Pandoc.")
24509 (license license:gpl3+)))
24510
24511 (define-public emacs-wc-mode
24512 (package
24513 (name "emacs-wc-mode")
24514 (version "1.4")
24515 (source (origin
24516 (method git-fetch)
24517 (uri (git-reference
24518 (url "https://github.com/bnbeckwith/wc-mode")
24519 (commit (string-append "v" version))))
24520 (file-name (git-file-name name version))
24521 (sha256
24522 (base32
24523 "01icd63mb2hg1bgbmkq3jm8kc3ic8whfy2awcgx53zqkmyz87qxc"))))
24524 (build-system emacs-build-system)
24525 (home-page "https://github.com/bnbeckwith/wc-mode")
24526 (synopsis "Running word count with goals (minor mode)")
24527 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
24528 for Emacs buffers as well as a modeline addition with live word, line and
24529 character counts. Additionally, a user can set specific goals for adding or
24530 deleting words. These goals were partly inspired by 750words.com where the
24531 goal of the site is to encourage writing by setting a goal of 750 words at a
24532 time.")
24533 (license license:gpl3+)))
24534
24535 (define-public emacs-mastodon
24536 (package
24537 (name "emacs-mastodon")
24538 (version "0.9.0")
24539 (source (origin
24540 (method git-fetch)
24541 (uri (git-reference
24542 (url "https://github.com/jdenen/mastodon.el")
24543 (commit version)))
24544 (file-name (git-file-name name version))
24545 (sha256
24546 (base32
24547 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
24548 (build-system emacs-build-system)
24549 (arguments
24550 `(#:phases
24551 (modify-phases %standard-phases
24552 ;; Move the source files to the top level, which is included in
24553 ;; the EMACSLOADPATH.
24554 (add-after 'unpack 'move-source-files
24555 (lambda _
24556 (let ((el-files (find-files "./lisp" ".*\\.el$")))
24557 (for-each (lambda (f)
24558 (rename-file f (basename f)))
24559 el-files))
24560 #t)))))
24561 (home-page "https://github.com/jdenen/mastodon.el")
24562 (synopsis "Emacs client for Mastodon")
24563 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
24564 federated microblogging social network.")
24565 (license license:gpl3+)))
24566
24567 (define-public emacs-ebdb
24568 (package
24569 (name "emacs-ebdb")
24570 (version "0.6.22")
24571 (source
24572 (origin
24573 (method url-fetch)
24574 (uri (string-append "https://elpa.gnu.org/packages/"
24575 "ebdb-" version ".tar"))
24576 (sha256
24577 (base32 "0dljl21n6508c7ash7l6zgxhpn2wdfzga0va63d4k9nwnqmkvsgz"))))
24578 (build-system emacs-build-system)
24579 (home-page "https://github.com/girzel/ebdb")
24580 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
24581 (description
24582 "EBDB is a contact management/addressbook package for Emacs. It's
24583 a re-write of the Insidious Big Brother Database (BBDB) using Emacs
24584 Lisp's (relatively new) EIEIO object oriented libraries.")
24585 (license license:gpl3+)))
24586
24587 (define-public emacs-refactor
24588 (package
24589 (name "emacs-refactor")
24590 (version "0.4")
24591 (source (origin
24592 (method git-fetch)
24593 (uri (git-reference
24594 (url "https://github.com/Wilfred/emacs-refactor")
24595 (commit version)))
24596 (file-name (git-file-name name version))
24597 (sha256
24598 (base32
24599 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
24600 (build-system emacs-build-system)
24601 (propagated-inputs
24602 `(("emacs-dash" ,emacs-dash)
24603 ("emacs-s" ,emacs-s)
24604 ("emacs-popup" ,emacs-popup)
24605 ("emacs-list-utils" ,emacs-list-utils)
24606 ("emacs-iedit" ,emacs-iedit)))
24607 (home-page "https://github.com/Wilfred/emacs-refactor/")
24608 (synopsis "Language-specific refactoring in Emacs")
24609 (description "Emacs Refactor (EMR) is a framework for providing
24610 language-specific refactoring in Emacs. It includes refactoring commands for
24611 a variety of languages, including elisp itself.")
24612 (license license:gpl3+)))
24613
24614 (define-public emacs-flyspell-correct
24615 (package
24616 (name "emacs-flyspell-correct")
24617 (version "0.6.1")
24618 (source
24619 (origin
24620 (method git-fetch)
24621 (uri (git-reference
24622 (url "https://github.com/d12frosted/flyspell-correct")
24623 (commit (string-append "v" version))))
24624 (file-name (git-file-name name version))
24625 (sha256
24626 (base32 "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"))))
24627 (build-system emacs-build-system)
24628 ;; XXX: emacs-avy-menu is not packaged, so we ignore the file below.
24629 (arguments
24630 `(#:exclude '("flyspell-correct-avy-menu\\.el")))
24631 (propagated-inputs
24632 `(("emacs-helm" ,emacs-helm)
24633 ("emacs-ivy" ,emacs-ivy)
24634 ("emacs-popup" ,emacs-popup)))
24635 (home-page "https://github.com/d12frosted/flyspell-correct")
24636 (synopsis "Correcting words with flyspell via custom interfaces")
24637 (description
24638 "This package provides functionality for correcting words via custom
24639 interfaces. Several interfaces are supported beside the classic Ido: Popup,
24640 Helm and Ivy.")
24641 (license license:gpl3+)))
24642
24643 (define-public emacs-org-emms
24644 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
24645 (revision "1"))
24646 (package
24647 (name "emacs-org-emms")
24648 (version
24649 (git-version "0.1" revision commit))
24650 (source
24651 (origin
24652 (method git-fetch)
24653 (uri (git-reference
24654 (url "https://gitlab.com/jagrg/org-emms.git")
24655 (commit commit)))
24656 (file-name (git-file-name name commit))
24657 (sha256
24658 (base32
24659 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
24660 (build-system emacs-build-system)
24661 (propagated-inputs
24662 `(("emms" ,emacs-emms)
24663 ("emacs-org" ,emacs-org)))
24664 (home-page "https://gitlab.com/jagrg/org-emms")
24665 (synopsis "Play multimedia files from org-mode")
24666 (description
24667 "This package provides a new org link type for playing back multimedia
24668 files from org-mode using EMMS, The Emacs Multimedia System. If the link
24669 contains a track position, playback will start at the specified position.")
24670 (license license:gpl3+))))
24671
24672 (define-public emacs-org-jira
24673 (package
24674 (name "emacs-org-jira")
24675 (version "4.3.2")
24676 (source
24677 (origin
24678 (method git-fetch)
24679 (uri (git-reference
24680 (url "https://github.com/ahungry/org-jira")
24681 (commit version)))
24682 (file-name (git-file-name name version))
24683 (sha256
24684 (base32
24685 "1hsfkkm3ykdf7n8a6k0mpzilhjpy7vllwrl2s4rfb9mhnaq5yb8y"))))
24686 (build-system emacs-build-system)
24687 (propagated-inputs
24688 `(("emacs-request" ,emacs-request)
24689 ("emacs-s" ,emacs-s)
24690 ("emacs-dash" ,emacs-dash)
24691 ("emacs-org" ,emacs-org)))
24692 (home-page "https://github.com/ahungry/org-jira")
24693 (synopsis "Syncing between Jira and Org-mode")
24694 (description
24695 "This package provides an extension to org-mode for syncing issues with
24696 JIRA issue servers.")
24697 (license license:gpl3+)))
24698
24699 (define-public emacs-slime-volleyball
24700 (package
24701 (name "emacs-slime-volleyball")
24702 (version "1.1.7")
24703 (source
24704 (origin
24705 (method url-fetch)
24706 (uri (string-append "https://elpa.gnu.org/packages/"
24707 "slime-volleyball-" version ".tar"))
24708 (sha256
24709 (base32 "0dl1x0ghfwg4vv2asz3g4plghjxpzd56fyw09vsa3s3k9xsmy3yy"))))
24710 (build-system emacs-build-system)
24711 (arguments '(#:include '("\\.el$" "\\.svg$" "\\.b64$" "slime\\.el\\.gz$")))
24712 (home-page "http://elpa.gnu.org/packages/slime-volleyball.html")
24713 (synopsis "SVG slime volleyball game")
24714 (description
24715 "Emacs Slime Volleyball is a volleyball game. Win points by
24716 making the ball land on your opponent's side of the court. The first
24717 player to five points wins! You can play against a friend, or
24718 challenge the three computer opponents in one player mode. You can
24719 even train opponent slimes.")
24720 (license license:gpl3+)))
24721
24722 (define-public emacs-systemd-mode
24723 (package
24724 (name "emacs-systemd-mode")
24725 (version "1.6")
24726 (source (origin
24727 (method git-fetch)
24728 (uri (git-reference
24729 (url "https://github.com/holomorph/systemd-mode")
24730 (commit (string-append "v" version))))
24731 (file-name (git-file-name name version))
24732 (sha256
24733 (base32
24734 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
24735 (build-system emacs-build-system)
24736 (arguments '(#:include '("\\.el$" "\\.txt$")))
24737 (home-page "https://github.com/holomorph/systemd-mode")
24738 (synopsis
24739 "Major mode for editing systemd units")
24740 (description
24741 "Major mode for editing systemd units in GNU Emacs.")
24742 (license license:gpl3+)))
24743
24744 (define-public emacs-ssh-config-mode
24745 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
24746 (revision "1"))
24747 (package
24748 (name "emacs-ssh-config-mode")
24749 (version (git-version "8.0" revision commit))
24750 (source
24751 (origin
24752 (method git-fetch)
24753 (uri
24754 (git-reference
24755 (url "https://github.com/jhgorrell/ssh-config-mode-el")
24756 (commit commit)))
24757 (file-name (git-file-name name commit))
24758 (sha256
24759 (base32
24760 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
24761 (build-system emacs-build-system)
24762 (arguments '(#:include '("\\.el$" "\\.txt$")))
24763 (home-page
24764 "https://github.com/jhgorrell/ssh-config-mode-el")
24765 (synopsis
24766 "Mode for fontification of ~/.ssh/config")
24767 (description
24768 "This package fontifies the ssh config keywords and creates
24769 keybindings for skipping from host section to host section.")
24770 (license license:gpl3+))))
24771
24772 (define-public emacs-ssh-agency
24773 (package
24774 (name "emacs-ssh-agency")
24775 (version "0.4.1")
24776 (source (origin
24777 (method git-fetch)
24778 (uri (git-reference
24779 (url "https://github.com/magit/ssh-agency")
24780 (commit version)))
24781 (file-name (git-file-name name version))
24782 (sha256
24783 (base32
24784 "1i3zmsn0w2k7p2hlzssibckm32kf05l56mkhg96x4sf06g3pwq1d"))))
24785 (build-system emacs-build-system)
24786 (propagated-inputs
24787 `(("dash" ,emacs-dash)))
24788 (home-page "https://github.com/magit/ssh-agency")
24789 (synopsis "Manage @code{ssh-agent} from Emacs")
24790 (description
24791 "This package provides functions to startup @code{ssh-agent}, set the
24792 needed environment variables in Emacs, and prompt for passphrases from within
24793 Emacs so that pushes and pulls from @code{magit} will not require entering any
24794 passphrase.
24795
24796 It can also be useful on Unix-like platforms to delay having to enter your
24797 passphrase until the first time you push to a remote.")
24798 (license license:gpl3+)))
24799
24800 (define-public emacs-tao-theme
24801 (let ((commit "468ee4f6ba7afb9dbfc8855ae2c333cb16ca4408")
24802 (revision "1"))
24803 (package
24804 (name "emacs-tao-theme")
24805 (version (git-version "1.1.1" revision commit))
24806 (source
24807 (origin
24808 (method git-fetch)
24809 (uri (git-reference
24810 (url "https://github.com/11111000000/tao-theme-emacs")
24811 (commit commit)))
24812 (file-name (git-file-name name version))
24813 (sha256
24814 (base32
24815 "0yqibx6wcdsj5k6130c3qp0hmj6zwhfjrrvw98lny23ksw6k0s3s"))))
24816 (build-system emacs-build-system)
24817 (home-page "https://github.com/11111000000/tao-theme-emacs")
24818 (synopsis "Parameterized uncolored color themes for Emacs")
24819 (description
24820 "This package provides two parameterized uncolored color themes for
24821 Emacs: @code{tao-yin} and @code{tao-yang}. The default
24822 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
24823
24824 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
24825 @code{tao-theme-scale-filter-fn}, for edge filter; and
24826 @code{tao-theme-use-height}.")
24827 (license license:gpl3+))))
24828
24829 (define-public emacs-almost-mono-themes
24830 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
24831 (revision "0"))
24832 (package
24833 (name "emacs-almost-mono-themes")
24834 (version (git-version "0" revision commit))
24835 (source
24836 (origin
24837 (method git-fetch)
24838 (uri (git-reference
24839 (url "https://github.com/cryon/almost-mono-themes")
24840 (commit commit)))
24841 (file-name (git-file-name name version))
24842 (sha256
24843 (base32
24844 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
24845 (build-system emacs-build-system)
24846 (home-page "https://github.com/cryon/almost-mono-themes")
24847 (synopsis "Almost monochromatic themes for emacs in a few variants")
24848 (description
24849 "This package provides a collection of almost monochrome Emacs themes:
24850 @code{almost-mono-black} and @code{almost-mono-white}.")
24851 (license license:gpl3+))))
24852
24853 (define-public emacs-quasi-monochrome
24854 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
24855 (revision "0"))
24856 (package
24857 (name "emacs-quasi-monochrome")
24858 (version (git-version "1.2" revision commit))
24859 (source
24860 (origin
24861 (method git-fetch)
24862 (uri (git-reference
24863 (url "https://github.com/lbolla/emacs-quasi-monochrome")
24864 (commit commit)))
24865 (file-name (git-file-name name version))
24866 (sha256
24867 (base32
24868 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
24869 (build-system emacs-build-system)
24870 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
24871 (synopsis "Dark color theme for Emacs")
24872 (description
24873 "This package provides a dark color theme with a black background, high
24874 contrast and few colors.")
24875 (license license:gpl3+))))
24876
24877 (define-public emacs-doom-themes
24878 (let ((commit "e803fc4ac8cf7118e2d1544d8241b848b5e79e9f")
24879 (revision "5")
24880 (version "2.1.6"))
24881 (package
24882 (name "emacs-doom-themes")
24883 (version (git-version version revision commit))
24884 (source (origin
24885 (method git-fetch)
24886 (uri (git-reference
24887 (url "https://github.com/hlissner/emacs-doom-themes")
24888 (commit commit)))
24889 (file-name (git-file-name name version))
24890 (sha256
24891 (base32 "128hdmf0jkzr12fv2r6z349qiwba6q97hsb6b1n2qlhi0v5v3mfh"))))
24892 (build-system emacs-build-system)
24893 (native-inputs
24894 `(("emacs-ert-runner" ,emacs-ert-runner)))
24895 (arguments
24896 `(#:tests? #t
24897 #:test-command '("ert-runner")
24898 #:modules ((guix build emacs-build-system)
24899 (guix build utils)
24900 (guix build emacs-utils)
24901 (srfi srfi-1))
24902 #:phases
24903 (modify-phases %standard-phases
24904 (add-after 'unpack 'move-themes
24905 (lambda _
24906 ;; Move the source files to the top level, which is in the
24907 ;; EMACSLOADPATH.
24908 (for-each (lambda (f)
24909 (rename-file f (basename f)))
24910 (find-files "./themes" ".*\\.el$"))
24911 #t)))))
24912 (synopsis "Wide collection of color themes for Emacs")
24913 (description "Emacs-doom-themes contains numerous popular color themes for
24914 Emacs that integrate with major modes like Org-mode.")
24915 (home-page "https://github.com/hlissner/emacs-doom-themes")
24916 (license license:expat))))
24917
24918 (define-public emacs-modus-themes
24919 (package
24920 (name "emacs-modus-themes")
24921 (version "1.3.0")
24922 (source
24923 (origin
24924 (method git-fetch)
24925 (uri (git-reference
24926 (url "https://gitlab.com/protesilaos/modus-themes")
24927 (commit version)))
24928 (file-name (git-file-name name version))
24929 (sha256
24930 (base32 "0dw33kvs6k1a933d64fnrckzhs12d8m03a31cwblm39vmirgmf6y"))))
24931 (build-system emacs-build-system)
24932 (home-page "https://protesilaos.com/modus-themes/")
24933 (synopsis "Accessible themes (WCAG AAA)")
24934 (description
24935 "The Modus themes are designed for accessible readability. They conform
24936 with the highest standard for color contrast between any given combination of
24937 background and foreground values. This corresponds to the WCAG AAA standard,
24938 which specifies a minimum rate of distance in relative luminance of 7:1.
24939
24940 Modus Operandi (modus-operandi) is a light theme, while Modus
24941 Vivendi (modus-vivendi) is dark. Each theme’s color palette is designed to
24942 meet the needs of the numerous interfaces that are possible in the Emacs
24943 computing environment.")
24944 (license license:gpl3+)))
24945
24946 (define-public emacs-modus-operandi-theme
24947 (deprecated-package "emacs-modus-operandi-theme" emacs-modus-themes))
24948
24949 (define-public emacs-modus-vivendi-theme
24950 (deprecated-package "emacs-modus-vivendi-theme" emacs-modus-themes))
24951
24952 (define-public emacs-punpun-theme
24953 (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
24954 (revision "0"))
24955 (package
24956 (name "emacs-punpun-theme")
24957 (version (git-version "0" revision commit))
24958 (source
24959 (origin
24960 (method git-fetch)
24961 (uri (git-reference
24962 (url "https://github.com/wasamasa/punpun-theme")
24963 (commit commit)))
24964 (file-name (git-file-name name version))
24965 (sha256
24966 (base32
24967 "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"))))
24968 (build-system emacs-build-system)
24969 (home-page "https://github.com/wasamasa/punpun-theme")
24970 (synopsis "Bleak Emacs theme")
24971 (description
24972 "A bleak theme. Uses shades of gray and the occasional splash of
24973 color. Designed for 256-color terminals. Comes in light and dark!")
24974 (license license:gpl3+))))
24975
24976 (define-public emacs-spacemacs-theme
24977 (let ((commit "f79c40fb241e204539fde97200abae91e828e585")
24978 (revision "1"))
24979 (package
24980 (name "emacs-spacemacs-theme")
24981 (version (git-version "0" revision commit)) ;no release yet
24982 (source
24983 (origin
24984 (method git-fetch)
24985 (uri (git-reference
24986 (url "https://github.com/nashamri/spacemacs-theme")
24987 (commit commit)))
24988 (file-name (git-file-name name version))
24989 (sha256
24990 (base32 "1l2kkiyrskkpx8f901v0wrzaah1wjg15zdyv88spj3mh3hwd3b6n"))))
24991 (build-system emacs-build-system)
24992 (home-page "https://github.com/nashamri/spacemacs-theme")
24993 (synopsis
24994 "Light and dark theme for spacemacs that supports GUI and terminal")
24995 (description
24996 "Spacemacs theme is an Emacs color theme that started as
24997 a theme for Spacemacs. The theme comes with dark and light variants
24998 and it should work well with 256 color terminals.")
24999 (license license:gpl3+))))
25000
25001 (define-public emacs-elixir-mode
25002 (package
25003 (name "emacs-elixir-mode")
25004 (version "2.3.2")
25005 (source
25006 (origin
25007 (method git-fetch)
25008 (uri (git-reference
25009 (url "https://github.com/elixir-editors/emacs-elixir")
25010 (commit (string-append "v" version))))
25011 (file-name (git-file-name name version))
25012 (sha256
25013 (base32 "0f2a360h8bizvqk6bmgxm59g8n7id5rzwlbv6d383h15w298mcga"))))
25014 (build-system emacs-build-system)
25015 (propagated-inputs
25016 `(("emacs-pkg-info" ,emacs-pkg-info)))
25017 (home-page
25018 "https://github.com/elixir-editors/emacs-elixir")
25019 (synopsis "Major mode for editing Elixir files")
25020 (description
25021 "Elixir-Mode provides font-locking, indentation and navigation support
25022 for the Elixir programming language.")
25023 (license license:gpl3+)))
25024
25025 (define-public emacs-dimmer
25026 (package
25027 (name "emacs-dimmer")
25028 (version "0.4.2")
25029 (source
25030 (origin
25031 (method git-fetch)
25032 (uri (git-reference
25033 (url "https://github.com/gonewest818/dimmer.el")
25034 (commit version)))
25035 (file-name (git-file-name name version))
25036 (sha256
25037 (base32
25038 "0dw0qh5hm1x76s5cqxvylvmjgy0jwy11xm258g6kmx6w1k6r1d2l"))))
25039 (build-system emacs-build-system)
25040 (home-page "https://github.com/gonewest818/dimmer.el")
25041 (synopsis "Visually highlights the selected buffer in Emacs")
25042 (description "Dimmer provides a minor mode that indicates which buffer is
25043 currently active by dimming the faces in the other buffers. It does this
25044 nondestructively, and computes the dimmed faces dynamically such that your
25045 overall color scheme is shown in a muted form without requiring you to define
25046 what is a \"dim\" version of every face.")
25047 (license license:gpl3+)))
25048
25049 (define-public emacs-minibuffer-line
25050 (package
25051 (name "emacs-minibuffer-line")
25052 (version "0.1")
25053 (source
25054 (origin
25055 (method url-fetch)
25056 (uri (string-append
25057 "https://elpa.gnu.org/packages/minibuffer-line-"
25058 version
25059 ".el"))
25060 (sha256
25061 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
25062 (build-system emacs-build-system)
25063 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
25064 (synopsis "Display status info in the minibuffer window")
25065 (description
25066 "This package lets you display various status information in the
25067 minibuffer window instead of the mode-line. Of course, this is only displayed
25068 when the minibuffer window is not already used for other things (e.g. a
25069 minibuffer or an each area message).
25070
25071 The contents and aspect is controlled by the @code{minibuffer-line-format}
25072 variable and the @code{minibuffer-line} face.")
25073 (license license:gpl3+)))
25074
25075 (define-public emacs-eshell-prompt-extras
25076 (package
25077 (name "emacs-eshell-prompt-extras")
25078 (version "1.0")
25079 (home-page "https://github.com/zwild/eshell-prompt-extras")
25080 (source
25081 (origin
25082 (method git-fetch)
25083 (uri (git-reference
25084 (url home-page)
25085 (commit version)))
25086 (file-name (git-file-name name version))
25087 (sha256
25088 (base32
25089 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
25090 (build-system emacs-build-system)
25091 (synopsis "Display extra information and color for your Eshell prompt")
25092 (description "This library displays various customizable elements for
25093 @code{eshell} prompts: remote user, remote host, python virtual environment
25094 info, git branch, git dirty info and git unpushed number. Multiple themes are
25095 available.")
25096 (license license:gpl3+)))
25097
25098 (define-public emacs-eshell-did-you-mean
25099 (package
25100 (name "emacs-eshell-did-you-mean")
25101 (version "0.1")
25102 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
25103 (source
25104 (origin
25105 (method git-fetch)
25106 (uri (git-reference
25107 (url home-page)
25108 (commit (string-append "v" version))))
25109 (file-name (git-file-name name version))
25110 (sha256
25111 (base32
25112 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
25113 (build-system emacs-build-system)
25114 (synopsis "Display suggestions on 'command not found' in Eshell")
25115 (description "This library adds a list of 'Did you mean...' suggestions
25116 when the command was not found in Eshell. The suggestions are found after the
25117 commands that bear resemblance to the input command.")
25118 (license license:gpl3+)))
25119
25120 (define-public emacs-unfill
25121 (package
25122 (name "emacs-unfill")
25123 (version "0.3")
25124 (home-page "https://github.com/purcell/unfill")
25125 (source
25126 (origin
25127 (method git-fetch)
25128 (uri (git-reference
25129 (url home-page)
25130 (commit version)))
25131 (file-name (git-file-name name version))
25132 (sha256
25133 (base32 "0pg64nza2mp4xyr69pjq51jsq1aaym0g38g4jzaxr0hh3w0ris1n"))))
25134 (build-system emacs-build-system)
25135 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
25136 (description
25137 "The functions in this package provide the inverse of Emacs'
25138 @code{fill-paragraph} and @code{fill-region}.")
25139 (license license:gpl3+)))
25140
25141 (define-public emacs-windower
25142 (package
25143 (name "emacs-windower")
25144 (version "0.0.1")
25145 (home-page "https://gitlab.com/ambrevar/emacs-windower")
25146 (source
25147 (origin
25148 (method git-fetch)
25149 (uri (git-reference
25150 (url home-page)
25151 (commit version)))
25152 (file-name (git-file-name name version))
25153 (sha256
25154 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
25155 (build-system emacs-build-system)
25156 (synopsis "Helper functions for window manipulation in Emacs")
25157 (description
25158 "This package provides helper functions for window manipulation in Emacs,
25159 such as:
25160
25161 @itemize
25162 @item switch to last buffer,
25163 @item toggle single window display,
25164 @item toggle between horizontal and vertical splits,
25165 @item move borders more naturally,
25166 @item swap windows à-la @code{windmove}.
25167 @end itemize")
25168 (license license:gpl3+)))
25169
25170 (define-public emacs-flycheck-cpplint
25171 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
25172 (revision "1"))
25173 (package
25174 (name "emacs-flycheck-cpplint")
25175 (version (git-version "0.1" revision commit))
25176 (source
25177 (origin
25178 (method git-fetch)
25179 (uri (git-reference
25180 (url "https://github.com/flycheck/flycheck-google-cpplint")
25181 (commit commit)))
25182 (file-name (git-file-name name version))
25183 (sha256
25184 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
25185 (build-system emacs-build-system)
25186 (arguments
25187 `(#:phases
25188 (modify-phases %standard-phases
25189 (add-after 'unpack 'set-cpplint-path
25190 (lambda _
25191 (substitute* "flycheck-google-cpplint.el"
25192 (("\"cpplint.py\"")
25193 (string-append "\"" (which "cpplint") "\"")))
25194 #t)))))
25195 (inputs
25196 `(("cpplint" ,cpplint)))
25197 (propagated-inputs
25198 `(("flycheck-mode" ,emacs-flycheck)))
25199 (synopsis "Google C++ checker for Flycheck")
25200 (description "This package provides a interface for @code{cpplint} over
25201 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
25202 Google guidelines.")
25203 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
25204 (license license:gpl3+))))
25205
25206 (define-public emacs-helm-fish-completion
25207 (package
25208 (name "emacs-helm-fish-completion")
25209 (version "0.6")
25210 (home-page "https://github.com/emacs-helm/helm-fish-completion")
25211 (source
25212 (origin
25213 (method git-fetch)
25214 (uri (git-reference
25215 (url home-page)
25216 (commit version)))
25217 (file-name (git-file-name name version))
25218 (sha256
25219 (base32 "1j2vfngq3512naaayv9kx0d1q2zg1xgs69l8afc7swg72h0l0imw"))))
25220 (build-system emacs-build-system)
25221 (propagated-inputs
25222 `(("helm" ,emacs-helm)
25223 ("fish-completion" ,emacs-fish-completion)))
25224 (synopsis "Helm interface for Emacs fish-completion")
25225 (description "Helm Fish Completion is a Helm interface for Emacs
25226 fish-completion. It can be used in both Eshell and M-x shell.")
25227 (license license:gpl3+)))
25228
25229 (define-public emacs-helm-switch-to-repl
25230 (package
25231 (name "emacs-helm-switch-to-repl")
25232 (version "0.1.2")
25233 (home-page "https://github.com/emacs-helm/helm-switch-to-repl")
25234 (source
25235 (origin
25236 (method git-fetch)
25237 (uri (git-reference
25238 (url home-page)
25239 (commit version)))
25240 (file-name (git-file-name name version))
25241 (sha256
25242 (base32 "0n8qa549c5syvgqw1h2zrakjjbygddpxzaifaq5irscgdcajrads"))))
25243 (build-system emacs-build-system)
25244 (propagated-inputs
25245 `(("helm" ,emacs-helm)))
25246 (synopsis "Helm action to switch directory in Emacs REPLs")
25247 (description "Helm \"Switch-to-REPL\" offers the
25248 @code{helm-switch-to-repl} action, a generalized and extensible version of
25249 @code{helm-ff-switch-to-shell}. It can be added to @code{helm-find-files} and
25250 other @code{helm-type-file} sources such as @code{helm-locate}.")
25251 (license license:gpl3+)))
25252
25253 (define-public emacs-telega
25254 ;; This package has versions newer than indicated on MELPA.
25255 ;; Get the current version from `telega-version` in telega.el.
25256 ;; or by running M-x telega-version.
25257 (let ((commit "1d28dc209e2acf1a3bf2852cc620b6e412ea73f9")
25258 (revision "1")
25259 (version "0.7.1"))
25260 (package
25261 (name "emacs-telega")
25262 (version (git-version version revision commit))
25263 (source
25264 (origin
25265 (method git-fetch)
25266 (uri (git-reference
25267 (url "https://github.com/zevlg/telega.el")
25268 (commit commit)))
25269 (sha256
25270 (base32
25271 "0h6kj3r36x26v6p4gkzg5s6fv0brlvrf6ycsdwnz27fw5sdb99k7"))
25272 (patches (search-patches
25273 "emacs-telega-patch-server-functions.patch"
25274 "emacs-telega-test-env.patch"))
25275 (file-name (git-file-name name version))))
25276 (build-system gnu-build-system)
25277 (arguments
25278 `(#:modules ((guix build gnu-build-system)
25279 ((guix build emacs-build-system) #:prefix emacs:)
25280 (guix build utils)
25281 (guix build emacs-utils))
25282 #:imported-modules (,@%gnu-build-system-modules
25283 (guix build emacs-build-system)
25284 (guix build emacs-utils))
25285 #:test-target "test"
25286 ;; TODO: Currently tgVOIP is not functional, thus we have disabled it
25287 ;; temporarily.
25288 ;; #:make-flags (list "WITH_VOIP=t")
25289 #:phases
25290 (modify-phases %standard-phases
25291 (add-after 'unpack 'prefix-patch
25292 (lambda _
25293 (substitute* "server/Makefile"
25294 (("CC=cc")
25295 "CC=gcc")
25296 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
25297 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
25298 "/bin"))
25299 ;; Manually invoke `run_tests.py` after install phase.
25300 (("python3 run_tests.py")
25301 ""))
25302 #t))
25303 (add-after 'check 'telega-paths-patch
25304 (lambda* (#:key inputs #:allow-other-keys)
25305 ;; Hard-code paths to `ffplay` and `ffmpeg`.
25306 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
25307 "/bin/ffplay"))
25308 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
25309 "/bin/ffmpeg")))
25310 (substitute* "telega-ffplay.el"
25311 (("\\(executable-find \"ffplay\"\\)")
25312 (string-append
25313 "(and (file-executable-p \"" ffplay-bin "\")"
25314 "\"" ffplay-bin "\")"))
25315 (("\\(executable-find \"ffmpeg\"\\)")
25316 (string-append
25317 "(and (file-executable-p \"" ffmpeg-bin "\")"
25318 "\"" ffmpeg-bin "\")"))))
25319 ;; Modify telega-util to reflect unique dir name in
25320 ;; `telega-install-data' phase.
25321 (substitute* "telega-util.el"
25322 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
25323 "(concat \"telega-data/\" filename)
25324 (locate-dominating-file telega--lib-directory
25325 \"telega-data\")"))
25326 ;; Modify telega.el to reflect unique dir name in
25327 ;; `telega-install-contrib' phase.
25328 (substitute* "telega.el"
25329 (("\\(push \\(expand-file-name \"contrib\" telega--lib-directory\\) load-path\\)")
25330 "(push (expand-file-name \"telega-contrib\"
25331 (locate-dominating-file telega--lib-directory
25332 \"telega-contrib\")) load-path)"))
25333 #t))
25334 ;; The server test suite has a hardcoded path.
25335 ;; Reset this behavior to use the proper path.
25336 (add-after 'unpack 'server-suite-patch
25337 (lambda _
25338 (substitute* "server/run_tests.py"
25339 (("~/.telega/telega-server")
25340 (string-append (assoc-ref %outputs "out")
25341 "/bin/telega-server")))
25342 #t))
25343 (add-after 'install 'run-server-suite
25344 (lambda _
25345 (invoke "python3" "server/run_tests.py")
25346 #t))
25347 (delete 'configure)
25348 ;; Build emacs-side using `emacs-build-system'
25349 (add-after 'compress-documentation 'emacs-add-source-to-load-path
25350 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
25351 ;; Manually invoke bytecompilation for the contrib
25352 ;; subdirectory.
25353 (add-after 'emacs-add-source-to-load-path 'emacs-bytecomp-contrib
25354 (lambda _
25355 (substitute* "Makefile"
25356 (("byte-recompile-directory \".\"")
25357 "byte-recompile-directory \"contrib\""))
25358 (invoke "make" "compile")
25359 #t))
25360 (add-after 'emacs-bytecomp-contrib 'emacs-install
25361 (assoc-ref emacs:%standard-phases 'install))
25362 ;; This step installs subdir /etc, which contains images, sounds and
25363 ;; various other data, next to the site-lisp dir.
25364 (add-after 'emacs-install 'telega-install-data
25365 (lambda* (#:key outputs #:allow-other-keys)
25366 (copy-recursively
25367 "etc"
25368 (string-append (assoc-ref outputs "out")
25369 "/share/emacs/telega-data/"))
25370 #t))
25371 (add-after 'emacs-install 'telega-install-contrib
25372 (lambda* (#:key outputs #:allow-other-keys)
25373 (copy-recursively
25374 "contrib"
25375 (string-append (assoc-ref outputs "out")
25376 "/share/emacs/telega-contrib"))
25377 #t))
25378 (add-after 'telega-install-contrib 'emacs-build
25379 (assoc-ref emacs:%standard-phases 'build))
25380 (add-after 'telega-install-contrib 'emacs-make-autoloads
25381 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
25382 (inputs
25383 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
25384 (propagated-inputs
25385 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
25386 ("emacs-company" ,emacs-company)
25387 ("emacs-rainbow-identifiers"
25388 ,emacs-rainbow-identifiers)
25389 ("libwebp" ,libwebp))) ; sticker support.
25390 (native-inputs
25391 `(("tdlib" ,tdlib)
25392 ;; Use Emacs with wide ints on 32-bit architectures.
25393 ("emacs" ,(match (%current-system)
25394 ((or "i686-linux" "armhf-linux")
25395 emacs-wide-int)
25396 (_
25397 emacs)))
25398 ("python" ,python)))
25399 (synopsis "GNU Emacs client for the Telegram messenger")
25400 (description
25401 "Telega is a full-featured, unofficial GNU Emacs-based client for the
25402 Telegram messaging platform.")
25403 (home-page "https://zevlg.github.io/telega.el/")
25404 (license license:gpl3+))))
25405
25406 (define-public emacs-doom-modeline
25407 (package
25408 (name "emacs-doom-modeline")
25409 (version "3.0.0")
25410 (source (origin
25411 (method git-fetch)
25412 (uri (git-reference
25413 (url "https://github.com/seagle0128/doom-modeline")
25414 (commit (string-append "v" version))))
25415 (sha256
25416 (base32
25417 "08m75rl5i812pa87zcsjvb4mm3jjhpwzgx9mf2m7sxj807airz5d"))
25418 (file-name (git-file-name name version))))
25419 (build-system emacs-build-system)
25420 (arguments
25421 `(#:test-command '("ert-runner")))
25422 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
25423 (propagated-inputs
25424 `(("emacs-all-the-icons" ,emacs-all-the-icons)
25425 ("emacs-dash" ,emacs-dash)
25426 ("emacs-shrink-path" ,emacs-shrink-path)))
25427 (synopsis "Fancy and fast mode-line inspired by minimalism design")
25428 (description "Doom modeline is a complete modeline for GNU Emacs inspired
25429 by the Doom theme collection. This modeline features support for mode-specific
25430 icon support, git integration, and several other utilities.")
25431 (home-page "https://github.com/seagle0128/doom-modeline/")
25432 (license license:gpl3+)))
25433
25434 (define-public emacs-mood-line
25435 (package
25436 (name "emacs-mood-line")
25437 (version "1.2.4")
25438 (source
25439 (origin
25440 (method git-fetch)
25441 (uri (git-reference
25442 (url "https://gitlab.com/jessieh/mood-line")
25443 (commit version)))
25444 (file-name (git-file-name name version))
25445 (sha256
25446 (base32 "0fh9j9fkgl433nykfzjnzap5labi4sdndfk1nv4f904ij69pmvxb"))))
25447 (build-system emacs-build-system)
25448 (home-page "https://gitlab.com/jessieh/mood-line")
25449 (synopsis "Minimal mode-line for Emacs")
25450 (description
25451 "Mood-line is a minimal Emacs mode-line configuration that aims to
25452 replicate some of the features of the Doom modeline package.")
25453 (license license:gpl2+)))
25454
25455 (define-public emacs-simple-modeline
25456 (let ((commit "38973dec2912e2136d8fde5f2667063863fee15a")
25457 (revision "1"))
25458 (package
25459 (name "emacs-simple-modeline")
25460 (version (git-version"1.2" revision commit))
25461 (source
25462 (origin
25463 (method git-fetch)
25464 (uri (git-reference
25465 (url "https://github.com/gexplorer/simple-modeline")
25466 (commit commit)))
25467 (file-name (git-file-name name version))
25468 (sha256
25469 (base32
25470 "0y70hc3x8rxr8b5x8d0a23gpcadzrn43wmrsvqqxmmkqqp45n7gj"))))
25471 (build-system emacs-build-system)
25472 (home-page "https://github.com/gexplorer/simple-modeline")
25473 (synopsis "Simple mode-line configuration for Emacs")
25474 (description
25475 "This package provides a simple mode-line configuration for Emacs.")
25476 (license license:gpl3+))))
25477
25478 (define-public emacs-frames-only-mode
25479 (package
25480 (name "emacs-frames-only-mode")
25481 (version "1.0.0")
25482 (source
25483 (origin
25484 (method git-fetch)
25485 (uri (git-reference
25486 (url "https://github.com/davidshepherd7/frames-only-mode")
25487 (commit version)))
25488 (file-name (git-file-name name version))
25489 (sha256
25490 (base32 "0y0sdjixaxvywrlp2sw51wnczhk51q1svl5aghbk9rkxpwv9ys9v"))))
25491 (build-system emacs-build-system)
25492 (propagated-inputs
25493 `(("emacs-dash" ,emacs-dash)
25494 ("emacs-s" ,emacs-s)))
25495 (home-page "https://github.com/davidshepherd7/frames-only-mode")
25496 (synopsis "Use frames instead of Emacs windows")
25497 (description
25498 "This is an Emacs global minor mode to use Emacs frames instead of Emacs'
25499 internal windowing system. This combines particularly well with tiling window
25500 managers such as XMonad.")
25501 (license license:gpl3+)))
25502
25503 (define-public emacs-modalka
25504 (package
25505 (name "emacs-modalka")
25506 (version "0.1.5")
25507 (source
25508 (origin
25509 (method git-fetch)
25510 (uri (git-reference
25511 (url "https://github.com/mrkkrp/modalka")
25512 (commit version)))
25513 (file-name (git-file-name name version))
25514 (sha256
25515 (base32 "0ggj8q92sb6wp3hs1vhpmy56id0p3i9zwnw24g2v7xa7w8ac9s7l"))))
25516 (build-system emacs-build-system)
25517 (home-page "https://github.com/mrkkrp/modalka")
25518 (synopsis "Minor mode to easily define native custom modal editing")
25519 (description
25520 "This is a building kit to help switch to modal editing in Emacs. The
25521 main goal of the package is to make modal editing in Emacs as natural and
25522 native as possible. Modalka lets you define your own keys and does not come
25523 with a preconfigured set of keys.")
25524 (license license:gpl3+)))
25525
25526 (define-public emacs-shrink-path
25527 (package
25528 (name "emacs-shrink-path")
25529 (version "0.3.1")
25530 (source
25531 (origin
25532 (method git-fetch)
25533 (uri (git-reference
25534 (url "https://gitlab.com/bennya/shrink-path.el.git")
25535 (commit (string-append "v" version))))
25536 (sha256
25537 (base32
25538 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
25539 (file-name (git-file-name name version))))
25540 (build-system emacs-build-system)
25541 (propagated-inputs
25542 `(("emacs-s" ,emacs-s)
25543 ("emacs-dash" ,emacs-dash)
25544 ("emacs-f" ,emacs-f)))
25545 (home-page "https://gitlab.com/bennya/shrink-path.el")
25546 (synopsis "Fish-style path truncation in emacs-lisp")
25547 (description "This package provides utility functions that allow for
25548 Fish-style truncated directories in eshell and various modelines.")
25549 (license license:gpl3+)))
25550
25551 (define-public emacs-org-present
25552 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
25553 (package
25554 (name "emacs-org-present")
25555 (version "0.0.1")
25556 (source
25557 (origin
25558 (method git-fetch)
25559 (uri (git-reference
25560 (url "https://github.com/rlister/org-present")
25561 (commit commit)))
25562 (file-name (git-file-name name version))
25563 (sha256
25564 (base32
25565 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
25566 (build-system emacs-build-system)
25567 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
25568 (description "Org-present is an extremely minimalist presentation tool
25569 for Emacs org-mode. Simply layout your presentation with each slide under a
25570 top-level header, start the minor mode with @code{org-present}, and page through
25571 each slide with left/right keys.")
25572 (home-page "https://github.com/rlister/org-present")
25573 (license license:gpl2))))
25574
25575 (define-public emacs-fullframe
25576 (package
25577 (name "emacs-fullframe")
25578 (version "0.5.0")
25579 (source
25580 (origin
25581 (method git-fetch)
25582 (uri (git-reference
25583 (url "https://github.com/tomterl/fullframe")
25584 (commit version)))
25585 (sha256
25586 (base32
25587 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
25588 (file-name (git-file-name name version))))
25589 (build-system emacs-build-system)
25590 (home-page "https://github.com/tomterl/fullframe")
25591 (synopsis "Generalized automatic execution in a single frame")
25592 (description "This library provides helpers for single-window-per-frame
25593 execution of buffer-exposing commands.")
25594 (license license:gpl3+)))
25595
25596 (define-public emacs-eshell-toggle
25597 (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
25598 (revision "1"))
25599 (package
25600 (name "emacs-eshell-toggle")
25601 (version (git-version "0.10.0" revision commit))
25602 (source
25603 (origin
25604 (method git-fetch)
25605 (uri (git-reference
25606 (url "https://github.com/4DA/eshell-toggle")
25607 (commit commit)))
25608 (sha256
25609 (base32
25610 "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
25611 (file-name (git-file-name name version))))
25612 (build-system emacs-build-system)
25613 (propagated-inputs
25614 `(("emacs-dash" ,emacs-dash)))
25615 (home-page "https://github.com/4DA/eshell-toggle")
25616 (synopsis "Show and hide an @code{eshell} instance")
25617 (description "This package toggles an @code{eshell} instance for the
25618 current buffer.")
25619 (license license:gpl3+))))
25620
25621 (define-public emacs-repl-toggle
25622 (package
25623 (name "emacs-repl-toggle")
25624 (version "0.7.1")
25625 (source
25626 (origin
25627 (method git-fetch)
25628 (uri (git-reference
25629 (url "https://git.sr.ht/~tomterl/repl-toggle")
25630 (commit version)))
25631 (sha256
25632 (base32
25633 "0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"))
25634 (file-name (git-file-name name version))))
25635 (build-system emacs-build-system)
25636 (propagated-inputs
25637 `(("emacs-fullframe" ,emacs-fullframe)))
25638 (home-page "https://git.sr.ht/~tomterl/repl-toggle")
25639 (synopsis "Switch to and from current major mode's REPL")
25640 (description "This package provides a function to switch to and from a
25641 REPL appropriate to the current major mode.")
25642 (license license:gpl3+)))
25643
25644 (define-public emacs-rime
25645 (package
25646 (name "emacs-rime")
25647 (version "1.0.4")
25648 (source
25649 (origin
25650 (method git-fetch)
25651 (uri (git-reference
25652 (url "https://github.com/DogLooksGood/emacs-rime")
25653 (commit (string-append "v" version))))
25654 (file-name (git-file-name name version))
25655 (sha256
25656 (base32 "1a50cziwg7lpgh26yvwxs46jfyfq1m0l6igbg5g5m288mz4d3an9"))))
25657 (build-system emacs-build-system)
25658 (arguments
25659 '(#:phases
25660 (modify-phases %standard-phases
25661 (add-after 'unpack 'patch-rime-data-path
25662 (lambda* (#:key inputs #:allow-other-keys)
25663 (make-file-writable "rime.el")
25664 (emacs-substitute-variables "rime.el"
25665 ("rime-share-data-dir"
25666 (string-append (assoc-ref inputs "rime-data")
25667 "/share/rime-data")))
25668 #t))
25669 (add-before 'install 'build-emacs-module
25670 (lambda _
25671 (invoke "make" "lib")))
25672 (add-after 'install 'install-emacs-module
25673 (lambda* (#:key outputs #:allow-other-keys)
25674 (install-file "librime-emacs.so"
25675 (string-append (assoc-ref outputs "out")
25676 "/share/emacs/site-lisp"))
25677 #t)))))
25678 (inputs
25679 `(("librime" ,librime)
25680 ("rime-data" ,rime-data)))
25681 (propagated-inputs
25682 `(("emacs-dash" ,emacs-dash)
25683 ("emacs-popup" ,emacs-popup)
25684 ("emacs-posframe" ,emacs-posframe)))
25685 (home-page "https://github.com/DogLooksGood/emacs-rime")
25686 (synopsis "Rime input method in Emacs")
25687 (description
25688 "Rime is an Emacs input method built upon Rime input method engine.")
25689 (license license:gpl3+)))
25690
25691 (define-public emacs-blackout
25692 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
25693 (revision "1"))
25694 (package
25695 (name "emacs-blackout")
25696 (version (git-version "1.0" revision commit))
25697 (source
25698 (origin
25699 (method git-fetch)
25700 (uri (git-reference
25701 (url "https://github.com/raxod502/blackout")
25702 (commit commit)))
25703 (sha256
25704 (base32
25705 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
25706 (file-name (git-file-name name version))))
25707 (build-system emacs-build-system)
25708 (home-page "https://github.com/raxod502/blackout")
25709 (synopsis "Clean up mode lighters")
25710 (description "This package provides a function for hiding and customizing
25711 display of major and minor modes in the mode line.")
25712 (license license:gpl3+))))
25713
25714 (define-public emacs-ivy-omni-org
25715 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
25716 (revision "1"))
25717 (package
25718 (name "emacs-ivy-omni-org")
25719 (version (git-version "0.2.1" revision commit))
25720 (source
25721 (origin
25722 (method git-fetch)
25723 (uri (git-reference
25724 (url "https://github.com/akirak/ivy-omni-org")
25725 (commit commit)))
25726 (file-name (git-file-name name version))
25727 (sha256
25728 (base32
25729 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
25730 (build-system emacs-build-system)
25731 (propagated-inputs
25732 `(("emacs-ivy" ,emacs-ivy)
25733 ("emacs-dash" ,emacs-dash)))
25734 (synopsis "Browse anything in Org mode")
25735 (description "This package allows Org items to be accessed via the Ivy
25736 interface.")
25737 (home-page "https://github.com/akirak/ivy-omni-org")
25738 (license license:gpl3+))))
25739
25740 (define-public emacs-ivy-posframe
25741 (package
25742 (name "emacs-ivy-posframe")
25743 (version "0.6.0")
25744 (source
25745 (origin
25746 (method url-fetch)
25747 (uri (string-append "https://elpa.gnu.org/packages/"
25748 "ivy-posframe-" version ".tar"))
25749 (sha256
25750 (base32 "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf"))))
25751 (build-system emacs-build-system)
25752 (propagated-inputs
25753 `(("emacs-ivy" ,emacs-ivy)
25754 ("emacs-posframe" ,emacs-posframe)))
25755 (home-page "https://github.com/tumashu/ivy-posframe")
25756 (synopsis "Pop a posframe (a child frame) to show Ivy candidates")
25757 (description
25758 "This package provides an Emacs Ivy extension, which let Ivy use
25759 posframe to show its candidate menu.")
25760 (license license:gpl3+)))
25761
25762 (define-public emacs-shackle
25763 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
25764 (revision "1"))
25765 (package
25766 (name "emacs-shackle")
25767 (version (git-version "1.0.3" revision commit))
25768 (source
25769 (origin
25770 (method git-fetch)
25771 (uri (git-reference
25772 (url "https://github.com/wasamasa/shackle")
25773 (commit commit)))
25774 (file-name (git-file-name name version))
25775 (sha256
25776 (base32
25777 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
25778 (build-system emacs-build-system)
25779 (synopsis "Enforce rules for popups")
25780 (description "This package provides a global minor mode in which users
25781 can specify how popup-displaying functions occupy the screen.")
25782 (home-page "https://github.com/wasamasa/shackle")
25783 (license license:gpl3+))))
25784
25785 (define-public emacs-showtip
25786 (let ((commit "930da302809a4257e8d69425455b29e1cc91949b")
25787 (revision "0"))
25788 (package
25789 (name "emacs-showtip")
25790 (version (git-version "0.01" revision commit))
25791 (source
25792 (origin
25793 (method git-fetch)
25794 (uri (git-reference
25795 (url "https://github.com/emacsorphanage/showtip")
25796 (commit commit)))
25797 (file-name (git-file-name name version))
25798 (sha256
25799 (base32 "01zak0zhha6dp7a2hm28d065gjnc462iwpsfyxhbxgfzcdlicqc7"))))
25800 (build-system emacs-build-system)
25801 (home-page "https://github.com/emacsorphanage/showtip")
25802 (synopsis "Show tip at cursor")
25803 (description
25804 "This library provide one function to show tooltip near the cursor.")
25805 (license license:gpl2+))))
25806
25807 (define-public emacs-sdcv
25808 ;; No tagged version upstream.
25809 (let ((commit "943ae3e90cc9a0a88a37cc710acd7424fd4defc4" )
25810 (revision "0"))
25811 (package
25812 (name "emacs-sdcv")
25813 (version (git-version "1.5.2" revision commit))
25814 (source
25815 (origin
25816 (method git-fetch)
25817 (uri (git-reference
25818 (url "https://github.com/stardiviner/sdcv.el")
25819 (commit commit)))
25820 (file-name (git-file-name name version))
25821 (sha256
25822 (base32 "0i1ylvw7p46pkf3yyyzcdmdhsspzymnnnvx8s0i7vynngr5x0vzh"))))
25823 (build-system emacs-build-system)
25824 (propagated-inputs
25825 `(("emacs-popup" ,emacs-popup)
25826 ("emacs-pos-tip" ,emacs-pos-tip)
25827 ("emacs-showtip" ,emacs-showtip)))
25828 (home-page "https://www.emacswiki.org/emacs/download/sdcv.el")
25829 (synopsis "Emacs interface for @code{sdcv}")
25830 (description
25831 "This plugin translates words with @code{sdcv}, and displays
25832 translation using a tooltip or in a dedicated buffer.")
25833 (license license:gpl3+))))
25834
25835 (define-public emacs-helm-lacarte
25836 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
25837 (revision "1"))
25838 (package
25839 (name "emacs-helm-lacarte")
25840 (version (git-version "0" revision commit))
25841 (source
25842 (origin
25843 (method git-fetch)
25844 (uri (git-reference
25845 (url "https://github.com/emacs-helm/helm-lacarte")
25846 (commit commit)))
25847 (file-name (git-file-name name version))
25848 (sha256
25849 (base32
25850 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
25851 (build-system emacs-build-system)
25852 (propagated-inputs
25853 `(("emacs-helm" ,emacs-helm)
25854 ("emacs-lacarte" ,emacs-lacarte)))
25855 (synopsis "Helm interface to @code{lacarte.el}")
25856 (description "This package provides a Helm interface to
25857 @code{lacarte.el}, a package that displays mode-specific commands as menu
25858 items.")
25859 (home-page "https://github.com/emacs-helm/helm-lacarte")
25860 (license license:gpl3+))))
25861
25862 (define-public emacs-esh-help
25863 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
25864 (revision "1"))
25865 (package
25866 (name "emacs-esh-help")
25867 (version (git-version "1.0.1" revision commit))
25868 (source
25869 (origin
25870 (method git-fetch)
25871 (uri (git-reference
25872 (url "https://github.com/tom-tan/esh-help")
25873 (commit commit)))
25874 (file-name (git-file-name name version))
25875 (sha256
25876 (base32
25877 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
25878 (build-system emacs-build-system)
25879 (propagated-inputs
25880 `(("emacs-dash" ,emacs-dash)))
25881 (synopsis "Help functions for Eshell")
25882 (description "This package provides a @code{run-help} function inspired
25883 by @code{zsh} as well as @code{eldoc} support.")
25884 (home-page "https://github.com/tom-tan/esh-help")
25885 (license license:gpl3+))))
25886
25887 (define-public emacs-isearch-dabbrev
25888 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
25889 (revision "1"))
25890 (package
25891 (name "emacs-isearch-dabbrev")
25892 (version (git-version "0.1" revision commit))
25893 (source
25894 (origin
25895 (method git-fetch)
25896 (uri (git-reference
25897 (url "https://github.com/Dewdrops/isearch-dabbrev")
25898 (commit commit)))
25899 (file-name (git-file-name name version))
25900 (sha256
25901 (base32
25902 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
25903 (build-system emacs-build-system)
25904 (synopsis "Use @code{dabbrev} within @code{isearch}")
25905 (description "This package allows @code{dabbrev-expand} to be used
25906 within @code{isearch-mode}.")
25907 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
25908 (license license:gpl3+))))
25909
25910 (define-public emacs-helm-linux-disks
25911 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
25912 (revision "1"))
25913 (package
25914 (name "emacs-helm-linux-disks")
25915 (version (git-version "0.1" revision commit))
25916 (source
25917 (origin
25918 (method git-fetch)
25919 (uri (git-reference
25920 (url "https://github.com/Akirak/helm-linux-disks")
25921 (commit commit)))
25922 (file-name (git-file-name name version))
25923 (sha256
25924 (base32
25925 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
25926 (build-system emacs-build-system)
25927 (propagated-inputs
25928 `(("emacs-helm" ,emacs-helm)))
25929 (synopsis "Mount/unmount volumes in Linux via Helm")
25930 (description "This package provides a Helm interface to run operations
25931 on removable volumes in Linux.")
25932 (home-page "https://github.com/Akirak/helm-linux-disks")
25933 (license license:gpl3+))))
25934
25935 (define-public emacs-psession
25936 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
25937 (revision "1"))
25938 (package
25939 (name "emacs-psession")
25940 (version (git-version "1.5" revision commit))
25941 (source
25942 (origin
25943 (method git-fetch)
25944 (uri (git-reference
25945 (url "https://github.com/thierryvolpiatto/psession")
25946 (commit commit)))
25947 (file-name (git-file-name name version))
25948 (sha256
25949 (base32
25950 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
25951 (build-system emacs-build-system)
25952 (propagated-inputs
25953 `(("emacs-async" ,emacs-async)))
25954 (synopsis "Persistent save of @code{elisp} objects.")
25955 (description "This package provides minor modes for saving Emacs session
25956 data, including buffers, window configuration, variables, and more.")
25957 (home-page "https://github.com/thierryvolpiatto/psession")
25958 (license license:gpl3+))))
25959
25960 (define-public emacs-parseedn
25961 (package
25962 (name "emacs-parseedn")
25963 (version "0.2.0")
25964 (source
25965 (origin
25966 (method git-fetch)
25967 (uri (git-reference
25968 (url "https://github.com/clojure-emacs/parseedn")
25969 (commit (string-append "v" version))))
25970 (file-name (git-file-name name version))
25971 (sha256
25972 (base32
25973 "0271amhw63650rrzikcyqxa8sb42npnk7q3yrsay2v79wbqkdaw9"))))
25974 (build-system emacs-build-system)
25975 (propagated-inputs
25976 `(("emacs-a" ,emacs-a)
25977 ("emacs-parseclj" ,emacs-parseclj)))
25978 (home-page "https://cider.mx")
25979 (synopsis "EDN parser for Emacs Lisp")
25980 (description
25981 "Parseedn is an Emacs Lisp library for parsing EDN (Clojure) data.
25982 It uses parseclj's shift-reduce parser internally.")
25983 (license license:gpl3+)))
25984
25985 (define-public emacs-parseclj
25986 (package
25987 (name "emacs-parseclj")
25988 (version "0.2.0")
25989 (source
25990 (origin
25991 (method git-fetch)
25992 (uri (git-reference
25993 (url "https://github.com/clojure-emacs/parseclj")
25994 (commit (string-append "v" version))))
25995 (file-name (git-file-name name version))
25996 (sha256
25997 (base32
25998 "0894vhyx1phq8mdynnnqflcgi2a54hi926f4dk8slawzx1cb9xxb"))))
25999 (build-system emacs-build-system)
26000 (propagated-inputs `(("emacs-a" ,emacs-a)))
26001 (home-page "https://cider.mx")
26002 (synopsis "Clojure parser for Emacs Lisp")
26003 (description
26004 "Parseclj is an Emacs Lisp library for parsing Clojure code and EDN data.
26005 It supports several input and output formats, all powered by the same
26006 shift-reduce parser function.")
26007 (license license:gpl3+)))
26008
26009 (define-public emacs-hide-mode-line
26010 (package
26011 (name "emacs-hide-mode-line")
26012 (version "1.0.2")
26013 (source (origin
26014 (method git-fetch)
26015 (uri (git-reference
26016 (url "https://github.com/hlissner/emacs-hide-mode-line")
26017 (commit (string-append "v" version))))
26018 (file-name (git-file-name name version))
26019 (sha256
26020 (base32
26021 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
26022 (build-system emacs-build-system)
26023 (synopsis "Emacs plugin that hides the mode-line")
26024 (description "A minor mode that hides the mode-line in your current
26025 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
26026 or simply disable the mode-line in buffers where it is not very useful.")
26027 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
26028 (license license:expat)))
26029
26030 (define-public emacs-helm-cider
26031 ;; No new release since March 2018.
26032 (let ((commit "9363cc537f06233345aa3af5cd46aa5681ad607b"))
26033 (package
26034 (name "emacs-helm-cider")
26035 (version (git-version "0.4.0" "1" commit))
26036 (home-page "https://github.com/clojure-emacs/helm-cider")
26037 (source (origin
26038 (method git-fetch)
26039 (uri (git-reference
26040 (url home-page)
26041 (commit commit)))
26042 (file-name (git-file-name name version))
26043 (sha256
26044 (base32
26045 "0vfn4smqba1vsshz48ggkj8gs94la0sxb1sq4shrb41qj2x3dci7"))))
26046 (build-system emacs-build-system)
26047 (propagated-inputs
26048 `(("emacs-helm" ,emacs-helm)
26049 ("emacs-cider" ,emacs-cider)))
26050 (synopsis "Helm interface to Clojure's CIDER")
26051 (description "Helm-CIDER adds Helm interfaces to
26052 @command{cider-apropos}, @command{cider-apropos-documentation},
26053 @command{cider-browse-ns} (namespaces).
26054
26055 It also provides original Helm commands: @command{helm-cider-spec},
26056 @command{helm-cider-spec-ns}, @command{helm-cider-repl-history},
26057 @command{helm-cider-cheatsheet}.")
26058 (license license:gpl3+))))
26059
26060 (define-public emacs-edn
26061 ;; No release since February 2016
26062 (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
26063 (package
26064 (name "emacs-edn")
26065 (version (git-version "1.1.2" "1" commit))
26066 (home-page "https://github.com/expez/edn.el")
26067 (source (origin
26068 (method git-fetch)
26069 (uri (git-reference
26070 (url home-page)
26071 (commit commit)))
26072 (file-name (git-file-name name version))
26073 (sha256
26074 (base32
26075 "1xp2hjhn52k6l1g6ypva6dsklpawni7gvjafbz6404f9dyxflh7l"))))
26076 (build-system emacs-build-system)
26077 (propagated-inputs
26078 `(("emacs-peg" ,emacs-peg)))
26079 (synopsis "Read and write EDN from Elisp")
26080 (description "This is an Emacs Lisp library for reading and writing the
26081 data format @code{edn}. See @url{https://github.com/edn-format/edn}.")
26082 (license license:gpl3+))))
26083
26084 (define-public emacs-helm-clojuredocs
26085 (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
26086 (package
26087 (name "emacs-helm-clojuredocs")
26088 (version (git-version "0.3" "1" commit))
26089 (home-page "https://github.com/mbuczko/helm-clojuredocs")
26090 (source (origin
26091 (method git-fetch)
26092 (uri (git-reference
26093 (url home-page)
26094 (commit commit)))
26095 (file-name (git-file-name name version))
26096 (sha256
26097 (base32
26098 "015b8zxh91ljhqvn6z43gy08di54xcw9skw0i7frj3d7gk984qhl"))))
26099 (build-system emacs-build-system)
26100 (propagated-inputs
26101 `(("emacs-helm" ,emacs-helm)
26102 ("emacs-edn" ,emacs-edn)))
26103 (synopsis "Search help on clojuredocs.org with Helm")
26104 (description "This package provides a Helm interface to lookup Clojure
26105 documentation on @url{https://clojuredocs.org} with Helm.
26106
26107 Two function are exposed:
26108 @itemize
26109 @item @command{helm-clojuredocs}: opens a Helm session with no initial
26110 pattern. Searching starts with minimal 3 characters entered.
26111 @item @command{helm-clojuredocs-at-point}: opens a Helm session with initial
26112 pattern guessed from thing under current cursor position.
26113 @end itemize\n")
26114 (license license:gpl3+))))
26115
26116 (define-public emacs-helm-selector
26117 (package
26118 (name "emacs-helm-selector")
26119 (version "0.6.1")
26120 (home-page "https://github.com/emacs-helm/helm-selector")
26121 (source
26122 (origin
26123 (method git-fetch)
26124 (uri (git-reference
26125 (url home-page)
26126 (commit version)))
26127 (file-name (git-file-name name version))
26128 (sha256
26129 (base32
26130 "01lh1df0bnas1p7xlqc4i1jd67f8lxgq0q2zsvx10z8828i76j3v"))))
26131 (build-system emacs-build-system)
26132 (propagated-inputs
26133 `(("emacs-helm" ,emacs-helm)))
26134 (synopsis "Convenient related-buffer selection for Emacs Helm")
26135 (description "Helm Selector is a collection of Helm helper functions for
26136 convenient buffer selection.
26137
26138 It is especially helpful to create Helm sessions to navigate buffers of a
26139 given mode in a “do what I mean” fashion:
26140
26141 If current buffer is not of mode X, switch to last buffer of mode X. If
26142 current buffer is of mode X, show a Helm session of all buffers in mode X. In
26143 the Helm session, it’s also possible to input an arbitrary name which will be
26144 used for the creation of a new buffer of mode X.")
26145 (license license:gpl3+)))
26146
26147 (define-public emacs-helm-wordnut
26148 (let ((commit "9681a9535a839cd5d042c302945ae595852fe7bf"))
26149 (package
26150 (name "emacs-helm-wordnut")
26151 (version (git-version "0.1" "1" commit))
26152 (home-page "https://github.com/emacs-helm/helm-wordnut")
26153 (source
26154 (origin
26155 (method git-fetch)
26156 (uri (git-reference
26157 (url home-page)
26158 (commit commit)))
26159 (file-name (git-file-name name version))
26160 (sha256
26161 (base32
26162 "0msj7nbsb363pxamxi7n2z08cp5jizkpjbwia8f5a161wjglrihs"))))
26163 (build-system emacs-build-system)
26164 (inputs
26165 `(("wordnet" ,wordnet)))
26166 (propagated-inputs
26167 `(("emacs-helm" ,emacs-helm)))
26168 (arguments
26169 `(#:phases
26170 (modify-phases %standard-phases
26171 (add-after 'unpack 'configure
26172 (lambda* (#:key inputs #:allow-other-keys)
26173 (let ((wn (assoc-ref inputs "wordnet")))
26174 ;; .el is read-only in git.
26175 (chmod "helm-wordnut.el" #o644)
26176 ;; Specify the absolute file names of the various
26177 ;; programs so that everything works out-of-the-box.
26178 (emacs-substitute-variables "helm-wordnut.el"
26179 ("helm-wordnut-prog" (string-append wn "/bin/wn"))
26180 ("helm-wordnut-wordnet-location"
26181 (string-append wn "/dict")))))))))
26182 (synopsis "Emacs Helm interface for Wordnet")
26183 (description "This package is merely a combination of two other Emacs
26184 packages: @code{helm-wordnet} and @code{wordnut}. It features word completion
26185 with Helm and displays a buffer of all the different result types available to
26186 Wordnet.")
26187 (license license:gpl3+))))
26188
26189 (define-public emacs-metal-mercury-mode
26190 (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
26191 (revision "1")
26192 (version "0.0.0"))
26193 (package
26194 (name "emacs-metal-mercury-mode")
26195 (version (git-version version revision commit))
26196 (source
26197 (origin
26198 (method git-fetch)
26199 (uri (git-reference
26200 (url "https://github.com/ahungry/metal-mercury-mode")
26201 (commit commit)))
26202 (sha256
26203 (base32
26204 "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5"))
26205 (file-name (git-file-name name version))))
26206 (build-system emacs-build-system)
26207 (propagated-inputs
26208 `(("emacs-dash" ,emacs-dash)))
26209 (synopsis "Major mode for editing Mercury files")
26210 (description
26211 "Major mode for editing Mercury files. This is a rewrite of the original
26212 mercury-mode provided by Emacs as a wrapper around prolog-mode.")
26213 (home-page "https://github.com/ahungry/metal-mercury-mode")
26214 (license license:gpl3+))))
26215
26216 (define-public emacs-boxquote
26217 (package
26218 (name "emacs-boxquote")
26219 (version "2.2")
26220 (source
26221 (origin
26222 (method git-fetch)
26223 (uri (git-reference
26224 (url "https://github.com/davep/boxquote.el")
26225 (commit (string-append "v" version))))
26226 (file-name (git-file-name name version))
26227 (sha256
26228 (base32 "0wwjawgylaaifdsszqxcfsyhfzgxbjkzqhzrnxnr9b16wghb7xf7"))))
26229 (build-system emacs-build-system)
26230 (home-page "https://github.com/davep/boxquote.el")
26231 (synopsis "Quote text with different kinds of boxes")
26232 (description "@code{boxquote} provides a set of functions for using
26233 a text quoting style that partially boxes in the left hand side of an area of
26234 text, such a marking style might be used to show externally included text or
26235 example code.")
26236 (license license:gpl3+)))
26237
26238 (define-public emacs-buffer-move
26239 (package
26240 (name "emacs-buffer-move")
26241 (version "0.6.2")
26242 (source
26243 (origin
26244 (method git-fetch)
26245 (uri (git-reference
26246 (url "https://github.com/lukhas/buffer-move")
26247 (commit version)))
26248 (file-name (git-file-name name version))
26249 (sha256
26250 (base32 "0xdks4jfqyhkh34y48iq3gz8swp0f526kwnaai5mhgvazvs4za8c"))))
26251 (build-system emacs-build-system)
26252 (home-page "https://github.com/lukhas/buffer-move")
26253 (synopsis "Functions for moving Emacs' buffers around")
26254 (description
26255 "This package define functions for swapping buffers between windows
26256 contained in the same frame. An alternate behavior is to have the current
26257 window switch to the previous buffer instead of swapping with the other
26258 window.")
26259 (license license:gpl3+)))
26260
26261 (define-public emacs-company-ebdb
26262 (package
26263 (name "emacs-company-ebdb")
26264 (version "1.1")
26265 (source
26266 (origin
26267 (method url-fetch)
26268 (uri (string-append "https://elpa.gnu.org/packages/"
26269 "company-ebdb-" version ".el"))
26270 (sha256
26271 (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"))))
26272 (build-system emacs-build-system)
26273 (propagated-inputs
26274 `(("emacs-company" ,emacs-company)))
26275 (home-page "https://elpa.gnu.org/packages/company-ebdb.html")
26276 (synopsis "Company completion backend for EBDB in Message mode")
26277 (description "@code{company-ebdb} provides Company mode integration for
26278 EBDB. It is copied more or less intact from @code{company-bbdb}, originally
26279 by Jan Tatarik.")
26280 (license license:gpl3+)))
26281
26282 (define-public emacs-mwim
26283 ;; Use the latest commit not in a release version as of yet, since it
26284 ;; contains a bug fix for the cases where `comment-start-skip' is nil.
26285 (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
26286 (revision "0"))
26287 (package
26288 (name "emacs-mwim")
26289 (version (git-version "0.4" revision commit))
26290 (source
26291 (origin
26292 (method git-fetch)
26293 (uri (git-reference
26294 (url "https://github.com/alezost/mwim.el")
26295 (commit commit)))
26296 (file-name (git-file-name name version))
26297 (sha256
26298 (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"))))
26299 (build-system emacs-build-system)
26300 (home-page "https://github.com/alezost/mwim.el")
26301 (synopsis "Move to the beginning/end of line, code or comment")
26302 (description "@code{mwim} provides several commands to switch between
26303 various line positions, like moving to the beginning/end of code, line, or
26304 comment.")
26305 (license license:gpl3+))))
26306
26307 (define-public emacs-delight
26308 (package
26309 (name "emacs-delight")
26310 (version "1.7")
26311 (source
26312 (origin
26313 (method url-fetch)
26314 (uri (string-append "https://elpa.gnu.org/packages/"
26315 "delight-" version ".el"))
26316 (sha256
26317 (base32 "0pihsghrf9xnd1kqlq48qmjcmp5ra95wwwgrb3l8m1wagmmc0bi1"))))
26318 (build-system emacs-build-system)
26319 (home-page "https://elpa.gnu.org/packages/delight.html")
26320 (synopsis "Dimmer switch for your mode-line lighter text")
26321 (description "@code{delight} enables customizing or hiding the
26322 mode-line text (lighter) of major and minor modes.")
26323 (license license:gpl3+)))
26324
26325 (define-public emacs-unkillable-scratch
26326 ;; Use the latest (unreleased) commit as of now, since it contains a handy
26327 ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
26328 ;; repopulate the scratch buffer with `initial-scratch-message'.
26329 (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab")
26330 (revision "0"))
26331 (package
26332 (name "emacs-unkillable-scratch")
26333 (version (git-version "1.0.0" revision commit))
26334 (source
26335 (origin
26336 (method git-fetch)
26337 (uri (git-reference
26338 (url "https://github.com/EricCrosson/unkillable-scratch")
26339 (commit commit)))
26340 (file-name (git-file-name name version))
26341 (sha256
26342 (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa"))))
26343 (build-system emacs-build-system)
26344 (home-page "https://github.com/EricCrosson/unkillable-scratch")
26345 (synopsis "Prevents the *scratch* buffer from being killed")
26346 (description "@code{unkillable-scratch} helps prevent killing buffers
26347 matching a given regexp.")
26348 (license license:gpl2+))))
26349
26350 (define-public emacs-switch-buffer-functions
26351 (package
26352 (name "emacs-switch-buffer-functions")
26353 (version "0.0.1")
26354 (source
26355 (origin
26356 (method git-fetch)
26357 (uri (git-reference
26358 (url "https://github.com/10sr/switch-buffer-functions-el")
26359 (commit (string-append "v" version))))
26360 (file-name (git-file-name name version))
26361 (sha256
26362 (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
26363 (build-system emacs-build-system)
26364 (home-page "https://github.com/10sr/switch-buffer-functions-el")
26365 (synopsis "Hooks run when switching current buffer")
26366 (description "This package provides a hook variable
26367 @code{switch-buffer-functions}. The hooks will be run when the current buffer
26368 is changed after an interactive command, i.e., when @code{post-command-hook}
26369 hooks are run. The hooked functions will be called with both the previous and
26370 the current buffer.")
26371 (license license:unlicense)))
26372
26373 (define-public emacs-erc-scrolltoplace
26374 (package
26375 (name "emacs-erc-scrolltoplace")
26376 (version "0.1.0")
26377 (source
26378 (origin
26379 (method git-fetch)
26380 (uri (git-reference
26381 (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
26382 (commit version)))
26383 (file-name (git-file-name name version))
26384 (sha256
26385 (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
26386 (build-system emacs-build-system)
26387 (propagated-inputs
26388 `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions)))
26389 (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
26390 (synopsis "ERC module to replace scrolltobottom while using keep-place")
26391 (description "@code{erc-scrolltoplace} is an ERC module to try
26392 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
26393 (license license:gpl3+)))
26394
26395 (define-public emacs-dmenu
26396 ;; Use the latest commit, as there are no tagged releases.
26397 (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
26398 (revision "0"))
26399 (package
26400 (name "emacs-dmenu")
26401 (version (git-version "0.1" revision commit))
26402 (source
26403 (origin
26404 (method git-fetch)
26405 (uri (git-reference
26406 (url "https://github.com/lujun9972/el-dmenu")
26407 (commit commit)))
26408 (file-name (git-file-name name version))
26409 (sha256
26410 (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
26411 (build-system emacs-build-system)
26412 (home-page "https://github.com/lujun9972/el-dmenu")
26413 (synopsis "Simulate the @command{dmenu} command line program")
26414 (description "This package provides a @command{dmenu} command for
26415 launching other commands/applications from within Emacs, similar to the
26416 @command{dmenu} program. This is especially useful when using EXWM.")
26417 (license license:gpl3+))))
26418
26419 (define-public emacs-no-littering
26420 (package
26421 (name "emacs-no-littering")
26422 (version "1.2.1")
26423 (source
26424 (origin
26425 (method git-fetch)
26426 (uri (git-reference
26427 (url "https://github.com/emacscollective/no-littering")
26428 (commit (string-append "v" version))))
26429 (file-name (git-file-name name version))
26430 (sha256
26431 (base32 "00chkzpjcdll907vpzfzmf9p3jprisnr8i0h1x5gixidwbfc2whi"))))
26432 (build-system emacs-build-system)
26433 (home-page "https://github.com/emacscollective/no-littering")
26434 (synopsis "Help keep @file{~/.emacs.d/} clean")
26435 (description "The default paths used to store configuration files and
26436 persistent data are not consistent across Emacs packages, be them built-in or
26437 third-party ones. @code{no-littering} sets out to help clean
26438 @file{~/.emacs.d/} by putting configuration files and persistent data files in
26439 two user-defined directories, as well as using more descriptive names for
26440 files and subdirectories when appropriate.")
26441 (license license:gpl3+)))
26442
26443 (define-public emacs-meson-mode
26444 (package
26445 (name "emacs-meson-mode")
26446 (version "0.3")
26447 (source
26448 (origin
26449 (method git-fetch)
26450 (uri (git-reference
26451 (url "https://github.com/wentasah/meson-mode")
26452 (commit (string-append "v" version))))
26453 (file-name (git-file-name name version))
26454 (sha256
26455 (base32 "0hlqvq3j4f6g16nj3bm2wbkncn8hv8c8iqd0sch3w80wwqnr622y"))))
26456 (build-system emacs-build-system)
26457 (home-page "https://github.com/wentasah/meson-mode")
26458 (synopsis "Major mode for Meson build system files")
26459 (description
26460 "This is an Emacs major mode for Meson build system files. Syntax
26461 highlighting works reliably. Indentation works too, but there are probably
26462 cases where it breaks.")
26463 (license license:gpl3+)))
26464
26465 (define-public emacs-message-x
26466 ;; Use the latest commit, as there are no tagged releases.
26467 (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
26468 (revision "0"))
26469 (package
26470 (name "emacs-message-x")
26471 (version (git-version "1.23" revision commit))
26472 (source
26473 (origin
26474 (method git-fetch)
26475 (uri (git-reference
26476 (url "https://github.com/emacsmirror/message-x")
26477 (commit commit)))
26478 (file-name (git-file-name name version))
26479 (sha256
26480 (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
26481 (build-system emacs-build-system)
26482 (home-page "https://www.emacswiki.org/emacs/message-x.el")
26483 (synopsis "Customizable completion in message headers")
26484 (description "@code{message-x} assigns a context-sensitive function to
26485 the TAB key in Message mode. When on a header line, it performs completion
26486 based on which header we are in (for example, newsgroup name completion makes
26487 sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
26488 sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
26489 executes a different function (default: @code{indent-relative}).")
26490 (license license:gpl2+))))
26491
26492 (define-public emacs-glsl-mode
26493 ;; No tag, version grabbed from source .el file.
26494 (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136")
26495 (revision "0"))
26496 (package
26497 (name "emacs-glsl-mode")
26498 (version (git-version "2.4" revision commit))
26499 (source
26500 (origin
26501 (method git-fetch)
26502 (uri (git-reference
26503 (url "https://github.com/jimhourihan/glsl-mode")
26504 (commit commit)))
26505 (file-name (git-file-name name version))
26506 (sha256
26507 (base32 "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s"))))
26508 (build-system emacs-build-system)
26509 (home-page "https://github.com/jimhourihan/glsl-mode")
26510 (synopsis "Major mode for Open GLSL shader files")
26511 (description
26512 "This package provides a major mode for editing OpenGLSL grammar files,
26513 usually files ending with @file{.vert}, @file{.frag}, @file{.glsl} or
26514 @file{.geom}. It is based on C mode plus some features and pre-specified
26515 fontifications.")
26516 (license license:gpl3+))))
26517
26518 (define-public emacs-gnus-harvest
26519 (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
26520 (revision "0"))
26521 (package
26522 (name "emacs-gnus-harvest")
26523 (version (git-version "1.0" revision commit))
26524 (source
26525 (origin
26526 (method git-fetch)
26527 (uri (git-reference
26528 (url "https://github.com/jwiegley/gnus-harvest")
26529 (commit commit)))
26530 (file-name (git-file-name name version))
26531 (sha256
26532 (base32 "08zb7vc3v3wdxkzgi902vlc5ybfvm8fxrvm5drnwfsjj9873pbcb"))))
26533 (build-system emacs-build-system)
26534 (inputs
26535 `(("sqlite" ,sqlite)))
26536 (arguments
26537 `(#:phases
26538 (modify-phases %standard-phases
26539 (add-before 'build 'patch-exec-paths
26540 (lambda* (#:key inputs #:allow-other-keys)
26541 (let ((sqlite (assoc-ref inputs "sqlite"))
26542 (file "gnus-harvest.el"))
26543 (make-file-writable file)
26544 (emacs-substitute-variables file
26545 ("gnus-harvest-sqlite-program"
26546 (string-append sqlite "/bin/sqlite3"))))
26547 #t)))))
26548 (home-page "https://github.com/jwiegley/gnus-harvest")
26549 (synopsis
26550 "Harvest email addresses from read/written Gnus articles")
26551 (description "@code{gnus-harvest} notices email address in every message
26552 or post you read or write, and collects them in a SQLite database, which can
26553 be easily and quickly queried to determine the completion list. It optionally
26554 uses BBDB and Message-X.")
26555 (license license:gpl3+))))
26556
26557 (define-public emacs-auto-dictionary-mode
26558 (package
26559 (name "emacs-auto-dictionary-mode")
26560 (version "1.1")
26561 (source
26562 (origin
26563 (method git-fetch)
26564 (uri (git-reference
26565 (url "https://github.com/nschum/auto-dictionary-mode")
26566 (commit version)))
26567 (file-name (git-file-name name version))
26568 (sha256
26569 (base32 "191294k92qp8gmfypf0q8j8qrym96aqikzvyb9p03wqvbr3r1dsk"))))
26570 (build-system emacs-build-system)
26571 (home-page "http://nschum.de/src/emacs/auto-dictionary/")
26572 (synopsis "Automatic dictionary switcher for Emacs spell checking")
26573 (description "@code{auto-dictionary} is a minor mode that hooks into
26574 Flyspell's on-the-fly spell checking and extends these checks to also detect
26575 language. Auto-dictionary then sets @code{ispell-dictionary} to use the
26576 detected language.")
26577 (license license:gpl2+)))
26578
26579 (define-public emacs-persist
26580 (package
26581 (name "emacs-persist")
26582 (version "0.4")
26583 (source
26584 (origin
26585 (method url-fetch)
26586 (uri (string-append "https://elpa.gnu.org/packages/"
26587 "persist-" version ".tar"))
26588 (sha256
26589 (base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
26590 (build-system emacs-build-system)
26591 (home-page "http://elpa.gnu.org/packages/persist.html")
26592 (synopsis "Persist variables between Emacs sessions")
26593 (description
26594 "This package provides variables which persist across sessions.
26595 Values are stored in a directory in @code{user-emacs-directory}, using
26596 one file per value. This makes it easy to delete or remove unused
26597 variables.")
26598 (license license:gpl3+)))
26599
26600 (define-public emacs-company-emoji
26601 (package
26602 (name "emacs-company-emoji")
26603 (version "2.6.1")
26604 (source
26605 (origin
26606 (method git-fetch)
26607 (uri (git-reference
26608 (url "https://github.com/dunn/company-emoji/")
26609 (commit version)))
26610 (file-name (git-file-name name version))
26611 (sha256
26612 (base32 "1rhf2hr345953mkn52i58aiq8j16ps2ckapd5f7jxmhkcpzxxfhk"))))
26613 (build-system emacs-build-system)
26614 (propagated-inputs
26615 `(("emacs-company" ,emacs-company)))
26616 (home-page "https://github.com/dunn/company-emoji/")
26617 (synopsis "Company completion back-end for emoji")
26618 (description
26619 "This library is a Company back-end providing auto-completion for
26620 emoji.")
26621 (license license:gpl3+)))
26622
26623 (define-public emacs-exiftool
26624 (package
26625 (name "emacs-exiftool")
26626 (version "0.3.2")
26627 (source
26628 (origin
26629 (method git-fetch)
26630 (uri (git-reference
26631 (url "https://git.systemreboot.net/exiftool.el/")
26632 (commit (string-append "v" version))))
26633 (file-name (git-file-name name version))
26634 (sha256
26635 (base32
26636 "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
26637 (build-system emacs-build-system)
26638 (arguments
26639 `(#:tests? #t
26640 #:test-command '("make" "-C" "tests")
26641 #:phases
26642 (modify-phases %standard-phases
26643 (add-after 'unpack 'configure
26644 (lambda* (#:key inputs #:allow-other-keys)
26645 (make-file-writable "exiftool.el")
26646 (emacs-substitute-variables "exiftool.el"
26647 ("exiftool-executable"
26648 (string-append (assoc-ref inputs "perl-image-exiftool")
26649 "/bin/exiftool")))
26650 #t)))))
26651 (inputs
26652 `(("perl-image-exiftool" ,perl-image-exiftool)))
26653 (home-page "https://git.systemreboot.net/exiftool.el/about/")
26654 (synopsis "Elisp wrapper around ExifTool")
26655 (description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool.
26656 ExifTool supports reading and writing metadata in various formats including
26657 EXIF, XMP and IPTC.")
26658 (license license:gpl3+)))
26659
26660 (define-public emacs-password-generator
26661 (package
26662 (name "emacs-password-generator")
26663 (version "1.01")
26664 (home-page "https://github.com/zargener/emacs-password-genarator")
26665 (source
26666 (origin
26667 (method git-fetch)
26668 (uri (git-reference
26669 (url home-page)
26670 (commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3")))
26671 (file-name (git-file-name name version))
26672 (sha256
26673 (base32
26674 "1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv"))))
26675 (build-system emacs-build-system)
26676 (synopsis "Generate passwords inside Emacs")
26677 (description "@code{emacs-password-generator} provides simple functions to
26678 generate random passwords and insert them into the current buffer. It also
26679 supports generation of phonetic and numeric passwords.")
26680 (license license:artistic2.0)))
26681
26682 (define-public emacs-csv
26683 (package
26684 (name "emacs-csv")
26685 (version "2.1")
26686 (home-page "https://gitlab.com/u11/csv.el")
26687 (source
26688 (origin
26689 (method git-fetch)
26690 (uri (git-reference
26691 (url home-page)
26692 (commit (string-append "V" version))))
26693 (file-name (git-file-name name version))
26694 (sha256
26695 (base32
26696 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"))))
26697 (build-system emacs-build-system)
26698 (synopsis "Elisp functions for reading and parsing CSV files")
26699 (description
26700 "@code{csv.el} provides functions for reading and parsing @acronym{CSV,
26701 Comma-Separated Values} files. It follows the format as defined in RFC 4180
26702 @emph{Common Format and MIME Type for CSV
26703 Files} (@url{http://tools.ietf.org/html/rfc4180}).")
26704 (license license:gpl3+)))
26705
26706 (define-public emacs-org-journal
26707 (package
26708 (name "emacs-org-journal")
26709 (version "2.1.2")
26710 (source
26711 (origin
26712 (method git-fetch)
26713 (uri (git-reference
26714 (url "https://github.com/bastibe/org-journal")
26715 (commit version)))
26716 (file-name (git-file-name name version))
26717 (sha256
26718 (base32 "0s82sh2svc0mzr1ak414n5r2j0dmwvvyx4swk2c61zivc2gjd778"))))
26719 (build-system emacs-build-system)
26720 (home-page "https://github.com/bastibe/org-journal")
26721 (synopsis "Simple Org mode journaling mode")
26722 (description
26723 "Org Journal is a set of functions to maintain a simple personal diary /
26724 journal using in Emacs, adapted from
26725 @url{https://www.emacswiki.org/emacs/PersonalDiary}. Convenient bindings
26726 allow the creation of journal records in the current daily, weekly, monthly or
26727 yearly file and search within all records or specified time intervals. All
26728 records can be browsed and searched from the Emacs Calendar for convenience.
26729 All entries in a specified TODO state will be carried over to the next day.")
26730 (license license:bsd-3)))
26731
26732 (define-public emacs-org-static-blog
26733 (package
26734 (name "emacs-org-static-blog")
26735 (version "1.4.0")
26736 (source
26737 (origin
26738 (method git-fetch)
26739 (uri (git-reference
26740 (url "https://github.com/bastibe/org-static-blog")
26741 (commit version)))
26742 (file-name (git-file-name name version))
26743 (sha256
26744 (base32 "00yhgxg87mfaflrkh0i905hr873yd03a7znw5hkrps43zxha9kb9"))))
26745 (build-system emacs-build-system)
26746 (home-page "https://github.com/bastibe/org-static-blog")
26747 (synopsis
26748 "Simple Org mode based static blog generator")
26749 (description
26750 "@code{emacs-org-static-blog} is one more static blog generator, it
26751 focuses on being simple. All files are simple Org files in a directory. The
26752 only requirement is that every Org file must have a @samp{title} and
26753 a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
26754 (license license:bsd-3)))
26755
26756 (define-public emacs-ddskk
26757 ;; XXX: Upstream adds code names to their release tags, so version and code
26758 ;; name below need to be updated together.
26759 (let ((version "17.1")
26760 (code-name "Neppu"))
26761 (package
26762 (name "emacs-ddskk")
26763 (version version)
26764 (source
26765 (origin
26766 (method git-fetch)
26767 (uri (git-reference
26768 (url "https://github.com/skk-dev/ddskk")
26769 (commit (string-append "ddskk-" version "_" code-name))))
26770 (file-name (git-file-name name version))
26771 (sha256
26772 (base32 "0xm53rybxki2784gyjkafg6956viyhhcq51kbmnrwc6aw3yzh7aw"))))
26773 (build-system gnu-build-system)
26774 (arguments
26775 `(#:modules ((guix build gnu-build-system)
26776 (guix build utils)
26777 (guix build emacs-utils))
26778 #:imported-modules (,@%gnu-build-system-modules
26779 (guix build emacs-utils))
26780 #:test-target "test"
26781 #:phases
26782 (modify-phases %standard-phases
26783 (replace 'configure
26784 (lambda* (#:key outputs #:allow-other-keys)
26785 (make-file-writable "SKK-MK")
26786 (emacs-substitute-variables "SKK-MK"
26787 ("PREFIX" (assoc-ref outputs "out"))
26788 ("LISPDIR" '(expand-file-name "/share/emacs/site-lisp" PREFIX))
26789 ("SKK_PREFIX" "")
26790 ("SKK_INFODIR" '(expand-file-name "info" PREFIX)))
26791 (for-each make-file-writable (find-files "./doc"))
26792 #t))
26793 (add-after 'unpack 'fix-test
26794 (lambda _
26795 (substitute* "Makefile"
26796 (("/bin/rm") (which "rm"))))))))
26797 (native-inputs
26798 `(("emacs-minimal" ,emacs-minimal)
26799 ("ruby" ,ruby)))
26800 (home-page "https://github.com/skk-dev/ddskk")
26801 (synopsis "Simple Kana to Kanji conversion program")
26802 (description
26803 "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
26804 conversion program}, a Japanese input method on Emacs.")
26805 (license license:gpl2+))))
26806
26807 (define-public emacs-objed
26808 (package
26809 (name "emacs-objed")
26810 (version "0.8.3")
26811 (source
26812 (origin
26813 (method url-fetch)
26814 (uri (string-append
26815 "https://elpa.gnu.org/packages/objed-" version ".tar"))
26816 (sha256
26817 (base32
26818 "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr"))))
26819 (build-system emacs-build-system)
26820 (home-page "https://github.com/clemera/objed")
26821 (synopsis "Navigate and edit text objects")
26822 (description
26823 "@code{emacs-objed} allows navigating and editing text objects. It
26824 enables modal editing and composition of commands, too. It combines ideas of
26825 other Editors like Vim or Kakoune and tries to align them with regular Emacs
26826 conventions.")
26827 (license license:gpl3+)))
26828
26829 (define-public emacs-haskell-snippets
26830 ;; The commit below is 5 commits ahead of release, and includes a build fix.
26831 (let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a"))
26832 (package
26833 (name "emacs-haskell-snippets")
26834 (version (git-version "0.1.0" "0" commit))
26835 (source
26836 (origin
26837 (method git-fetch)
26838 (uri
26839 (git-reference
26840 (url "https://github.com/haskell/haskell-snippets")
26841 (commit commit)))
26842 (file-name (git-file-name name version))
26843 (sha256
26844 (base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"))))
26845 (build-system emacs-build-system)
26846 (arguments
26847 `(#:phases
26848 (modify-phases %standard-phases
26849 (add-after 'install 'install-snippets
26850 (lambda* (#:key outputs #:allow-other-keys)
26851 (let* ((out (assoc-ref outputs "out"))
26852 (snippets
26853 (string-append
26854 out "/share/emacs/site-lisp/snippets/haskell-mode")))
26855 (mkdir-p snippets)
26856 (copy-recursively "snippets/haskell-mode" snippets)
26857 #t))))))
26858 (propagated-inputs
26859 `(("emacs-yasnippet" ,emacs-yasnippet)))
26860 (home-page "https://github.com/haskell/haskell-snippets")
26861 (synopsis "Official collection of YASnippet Haskell snippets for Emacs")
26862 (description "Haskell-Snippets is a collection of YASnippet Haskell
26863 snippets for Emacs.")
26864 (license license:expat))))
26865
26866 (define-public emacs-org-roam
26867 (let ((commit "8ad57b121831eda8d226faa14ff2ba7ab652849c")
26868 (revision "0")
26869 (version "1.2.3"))
26870 (package
26871 (name "emacs-org-roam")
26872 (version (git-version version revision commit))
26873 (source
26874 (origin
26875 (method git-fetch)
26876 (uri (git-reference
26877 (url "https://github.com/org-roam/org-roam")
26878 (commit commit)))
26879 (file-name (git-file-name name version))
26880 (sha256
26881 (base32 "162qhb6rkpl1n0l8yhnwgagsx56ykaj9lchsny1id5z1257kgw9w"))))
26882 (build-system emacs-build-system)
26883 (propagated-inputs
26884 `(("emacs-dash" ,emacs-dash)
26885 ("emacs-emacsql-sqlite3" ,emacs-emacsql-sqlite3)
26886 ("emacs-f" ,emacs-f)
26887 ("emacs-org" ,emacs-org)
26888 ("emacs-s" ,emacs-s)))
26889 (home-page "https://github.com/org-roam/org-roam/")
26890 (synopsis "Non-hierarchical note-taking with Org mode")
26891 (description "Emacs Org Roam is a solution for taking non-hierarchical
26892 notes with Org mode. Notes are captured without hierarchy and are connected
26893 by tags. Notes can be found and created quickly. Org Roam should also work
26894 as a plug-and-play solution for anyone already using Org mode for their
26895 personal wiki.")
26896 (license license:gpl3+))))
26897
26898 (define-public emacs-org-roam-bibtex
26899 (package
26900 (name "emacs-org-roam-bibtex")
26901 (version "0.4.0")
26902 (source
26903 (origin
26904 (method git-fetch)
26905 (uri (git-reference
26906 (url "https://github.com/org-roam/org-roam-bibtex")
26907 (commit (string-append "v" version))))
26908 (file-name (git-file-name name version))
26909 (sha256
26910 (base32 "13pll793khyfncpwm2dg24w747sqp7kgf7m3fqw2xzhv9cx2g7nq"))))
26911 (build-system emacs-build-system)
26912 (propagated-inputs
26913 `(("emacs-helm-bibtex" ,emacs-helm-bibtex)
26914 ("emacs-org-ref" ,emacs-org-ref)
26915 ("emacs-org-roam" ,emacs-org-roam)))
26916 (home-page "https://github.com/org-roam/org-roam-bibtex")
26917 (synopsis "Connector between Org Roam, BibTeX-completion, and Org Ref")
26918 (description
26919 "Org Roam BibTeX is a library which offers a tighter integration between
26920 Org Roam, Helm-BibTeX, and Org Ref. It allows users to access their
26921 bibliographical notes in Org Roam directory via Helm BibTeX, Ivy BibTeX, or by
26922 opening Org Ref's @code{cite:} links.")
26923 (license license:gpl3+)))
26924
26925 (define-public emacs-org-generate
26926 (package
26927 (name "emacs-org-generate")
26928 (version "1.0.0")
26929 (source (origin
26930 (method git-fetch)
26931 (uri (git-reference
26932 (url "https://github.com/conao3/org-generate.el")
26933 (commit (string-append "v" version))))
26934 (file-name (git-file-name name version))
26935 (sha256
26936 (base32
26937 "0z2frp5mn3lp2xskwanw2rncrwa50x3aphy87vfxmhx4fqlqrzy8"))))
26938 (inputs
26939 `(("emacs-cort" ,emacs-cort))) ;tests suite
26940 (propagated-inputs
26941 `(("emacs-mustache" ,emacs-mustache)))
26942 (arguments
26943 `(#:tests? #t
26944 #:test-command '("emacs" "--batch" "--quick"
26945 "--directory=." "--load=org-generate-tests.el"
26946 "--funcall=cort-test-run")))
26947 (build-system emacs-build-system)
26948 (home-page "https://github.com/conao3/org-generate.el")
26949 (synopsis "Generate template files and folders from Org document")
26950 (description "This package generates files and folders from Emacs
26951 org-mode templates.")
26952 (license license:gpl3+)))
26953
26954 (define-public emacs-uml-mode
26955 ;; Package has no release. Version is extracted from "Version:" keyword in
26956 ;; main file.
26957 (let ((commit "4c37ac1c4424b2313cd8f16ba48a98a4cc214200")
26958 (revision "1"))
26959 (package
26960 (name "emacs-uml-mode")
26961 (version (git-version "0.0.4" revision commit))
26962 (source
26963 (origin
26964 (method git-fetch)
26965 (uri (git-reference
26966 (url "https://github.com/ianxm/emacs-uml")
26967 (commit commit)))
26968 (file-name (git-file-name name version))
26969 (sha256
26970 (base32 "145i4srnfvd1vyibri2a1l6p9mbjvkkwlrpi41134pbarqffcnka"))))
26971 (build-system emacs-build-system)
26972 (home-page "https://github.com/ianxm/emacs-uml")
26973 (synopsis "Minor mode for editing ASCII UML sequence diagrams")
26974 (description "Emacs UML mode is a minor mode that makes it easy to build
26975 ASCII UML sequence diagrams in Emacs, which can be embedded in source code,
26976 comments or emails.")
26977 (license license:gpl3+))))
26978
26979 (define-public emacs-trashed
26980 (package
26981 (name "emacs-trashed")
26982 (version "2.1.2")
26983 (source
26984 (origin
26985 (method git-fetch)
26986 (uri (git-reference
26987 (url "https://github.com/shingo256/trashed/")
26988 (commit version)))
26989 (file-name (git-file-name name version))
26990 (sha256
26991 (base32 "0lfza55nbb62nmr27cwpcz2ad1vm95piq4nfd8zvkwqbn6klwmm6"))))
26992 (build-system emacs-build-system)
26993 (home-page "https://github.com/shingo256/trashed/")
26994 (synopsis "View and edit system trash can in Emacs")
26995 (description "Open, view, browse, restore or permanently delete trashed
26996 files or directories in trash can with Dired-like look and feel. The trash
26997 can has to be compliant with freedesktop.org. In Emacs, you can trash files by
26998 deleting them with @code{(setq delete-by-moving-to-trash t)}. This package
26999 provides a simple but convenient user interface to manage those trashed
27000 files.")
27001 (license license:gpl3+)))
27002
27003 (define-public emacs-plantuml-mode
27004 (package
27005 (name "emacs-plantuml-mode")
27006 (version "1.4.1")
27007 (source
27008 (origin
27009 (method git-fetch)
27010 (uri (git-reference
27011 (url "https://github.com/skuro/plantuml-mode")
27012 (commit (string-append "v" version))))
27013 (file-name (git-file-name name version))
27014 (sha256
27015 (base32 "0yp41d2dmf3sx7qnl5x0zdjcr9y71b2wwc9m0q31v22xqn938ipc"))))
27016 (arguments
27017 '(#:phases
27018 (modify-phases %standard-phases
27019 (add-after 'unpack 'use-local-plantuml
27020 (lambda* (#:key inputs #:allow-other-keys)
27021 (let ((plantuml (assoc-ref inputs "plantuml"))
27022 (file "plantuml-mode.el"))
27023 (chmod file #o644)
27024 (emacs-substitute-variables file
27025 ("plantuml-jar-path"
27026 (string-append plantuml "/share/java/plantuml.jar"))
27027 ("plantuml-executable-path"
27028 (string-append plantuml "/bin/plantuml"))
27029 ("plantuml-server-url" 'nil)
27030 ("plantuml-default-exec-mode" ''executable))
27031 (emacs-batch-edit-file file
27032 `(progn (progn
27033 (goto-char (point-min))
27034 (re-search-forward "(defun plantuml-download-jar")
27035 (beginning-of-line)
27036 (kill-sexp))
27037 (basic-save-buffer)))
27038 #t))))))
27039 (inputs
27040 `(("plantuml" ,plantuml)))
27041 (propagated-inputs
27042 `(("emacs-dash" ,emacs-dash)))
27043 (build-system emacs-build-system)
27044 (home-page "https://github.com/skuro/plantuml-mode")
27045 (synopsis "Major mode for editing PlantUML sources")
27046 (description "This package provides a major mode for editing PlantUML
27047 sources. It features syntax highlighting, autocompletion, preview of buffer
27048 or region and use of locally installed binaries.")
27049 (license license:gpl3+)))
27050
27051 (define-public emacs-execline
27052 (package
27053 (name "emacs-execline")
27054 (version "1.1")
27055 (source (origin
27056 (method git-fetch)
27057 (uri (git-reference
27058 (url "https://gitlab.com/KAction/emacs-execline/")
27059 (commit (string-append "v" version))))
27060 (file-name (git-file-name name version))
27061 (sha256
27062 (base32
27063 "02q531c9wvdwflhggflnci4a36h2bb90bq25bbhw6i2lvrd9sk55"))))
27064 (build-system emacs-build-system)
27065 (propagated-inputs
27066 `(("emacs-s" ,emacs-s)))
27067 (arguments
27068 `(#:tests? #t
27069 #:test-command '("emacs" "-Q" "-batch" "-L" "."
27070 "-l" "t/indent.el"
27071 "-f" "ert-run-tests-batch-and-exit")))
27072 (home-page "https://gitlab.com/KAction/emacs-execline/")
27073 (synopsis "Major Emacs mode for editing execline scripts")
27074 (description
27075 "This package provides a major mode for editing execline scripts.
27076
27077 Features:
27078 @itemize
27079 @item Syntax highlighting of commends, builtin commands and variable substitution.
27080 @item Completion of builtin commands.
27081 @item Working @code{comment-region} command.
27082 @item Indentation of blocks.
27083 @item Automatic enable of mode in @file{*.exec} files.
27084 @item Automatic enable of mode in files with @code{execlineb} interpreter.
27085 @end itemize\n")
27086 (license license:gpl3+)))
27087
27088 (define-public emacs-shell-command+
27089 (package
27090 (name "emacs-shell-command+")
27091 (version "2.1.0")
27092 (source (origin
27093 (method url-fetch)
27094 (uri (string-append "https://elpa.gnu.org/packages/"
27095 "shell-command+-" version ".tar"))
27096 (sha256
27097 (base32 "1jyrnv89989bi03m5h8dj0cllsw3rvyxkiyfrh9v6gpxjwfy8lmq"))))
27098 (build-system emacs-build-system)
27099 (home-page "http://elpa.gnu.org/packages/shell-command+.html")
27100 (synopsis "Extended Emacs @code{shell-command}")
27101 (description
27102 "Shell-command+ is a @code{shell-command} substitute that extends the
27103 regular Emacs command with several features. You can for example count all
27104 the lines in a buffer with @code{> wc -l}, or delete all lower case letters in
27105 the selected region with @code{| tr -d a-z}.")
27106 (license license:gpl3+)))
27107
27108 (define-public emacs-shell-pop
27109 (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
27110 (revision "0"))
27111 (package
27112 (name "emacs-shell-pop")
27113 (version (git-version "0.64" revision commit))
27114 (source
27115 (origin
27116 (method git-fetch)
27117 (uri (git-reference
27118 (url "https://github.com/kyagi/shell-pop-el")
27119 (commit commit)))
27120 (file-name (git-file-name name version))
27121 (sha256
27122 (base32 "0s77n6b9iw1x3dv91ybkpgy3zvqd12si7zw3lg0m2b6j1akrawsg"))))
27123 (build-system emacs-build-system)
27124 (home-page "https://github.com/kyagi/shell-pop-el")
27125 (synopsis "Utility which helps with pop up shell buffer")
27126 (description
27127 "This Emacs utility helps you pop up and pop out shell buffer window
27128 easily. Four pre-set options are: @samp{shell}, @samp{terminal},
27129 @samp{ansi-term}, and @samp{eshell}. You can also set your custom shell if
27130 you use some other configuration.")
27131 (license license:gpl3+))))
27132
27133 (define-public emacs-extmap
27134 (package
27135 (name "emacs-extmap")
27136 (version "1.1.1")
27137 (source
27138 (origin
27139 (method git-fetch)
27140 (uri (git-reference
27141 (url "https://github.com/doublep/extmap")
27142 (commit version)))
27143 (file-name (git-file-name name version))
27144 (sha256
27145 (base32
27146 "09kia3mr4si8kn46kyiza9nl669b22vmgc70ng3mqz742lph5siw"))))
27147 (build-system emacs-build-system)
27148 (home-page "https://github.com/doublep/extmap")
27149 (synopsis "Externally-stored constant mapping for Emacs Lisp")
27150 (description "A very simple package that lets you build a
27151 read-only, constant database that maps Emacs Lisp symbols to
27152 arbitrary Emacs Lisp objects.")
27153 (license license:gpl3+)))
27154
27155 (define-public emacs-csound-mode
27156 (package
27157 (name "emacs-csound-mode")
27158 (version "0.2.1")
27159 (source
27160 (origin
27161 (method git-fetch)
27162 (uri (git-reference
27163 (url "https://github.com/hlolli/csound-mode")
27164 (commit version)))
27165 (file-name (git-file-name name version))
27166 (sha256
27167 (base32
27168 "1c88ak0jaj51fwiqniqxd7xyk23wjl9m57znzm8j267ld8g12znp"))))
27169 (build-system emacs-build-system)
27170 (arguments
27171 `(#:phases
27172 (modify-phases %standard-phases
27173 (add-after 'unpack 'disable-breaking-compilation
27174 (lambda _
27175 (for-each (lambda (file)
27176 (chmod file #o600) ; needed to write changes.
27177 (emacs-batch-disable-compilation file))
27178 '("csound-font-lock.el"))
27179 #t)))))
27180 (inputs
27181 `(("emacs-highlight" ,emacs-highlight)
27182 ("emacs-multi" ,emacs-multi)
27183 ("emacs-shut-up" ,emacs-shut-up)))
27184 (home-page "https://github.com/hlolli/csound-mode")
27185 (synopsis "Emacs major mode for coding in CSound")
27186 (description "Provides both a basic major mode for editing
27187 CSound files, as well as a REPL for fast feedback when composing
27188 and sound-designing.")
27189 (license license:gpl3+)))
27190
27191 (define-public emacs-multi
27192 (package
27193 (name "emacs-multi")
27194 (version "2.0.1")
27195 (source
27196 (origin
27197 (method git-fetch)
27198 (uri (git-reference
27199 (url "https://github.com/kurisuwhyte/emacs-multi")
27200 (commit (string-append "v" version))))
27201 (file-name (git-file-name name version))
27202 (sha256
27203 (base32
27204 "11zabs7qpdhri6n90ck7pgwcbz46d813nyl73h5m1i8jvz1wzx7v"))))
27205 (build-system emacs-build-system)
27206 (home-page "https://github.com/kurisuwhyte/emacs-multi")
27207 (synopsis "Clojure-style multi-methods for Emacs Lisp")
27208 (description "Provides Emacs Lisp with a form of polymorphism
27209 by way of predicate dispatching. Methods consist of a dispatch
27210 function, and a series of branches. The dispatch function is
27211 applied to the arguments, and the result value is checked against
27212 the expectations of each branch to define which one to invoke.")
27213 (license license:expat)))
27214
27215 (define-public emacs-highlight
27216 (let ((commit "9258a2b8362d737115cbd87618f947eadb140411")
27217 (revision "1"))
27218 (package
27219 (name "emacs-highlight")
27220 (version "0.0.0")
27221 (source
27222 (origin
27223 (method git-fetch)
27224 (uri (git-reference
27225 (url "https://github.com/emacsmirror/highlight/")
27226 (commit commit)))
27227 (file-name (git-file-name name commit))
27228 (sha256
27229 (base32
27230 "0pbqzgbfkm8smi23j94hirxh2r1yc0ipyjbbv1y906br6bx5c1a8"))))
27231 (build-system emacs-build-system)
27232 (home-page "https://github.com/emacsmirror/highlight")
27233 (synopsis "Highlighting commands for GNU Emacs")
27234 (description "This library adds the possibility for ad-hoc
27235 applying highlighting to any face in GNU Emacs. The functionality
27236 of this library depends on overlays, which by default are not
27237 picked up when copy-pasting text from buffer to buffer.")
27238 (license license:gpl2+))))
27239
27240 (define-public emacs-org-webring
27241 (package
27242 (name "emacs-org-webring")
27243 (version "2.0.0")
27244 (source
27245 (origin
27246 (method git-fetch)
27247 (uri (git-reference
27248 (url "https://git.sr.ht/~brettgilio/org-webring")
27249 (commit version)))
27250 (file-name (git-file-name name version))
27251 (sha256
27252 (base32
27253 "1si0jah7n2gvlvghjy5dpannqpkxni5rczfp1x2a4z6ydalr3bn5"))))
27254 (build-system emacs-build-system)
27255 (arguments
27256 `(#:phases
27257 (modify-phases %standard-phases
27258 (add-after 'install 'install-assets
27259 (lambda* (#:key outputs #:allow-other-keys)
27260 (let* ((out (assoc-ref outputs "out"))
27261 (assets
27262 (string-append out "/share/emacs/org-webring-assets")))
27263 (mkdir-p assets)
27264 (copy-recursively "assets" assets)
27265 #t))))))
27266 (propagated-inputs
27267 `(("emacs-xmlgen" ,emacs-xmlgen)))
27268 (home-page "https://sr.ht/~brettgilio/org-webring")
27269 (synopsis "Generate webrings for Org-based sites / blogs")
27270 (description "Org-webring is an alternative implementation of a
27271 feed-based webring, taking inspiration from openring by Drew DeVault.
27272 Intended to integrate with Org-based websites and blogs (either
27273 directly, or indirectly, as in ox-hugo), it will fetch a given list of
27274 web feed files and correctly parse and format the elements to be
27275 displayed for sharing.")
27276 (license license:gpl3+)))
27277
27278 (define-public emacs-scpaste
27279 (let ((commit "cd4fa0aafecd839736e0b6cba68b4fc4d7045472")
27280 (revision "0"))
27281 (package
27282 (name "emacs-scpaste")
27283 (version "0.6.5")
27284 (source
27285 (origin
27286 (method git-fetch)
27287 (uri (git-reference
27288 (url "https://git.sr.ht/~technomancy/scpaste")
27289 (commit commit)))
27290 (file-name (git-file-name name commit))
27291 (sha256
27292 (base32
27293 "1nvwbwl26z03963g9c82b3ggm39r95z1vp7c9qsa9mjm46dyq27w"))))
27294 (build-system emacs-build-system)
27295 (propagated-inputs
27296 `(("emacs-htmlize" ,emacs-htmlize)))
27297 (home-page "https://git.sr.ht/~technomancy/scpaste")
27298 (synopsis "Emacs-based static HTML pastebin")
27299 (description "This library will place an HTML copy of a
27300 buffer on an active webserver to which the user has SSH access.
27301 It is similar in purpose to services such as Gist or Pastebin,
27302 but is much simpler since it assumes the user has access to a
27303 publicly-accessible HTTP server.")
27304 (license license:gpl3+))))
27305
27306 (define-public emacs-company-reftex
27307 (package
27308 (name "emacs-company-reftex")
27309 (version "0.1.0")
27310 (source
27311 (origin
27312 (method git-fetch)
27313 (uri (git-reference
27314 (url "https://github.com/TheBB/company-reftex")
27315 (commit "275ef708f08d3bf0eb30632148e5c6184eeaacdb")))
27316 (file-name (git-file-name name version))
27317 (sha256
27318 (base32
27319 "118cgw5lsffqdqz95mnkw36mmnsbg9m52r2np4m7v14mjjwr9fby"))))
27320 (build-system emacs-build-system)
27321 (propagated-inputs
27322 `(("emacs-company" ,emacs-company)
27323 ("emacs-s" ,emacs-s)))
27324 (home-page "https://github.com/TheBB/company-reftex")
27325 (synopsis "RefTeX backends for company-mode")
27326 (description "This package provides company-mode backends for completing
27327 label references and citations in LaTeX. It is based on RefTeX, which is
27328 included with Emacs.")
27329 (license license:gpl3+)))
27330
27331 (define-public emacs-html-to-hiccup
27332 ;; Package has no release. Version is extracted from "Version:" keyword in
27333 ;; main file.
27334 (let ((commit "50a52e2b0d13d865187acdf775b8203d5003f2f1")
27335 (revision "0"))
27336 (package
27337 (name "emacs-html-to-hiccup")
27338 (version (git-version "1" revision commit))
27339 (source
27340 (origin
27341 (method git-fetch)
27342 (uri (git-reference
27343 (url "https://github.com/plexus/html-to-hiccup")
27344 (commit commit)))
27345 (file-name (git-file-name name version))
27346 (sha256
27347 (base32 "1qi092mw2n08v6yr0j6hlpx0pnlcnhxjqbsrlw9pn4yin6zk91yp"))))
27348 (build-system emacs-build-system)
27349 (propagated-inputs
27350 `(("dash" ,emacs-dash)
27351 ("s" ,emacs-s)))
27352 (home-page "https://github.com/plexus/html-to-hiccup")
27353 (synopsis "Turn HTML into Hiccup syntax")
27354 (description
27355 "This is an Emacs package that turns HTML into Hiccup syntax
27356 which is a popular notation to use when doing Clojure/ClojureScript
27357 web development.")
27358 ;; There is a conflict between the repository official LICENSE
27359 ;; file and the header of the main elisp file which indicates
27360 ;; that it is licensed under the GPL version 3 or later.
27361 (license (list license:mpl2.0 license:gpl3+)))))
27362
27363 (define-public emacs-iter2
27364 (package
27365 (name "emacs-iter2")
27366 (version "1.0")
27367 (source
27368 (origin
27369 (method git-fetch)
27370 (uri (git-reference
27371 (url "https://github.com/doublep/iter2")
27372 (commit version)))
27373 (file-name (git-file-name name version))
27374 (sha256
27375 (base32 "0gaq3z2v1q4r9mkyq71dzmqakhi0p8g7ph4z0n3a11rvyc3z9ykx"))))
27376 (build-system emacs-build-system)
27377 (home-page "https://github.com/doublep/iter2")
27378 (synopsis "Reimplementation of Elisp generators")
27379 (description "@code{iter2} is a fully compatible reimplementation of
27380 built-in generator package. It provides @code{iter2-defun} and
27381 @code{iter2-lambda} forms that can be used in place of @code{iter-defun} and
27382 @code{iter-lambda}. All other functions and macros (e.g. @code{iter-yield},
27383 @code{iter-next}) are intentionally not duplicated: just use the ones from the
27384 original package.")
27385 (license license:gpl3+)))
27386
27387 (define-public emacs-promise
27388 (package
27389 (name "emacs-promise")
27390 (version "1.1")
27391 (source
27392 (origin
27393 (method git-fetch)
27394 (uri (git-reference
27395 (url "https://github.com/chuntaro/emacs-promise")
27396 (commit version)))
27397 (file-name (git-file-name name version))
27398 (sha256
27399 (base32 "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))
27400 (build-system emacs-build-system)
27401 (home-page "https://github.com/chuntaro/emacs-promise")
27402 (synopsis "Promises/A+ for Emacs")
27403 (description "This is a simple implementation of Promises/A+.
27404
27405 This implementation ports the following Promises/A+ features
27406 faithfully. See @url{https://github.com/then/promise}.
27407
27408 @itemize
27409 @item The same API as the JavaScript version of Promise can be used.
27410 @item It has all the @code{then}, @code{catch}, @code{resolve}, @code{reject},
27411 @code{all}, @code{race}, etc.
27412 @item It supports \"thenable\".
27413 @item It supports \"Inheritance of Promise\".
27414 @item It supports \"rejection-tracking\".
27415 @end itemize\n")
27416 (license license:gpl3+)))
27417
27418 (define-public emacs-async-await
27419 (package
27420 (name "emacs-async-await")
27421 (version "1.1")
27422 (source
27423 (origin
27424 (method git-fetch)
27425 (uri (git-reference
27426 (url "https://github.com/chuntaro/emacs-async-await")
27427 (commit version)))
27428 (file-name (git-file-name name version))
27429 (sha256
27430 (base32 "0aav9qdswnw7ynqlzn0sm34as5fj2d85syxgg8zjabzp6646ay29"))))
27431 (build-system emacs-build-system)
27432 (propagated-inputs
27433 `(("promise" ,emacs-promise)
27434 ("iter2" ,emacs-iter2)))
27435 (home-page "https://github.com/chuntaro/emacs-async-await")
27436 (synopsis "Async/Await for Emacs")
27437 (description "This is a simple implementation of Async/Await inspired by
27438 the TypeScript implementation.")
27439 (license license:gpl3+)))
27440
27441 (define-public emacs-rocket-chat
27442 ;; No release.
27443 (let ((commit "96fe27a8678de5ae4061f635108a7192eee13f98"))
27444 (package
27445 (name "emacs-rocket-chat")
27446 (version (git-version "0.0.0" "1" commit))
27447 (source
27448 (origin
27449 (method git-fetch)
27450 (uri (git-reference
27451 (url "https://github.com/4hiziri/rocket-chat")
27452 (commit commit)))
27453 (file-name (git-file-name name version))
27454 (sha256
27455 (base32 "02a4j0yy7330kfr3rd3k2agdj01ii6989nki598anbamq6xvj5ql"))))
27456 (build-system emacs-build-system)
27457 (propagated-inputs
27458 `(("async-await" ,emacs-async-await)
27459 ("request" ,emacs-request)))
27460 (home-page "https://github.com/4hiziri/rocket-chat")
27461 (synopsis "Emacs Rocket.chat client")
27462 (description "This package provides an Emacs client for the Rocket.chat
27463 service.")
27464 (license license:expat))))
27465
27466 (define-public emacs-monokai-theme
27467 (package
27468 (name "emacs-monokai-theme")
27469 (version "3.5.3")
27470 (source
27471 (origin
27472 (method git-fetch)
27473 (uri (git-reference
27474 (url "https://github.com/oneKelvinSmith/monokai-emacs")
27475 (commit (string-append "v" version))))
27476 (file-name (git-file-name name version))
27477 (sha256
27478 (base32 "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i"))))
27479 (build-system emacs-build-system)
27480 (home-page "https://github.com/oneKelvinSmith/monokai-emacs")
27481 (synopsis "High contrast color theme for Emacs")
27482 (description
27483 "Monokai theme is a port of the popular TextMate Monokai theme for
27484 Emacs.")
27485 (license license:gpl3+)))
27486
27487 (define-public emacs-nord-theme
27488 (package
27489 (name "emacs-nord-theme")
27490 (version "0.5.0")
27491 (source
27492 (origin
27493 (method git-fetch)
27494 (uri (git-reference
27495 (url "https://github.com/arcticicestudio/nord-emacs")
27496 (commit (string-append "v" version))))
27497 (file-name (git-file-name name version))
27498 (sha256
27499 (base32 "096f8cik4jz89bvkifwp3gm9iraqrd75ljy2q9js724v7yj88711"))))
27500 (build-system emacs-build-system)
27501 (home-page "https://www.nordtheme.com/")
27502 (synopsis "Low contrast arctic color theme for Emacs")
27503 (description
27504 "Nord is an arctic, north-bluish color scheme created for a clean and
27505 uncluttered design pattern to achieve optimal focus and readability for code
27506 syntax highlighting and UI components.")
27507 (license license:expat)))
27508
27509 (define-public emacs-janet-mode
27510 (let ((commit "2f5bcabcb6953e1ed1926ba6a2328c453e8b4ac7"))
27511 (package
27512 (name "emacs-janet-mode")
27513 (version (git-version "0.1.0" "1" commit))
27514 (source
27515 (origin
27516 (method git-fetch)
27517 (uri (git-reference
27518 (url "https://github.com/ALSchwalm/janet-mode")
27519 (commit commit)))
27520 (file-name (git-file-name name version))
27521 (sha256
27522 (base32 "0qj0gpycv2f3z1dgz1a27bjn983hrr3ppvrp7csl34lagnmp89rz"))))
27523 (build-system emacs-build-system)
27524 (home-page "https://github.com/ALSchwalm/janet-mode")
27525 (synopsis "Emacs major mode for the Janet programming language")
27526 (description
27527 "This package provides an Emacs major mode for editing Janet files.")
27528 (license license:gpl3))))
27529
27530 (define-public emacs-inf-janet
27531 (let ((commit "df46651d3aad32593b2195c80ca91fb64d571fb7"))
27532 (package
27533 (name "emacs-inf-janet")
27534 (version (git-version "0.1.0" "1" commit))
27535 (source
27536 (origin
27537 (method git-fetch)
27538 (uri (git-reference
27539 (url "https://github.com/velkyel/inf-janet")
27540 (commit commit)))
27541 (file-name (git-file-name name version))
27542 (sha256
27543 (base32 "0g0y7q62667j0p32md1h6zb2cap9fga9qgdg7138xwjqnk0328v7"))))
27544 (build-system emacs-build-system)
27545 (propagated-inputs
27546 `(("janet-mode" ,emacs-janet-mode)))
27547 (arguments
27548 `(#:phases
27549 (modify-phases %standard-phases
27550 (add-after 'unpack 'fix-program-name
27551 (lambda _
27552 (make-file-writable "inf-janet.el")
27553 (emacs-substitute-variables "inf-janet.el"
27554 ("inf-janet-program" "janet"))
27555 #t)))))
27556 (home-page "https://github.com/velkyel/inf-janet")
27557 (synopsis "Run an external Janet process in an Emacs buffer")
27558 (description
27559 "This Emacs package provides a Janet REPL to evaluate @code{janet-mode}
27560 s-expression.")
27561 (license license:expat))))
27562
27563 (define-public emacs-map
27564 (package
27565 (name "emacs-map")
27566 (version "3.0")
27567 (source
27568 (origin
27569 (method url-fetch)
27570 (uri (string-append "https://elpa.gnu.org/packages/map-"
27571 version ".tar"))
27572 (sha256
27573 (base32
27574 "00wf8lgh1b1i5l838y6di8194rf5gf5djklkhmxj1nlikz66j2ls"))))
27575 (build-system emacs-build-system)
27576 (home-page "http://elpa.gnu.org/packages/map.html")
27577 (synopsis "Map manipulation functions")
27578 (description "This package provides Emacs map-manipulation functions that
27579 work on alists, hash-table and arrays. All functions are prefixed with
27580 @code{map-}.")
27581 (license license:gpl3+)))
27582
27583 (define-public emacs-xref
27584 (package
27585 (name "emacs-xref")
27586 (version "1.0.4")
27587 (source
27588 (origin
27589 (method url-fetch)
27590 (uri (string-append "https://elpa.gnu.org/packages/"
27591 "xref-" version ".el"))
27592 (sha256
27593 (base32 "0hkm59qqlsfw3w9ws9xhpmmz30ylifmh05a00ba58zvv1kz04x1g"))))
27594 (build-system emacs-build-system)
27595 (home-page "http://elpa.gnu.org/packages/xref.html")
27596 (synopsis "Cross-referencing commands")
27597 (description
27598 "This library provides a generic infrastructure for cross referencing
27599 commands, in particular @code{find-definition}.")
27600 (license license:gpl3+)))
27601
27602 (define-public emacs-burly
27603 (package
27604 (name "emacs-burly")
27605 (version "0.1")
27606 (source
27607 (origin
27608 (method git-fetch)
27609 (uri (git-reference
27610 (url "https://github.com/alphapapa/burly.el")
27611 (commit version)))
27612 (file-name (git-file-name name version))
27613 (sha256
27614 (base32 "1vaikknjzmhpszyi4yxjjkp1ihgmhpbnbx1s5pjy4mnhl1ibi33b"))))
27615 (build-system emacs-build-system)
27616 (propagated-inputs
27617 `(("emacs-map" ,emacs-map)))
27618 (home-page "https://github.com/alphapapa/burly.el")
27619 (synopsis "Save and restore frame/window configurations with buffers")
27620 (description "This package provides tools to save and restore frame and
27621 window configurations in Emacs, including buffers that may not be live
27622 anymore. In this way, it's like a lightweight \"workspace\" manager, allowing
27623 you to easily restore one or more frames, including their windows, the
27624 windows' layout, and their buffers.")
27625 (license license:gpl3+)))
27626
27627 (define-public emacs-smart-hungry-delete
27628 (let ((commit "7c1d56a92481594e14d40b5fdf6c48657a0108a0"))
27629 (package
27630 (name "emacs-smart-hungry-delete")
27631 (version "0.1")
27632 (source
27633 (origin
27634 (method git-fetch)
27635 (uri (git-reference
27636 (url "https://github.com/hrehfeld/emacs-smart-hungry-delete")
27637 (commit commit)))
27638 (file-name (git-file-name name version))
27639 (sha256
27640 (base32
27641 "0mxaslx5823s68a8ggbbnmfk1jiswjvip5s4sg7ihfagnci72wni"))))
27642 (build-system emacs-build-system)
27643 (home-page "https://github.com/hrehfeld/emacs-smart-hungry-delete")
27644 (synopsis "Smart hungry deletion of whitespace")
27645 (description "@code{emacs-smart-hungry-delete} hungrily deletes whitespace
27646 between cursor and next word, parenthesis or delimiter while honoring some
27647 rules about where space should be left to separate words and parentheses.")
27648 (license license:gpl2+))))
27649
27650 (define-public emacs-webpaste
27651 (package
27652 (name "emacs-webpaste")
27653 (version "3.2.0")
27654 (source
27655 (origin
27656 (method git-fetch)
27657 (uri (git-reference
27658 (url "https://github.com/etu/webpaste.el")
27659 (commit version)))
27660 (file-name (git-file-name name version))
27661 (sha256
27662 (base32
27663 "08545ihkzflw80rwklnxiswrpdrl8kr74xzxm5wsgrf36fkj9rn2"))))
27664 (build-system emacs-build-system)
27665 (arguments
27666 `(#:tests? #t
27667 #:test-command '("make" "unit" "integration")
27668 #:phases
27669 (modify-phases %standard-phases
27670 (add-after 'unpack 'fix-tests
27671 (lambda _
27672 ;; Do not use cask to run tests.
27673 (substitute* "Makefile"
27674 (("\\$\\{CASK\\} exec ") ""))
27675 ;; Disable tests that need network access.
27676 (substitute* (list "tests/unit/test-webpaste-provider-creation.el"
27677 "tests/integration/test-webpaste-providers.el")
27678 (("describe") "xdescribe")))))))
27679 (native-inputs
27680 `(("emacs-buttercup" ,emacs-buttercup)))
27681 (propagated-inputs
27682 `(("emacs-request" ,emacs-request)))
27683 (home-page "https://github.com/etu/webpaste.el")
27684 (synopsis "Paste to pastebin-like services")
27685 (description "This mode pastes whole buffers or parts of buffers
27686 to pastebin-like services. It supports more than one service and will
27687 failover if one service fails. More services can easily be added over time
27688 and preferred services can easily be configured.")
27689 (license license:gpl3+)))
27690
27691 (define-public emacs-keystore-mode
27692 (let ((release "0.0.1")
27693 (revision "0")
27694 (commit "43bd5926348298d077c7221f37902c990df3f951"))
27695 (package
27696 (name "emacs-keystore-mode")
27697 (version (git-version release revision commit))
27698 (home-page "https://github.com/peterpaul/keystore-mode")
27699 (source
27700 (origin
27701 (method git-fetch)
27702 (uri (git-reference
27703 (url home-page)
27704 (commit commit)))
27705 (file-name (git-file-name name version))
27706 (sha256
27707 (base32 "06cznkqkm04zz5lqfb514aqvsr2p13arzysixv0ss0bqpvdq7cv7"))))
27708 (build-system emacs-build-system)
27709 (arguments
27710 `(#:tests? #t
27711 #:test-command
27712 '("emacs" "--no-init-file" "--batch"
27713 "--eval=(require 'ecukes)" "--eval=(ecukes)")))
27714 (native-inputs
27715 `(("emacs-ecukes" ,emacs-ecukes)
27716 ("emacs-espuds" ,emacs-espuds)
27717 ("emacs-undercover" ,emacs-undercover)
27718 ("openjdk" ,openjdk9)))
27719 (propagated-inputs
27720 `(("emacs-origami" ,emacs-origami-el)
27721 ("emacs-s" ,emacs-s)))
27722 (synopsis "Major mode for viewing and managing Java keystores")
27723 (description
27724 "This package provides an Elisp wrapper around the Java
27725 @command{keytool} command and major mode for viewing Java keystores.")
27726 (license license:expat))))
27727
27728 (define-public emacs-ivy-avy
27729 (package
27730 (name "emacs-ivy-avy")
27731 (version "0.13.4")
27732 (source
27733 (origin
27734 (method url-fetch)
27735 (uri (string-append
27736 "https://elpa.gnu.org/packages/"
27737 "ivy-avy-" version ".tar"))
27738 (sha256
27739 (base32 "1q5caxm4rnh4jy5n88dhkdbx1afsshmfki5dl8xsqbdb3y0zq7yi"))))
27740 (build-system emacs-build-system)
27741 (propagated-inputs
27742 `(("emacs-ivy" ,emacs-ivy)
27743 ("emacs-avy" ,emacs-avy)))
27744 (home-page "https://github.com/abo-abo/swiper")
27745 (synopsis "Avy integration for Ivy")
27746 (description
27747 "This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
27748 (license license:gpl3+)))
27749
27750 (define-public emacs-vertico
27751 (package
27752 (name "emacs-vertico")
27753 (version "0.5")
27754 (source
27755 (origin
27756 (method git-fetch)
27757 (uri (git-reference
27758 (url "https://github.com/minad/vertico")
27759 (commit version)))
27760 (file-name (git-file-name name version))
27761 (sha256
27762 (base32 "01x2nxj2gnmzg91nxjmgy9i41c04gzplsi19qldm4w03schgs8f6"))))
27763 (build-system emacs-build-system)
27764 (native-inputs
27765 `(("texinfo" ,texinfo)))
27766 (home-page "https://github.com/minad/vertico")
27767 (synopsis "Vertical interactive completion")
27768 (description
27769 "Vertico provides a minimalistic vertical completion UI, which is based
27770 on Emacs' default completion system. By reusing the default system, it
27771 achieves full compatibility with built-in Emacs commands and completion
27772 tables. Vertico is pretty bare-bone and only provides a minimal set of
27773 commands. Additional optional enhancements can be provided externally by
27774 complementary packages.")
27775 (license license:gpl3+)))
27776
27777 (define-public emacs-ivy-hydra
27778 (package
27779 (name "emacs-ivy-hydra")
27780 (version "0.13.5")
27781 (source
27782 (origin
27783 (method url-fetch)
27784 (uri (string-append
27785 "https://elpa.gnu.org/packages/"
27786 "ivy-hydra-" version ".tar"))
27787 (sha256
27788 (base32 "06rln9bnq5hli5rqlm47fb68b8llpqrmzwqqv4rn7mx3854i9a5x"))))
27789 (build-system emacs-build-system)
27790 (propagated-inputs
27791 `(("emacs-ivy" ,emacs-ivy)
27792 ("emacs-hydra" ,emacs-hydra)))
27793 (home-page "https://github.com/abo-abo/swiper")
27794 (synopsis "Additional key bindings for Ivy")
27795 (description
27796 "This package provides the `hydra-ivy/body' command, which is a
27797 quasi-prefix map, with many useful bindings. These bindings are
27798 shorter than usual, using mostly unprefixed keys.")
27799 (license license:gpl3+)))