gnu: Add emacs-clj-refactor.
[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-2022 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 Christine Lemmer-Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 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-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016-2022 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019, 2020, 2022 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Clément Lassieur <clement@lassieur.org>
23 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24 ;;; Copyright © 2017, 2018, 2022 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, 2022 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 Todor Kondić <tk.code@protonmail.com>15669
51 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
52 ;;; Copyright © 2019, 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
53 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
54 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
55 ;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org>
56 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
57 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
58 ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
59 ;;; Copyright © 2019, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
60 ;;; Copyright © 2019 David Wilson <david@daviwil.com>
61 ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
62 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
63 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
64 ;;; Copyright © 2020, 2021, 2022 Masaya Tojo <masaya@tojo.tokyo>
65 ;;; Copyright © 2020, 2021 Martin Becze <mjbecze@riseup.net>
66 ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
67 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
68 ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc>
69 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
70 ;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
71 ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
72 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
73 ;;; Copyright © 2020, 2022 pinoaffe <pinoaffe@gmail.com>
74 ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
75 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
76 ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
77 ;;; Copyright © 2020, 2022 Fredrik Salomonsson <plattfot@posteo.net>
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, 2021, 2022 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, 2021 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, 2022 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, 2022 Aleksandr 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, 2022 Stefan Reichör <stefan@xsteve.at>
98 ;;; Copyright © 2021, 2022 Simon Tournier <zimon.toutoune@gmail.com>
99 ;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
100 ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
101 ;;; Copyright © 2021 David Dashyan <mail@davie.li>
102 ;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev>
103 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
104 ;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
105 ;;; Copyright © 2021 Simon South <simon@simonsouth.net>
106 ;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
107 ;;; Copyright © 2021 Brian Kubisiak <brian@kubisiak.com>
108 ;;; Copyright © 2021, 2022 Taiju HIGASHI <higashi@taiju.info>
109 ;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
110 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
111 ;;; Copyright © 2022 jgart <jgart@dismail.de>
112 ;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
113 ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
114 ;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
115 ;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
116 ;;; Copyright © 2022 Haider Mirza <haider@haider.gq>
117 ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
118 ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
119 ;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
120 ;;;
121 ;;; This file is part of GNU Guix.
122 ;;;
123 ;;; GNU Guix is free software; you can redistribute it and/or modify it
124 ;;; under the terms of the GNU General Public License as published by
125 ;;; the Free Software Foundation; either version 3 of the License, or (at
126 ;;; your option) any later version.
127 ;;;
128 ;;; GNU Guix is distributed in the hope that it will be useful, but
129 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
130 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
131 ;;; GNU General Public License for more details.
132 ;;;
133 ;;; You should have received a copy of the GNU General Public License
134 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
135
136 (define-module (gnu packages emacs-xyz)
137 #:use-module ((guix licenses) #:prefix license:)
138 #:use-module (guix packages)
139 #:use-module (guix cvs-download)
140 #:use-module (guix download)
141 #:use-module (guix bzr-download)
142 #:use-module (guix gexp)
143 #:use-module (guix i18n)
144 #:use-module (guix git-download)
145 #:use-module (guix hg-download)
146 #:use-module (guix build-system gnu)
147 #:use-module (guix build-system cmake)
148 #:use-module (guix build-system copy)
149 #:use-module (guix build-system emacs)
150 #:use-module (guix build-system glib-or-gtk)
151 #:use-module (guix build-system perl)
152 #:use-module (guix build-system trivial)
153 #:use-module (gnu packages)
154 #:use-module (gnu packages admin)
155 #:use-module (gnu packages aspell)
156 #:use-module (gnu packages audio)
157 #:use-module (gnu packages bash)
158 #:use-module (gnu packages chez)
159 #:use-module (gnu packages cmake)
160 #:use-module (gnu packages code)
161 #:use-module (gnu packages cpp)
162 #:use-module (gnu packages curl)
163 #:use-module (gnu packages databases)
164 #:use-module (gnu packages dictionaries)
165 #:use-module (gnu packages djvu)
166 #:use-module (gnu packages ebook)
167 #:use-module (gnu packages emacs)
168 #:use-module (gnu packages fonts)
169 #:use-module (gnu packages freedesktop)
170 #:use-module (gnu packages games)
171 #:use-module (gnu packages gawk)
172 #:use-module (gnu packages golang)
173 #:use-module (gnu packages guile)
174 #:use-module (gnu packages gtk)
175 #:use-module (gnu packages gnome)
176 #:use-module (gnu packages graphviz)
177 #:use-module (gnu packages haskell-apps)
178 #:use-module (gnu packages ibus)
179 #:use-module (gnu packages java)
180 #:use-module (gnu packages ncurses)
181 #:use-module (gnu packages networking)
182 #:use-module (gnu packages python)
183 #:use-module (gnu packages python-xyz)
184 #:use-module (gnu packages telephony)
185 #:use-module (gnu packages terminals)
186 #:use-module (gnu packages tex)
187 #:use-module (gnu packages texinfo)
188 #:use-module (gnu packages tcl)
189 #:use-module (gnu packages tls)
190 #:use-module (gnu packages pkg-config)
191 #:use-module (gnu packages xorg)
192 #:use-module (gnu packages lesstif)
193 #:use-module (gnu packages llvm)
194 #:use-module (gnu packages image)
195 #:use-module (gnu packages linux)
196 #:use-module (gnu packages libevent)
197 #:use-module (gnu packages lisp-xyz)
198 #:use-module (gnu packages lua)
199 #:use-module (gnu packages music)
200 #:use-module (gnu packages version-control)
201 #:use-module (gnu packages imagemagick)
202 #:use-module (gnu packages w3m)
203 #:use-module (gnu packages web)
204 #:use-module (gnu packages wget)
205 #:use-module (gnu packages autotools)
206 #:use-module (gnu packages base)
207 #:use-module (gnu packages compression)
208 #:use-module (gnu packages node)
209 #:use-module (gnu packages xml)
210 #:use-module (gnu packages glib)
211 #:use-module (gnu packages acl)
212 #:use-module (gnu packages mail)
213 #:use-module (gnu packages messaging)
214 #:use-module (gnu packages package-management)
215 #:use-module (gnu packages perl)
216 #:use-module (gnu packages pdf)
217 #:use-module (gnu packages racket)
218 #:use-module (gnu packages ruby)
219 #:use-module (gnu packages rust-apps)
220 #:use-module (gnu packages scheme)
221 #:use-module (gnu packages serialization)
222 #:use-module (gnu packages speech)
223 #:use-module (gnu packages xiph)
224 #:use-module (gnu packages mp3)
225 #:use-module (gnu packages gettext)
226 #:use-module (gnu packages fribidi)
227 #:use-module (gnu packages gd)
228 #:use-module (gnu packages fontutils)
229 #:use-module (gnu packages password-utils)
230 #:use-module (gnu packages pulseaudio)
231 #:use-module (gnu packages sphinx)
232 #:use-module (gnu packages screen)
233 #:use-module (gnu packages xdisorg)
234 #:use-module (gnu packages shells)
235 #:use-module (gnu packages shellutils)
236 #:use-module (gnu packages sqlite)
237 #:use-module (gnu packages ghostscript)
238 #:use-module (gnu packages gnupg)
239 #:use-module (gnu packages video)
240 #:use-module (gnu packages haskell-xyz)
241 #:use-module (gnu packages wordnet)
242 #:use-module (gnu packages photo)
243 #:use-module (gnu packages uml)
244 #:use-module (gnu packages finance)
245 #:use-module (gnu packages ocaml)
246 #:use-module (gnu packages erlang)
247 #:use-module (gnu packages statistics)
248 #:use-module (guix utils)
249 #:use-module (srfi srfi-1)
250 #:use-module (ice-9 match))
251
252 ;;;
253 ;;; Emacs hacking.
254 ;;;
255
256 (define-public emacs-geiser
257 (package
258 (name "emacs-geiser")
259 (version "0.27")
260 (source
261 (origin
262 (method git-fetch)
263 (uri (git-reference
264 (url "https://gitlab.com/emacs-geiser/geiser")
265 (commit version)))
266 (file-name (git-file-name name version))
267 (sha256
268 (base32 "1mk9m6vya544in3b41mj8g7453dchiaj7hp6m6ymmcbfmlbfdwk2"))))
269 (build-system emacs-build-system)
270 (arguments
271 '(#:phases
272 (modify-phases %standard-phases
273 ;; Move the source files to the top level, which is included in
274 ;; the EMACSLOADPATH.
275 (add-after 'unpack 'move-source-files
276 (lambda _
277 (let ((el-files (find-files "./elisp" ".*\\.el$")))
278 (for-each (lambda (f)
279 (rename-file f (basename f)))
280 el-files))))
281 (add-before 'install 'make-info
282 (lambda _
283 (with-directory-excursion "doc"
284 (invoke "makeinfo" "--no-split"
285 "-o" "geiser.info" "geiser.texi")))))))
286 (native-inputs
287 (list texinfo))
288 (home-page "https://www.nongnu.org/geiser/")
289 (synopsis "Collection of Emacs modes for Scheme hacking")
290 (description
291 "Geiser is a collection of Emacs major and minor modes that conspire with
292 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
293 continuously running Scheme interpreter takes the center of the stage in
294 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
295 implementation, Emacs and, ultimately, the schemer, giving them access to live
296 metadata.
297
298 This package provides just the core of Geiser. To effectively use it with your
299 favourite Scheme implementation, you also need the corresponding geiser package,
300 e.g. emacs-geiser-guile for Guile.")
301 (license license:bsd-3)))
302
303 (define-public emacs-geiser-guile
304 (package
305 (name "emacs-geiser-guile")
306 (version "0.26.1")
307 (source
308 (origin
309 (method git-fetch)
310 (uri (git-reference
311 (url "https://gitlab.com/emacs-geiser/guile")
312 (commit version)))
313 (file-name (git-file-name name version))
314 (sha256
315 (base32 "06939mv9i7zzqvq71d0ixk3y9135132f3pk9jgjdwvacl1d31h8k"))))
316 (build-system emacs-build-system)
317 (arguments
318 (list
319 #:include #~(cons "^src/" %default-include)
320 #:phases
321 #~(modify-phases %standard-phases
322 (add-after 'unpack 'patch-geiser-guile-binary
323 (lambda* (#:key inputs #:allow-other-keys)
324 (substitute* "geiser-guile.el"
325 (("\\(t \"guile\")")
326 (format #f "(t ~s)"
327 (search-input-file inputs "bin/guile"))))))
328 (add-after 'make-autoloads 'patch-autoloads
329 (lambda _
330 (substitute* (string-append (elpa-directory #$output)
331 "/geiser-guile-autoloads.el")
332 ;; Activating implementations fails when Geiser is not yet
333 ;; loaded, so let's defer that until it is.
334 (("\\(geiser-activate-implementation .*\\)" all)
335 (string-append
336 "(eval-after-load 'geiser-impl '" all ")"))))))))
337 (inputs (list guile-3.0-latest))
338 (propagated-inputs (list emacs-geiser))
339 (home-page "https://www.nongnu.org/geiser/")
340 (synopsis "Guile Scheme support for Geiser")
341 (description
342 "This package adds support for the Guile Scheme implementation to Geiser,
343 a generic Scheme interaction mode for the GNU Emacs editor.")
344 (license license:bsd-3)))
345
346 (define-public emacs-ac-geiser
347 (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
348 (revision "0"))
349 (package
350 (name "emacs-ac-geiser")
351 (version (git-version "0.1" revision commit))
352 (source
353 (origin
354 (uri (git-reference
355 (url "https://github.com/xiaohanyu/ac-geiser")
356 (commit commit)))
357 (method git-fetch)
358 (sha256
359 (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw"))
360 (file-name (git-file-name name version))))
361 (build-system emacs-build-system)
362 (propagated-inputs
363 (list emacs-geiser emacs-auto-complete))
364 (synopsis "Auto-complete backend for geiser")
365 (description
366 "This package provides an auto-complete source for Scheme projects
367 using geiser.")
368 (license license:bsd-3)
369 (home-page "https://github.com/xiaohanyu/ac-geiser"))))
370
371 (define-public emacs-geiser-gauche
372 ;; The latest 0.14 release has an unbound variable (geiser-scheme-dir).
373 (let ((commit "96fa06aaeef18cc1b3b519e83dbb7be09eeb0d07")
374 (revision "0"))
375 (package
376 (name "emacs-geiser-gauche")
377 (version (git-version "0.14" revision commit))
378 (source
379 (origin
380 (method git-fetch)
381 (uri (git-reference
382 (url "https://gitlab.com/emacs-geiser/gauche.git")
383 (commit commit)))
384 (file-name (git-file-name name version))
385 (sha256
386 (base32 "1ppracwfl1snq0ifdlyxpdlv7fbn3pbxm1hd1ihgqivii5nbya9r"))))
387 (build-system emacs-build-system)
388 (arguments
389 (list
390 #:include '(cons "^geiser-gauche\\.scm$" %default-include)
391 #:phases
392 #~(modify-phases %standard-phases
393 (add-after 'unpack 'patch-geiser-gauche-binary
394 (lambda* (#:key inputs #:allow-other-keys)
395 (emacs-substitute-sexps "geiser-gauche.el"
396 ("geiser-custom--defcustom geiser-gauche-binary"
397 (search-input-file inputs "bin/gosh")))))
398 (add-after 'make-autoloads 'patch-autoloads
399 (lambda _
400 (substitute* (string-append (elpa-directory #$output)
401 "/geiser-gauche-autoloads.el")
402 ;; Activating implementations fails when Geiser is not yet
403 ;; loaded, so let's defer that until it is.
404 (("\\(geiser-activate-implementation .*\\)" all)
405 (string-append
406 "(eval-after-load 'geiser-impl '" all ")"))
407 (("\\(geiser-implementation-extension .*\\)" all)
408 (string-append
409 "(eval-after-load 'geiser-impl '" all ")"))))))))
410 (inputs (list gauche))
411 (propagated-inputs (list emacs-geiser))
412 (home-page "https://gitlab.com/emacs-geiser/gauche")
413 (synopsis "Gauche Scheme support for Geiser")
414 (description
415 "This package adds support for the Gauche Scheme implementation to Geiser,
416 a generic Scheme interaction mode for the GNU Emacs editor.")
417 (license license:expat))))
418
419 (define-public emacs-geiser-racket
420 (package
421 (name "emacs-geiser-racket")
422 (version "1.0")
423 (source
424 (origin
425 (method git-fetch)
426 (uri (git-reference
427 (url "https://gitlab.com/emacs-geiser/racket")
428 (commit version)))
429 (file-name (git-file-name name version))
430 (sha256
431 (base32 "04gwd9qa0785zfr6m9a5443ilgvyz05l06cb1waicf83sgp8xl32"))))
432 (build-system emacs-build-system)
433 (arguments
434 (list
435 #:include #~(cons "^src/" %default-include)
436 #:phases
437 #~(modify-phases %standard-phases
438 (add-after 'unpack 'patch-geiser-racket-binary
439 (lambda* (#:key inputs #:allow-other-keys)
440 (substitute* "geiser-racket.el"
441 (("\\(t \"racket\")")
442 (format #f "(t ~s)"
443 (search-input-file inputs "bin/racket"))))))
444 (add-after 'make-autoloads 'patch-autoloads
445 (lambda _
446 (substitute* (string-append (elpa-directory #$output)
447 "/geiser-racket-autoloads.el")
448 ;; Activating implementations fails when Geiser is not yet
449 ;; loaded, so let's defer that until it is.
450 (("\\(geiser-activate-implementation .*\\)" all)
451 (string-append
452 "(eval-after-load 'geiser-impl '" all ")"))
453 (("\\(geiser-implementation-extension .*\\)" all)
454 (string-append
455 "(eval-after-load 'geiser-impl '" all ")"))))))))
456 (inputs (list racket))
457 (propagated-inputs (list emacs-geiser))
458 (home-page "https://www.nongnu.org/geiser/")
459 (synopsis "Racket support for Geiser")
460 (description
461 "This package adds support for the Racket implementation to Geiser,
462 a generic Scheme interaction mode for the GNU Emacs editor.")
463 (license license:bsd-3)))
464
465 (define-public emacs-geiser-chez
466 (package
467 (name "emacs-geiser-chez")
468 (version "0.17")
469 (source
470 (origin
471 (method git-fetch)
472 (uri (git-reference
473 (url "https://gitlab.com/emacs-geiser/chez")
474 (commit version)))
475 (file-name (git-file-name name version))
476 (sha256
477 (base32 "03fc9ahb0pmznkcnxzgpni4clj1zgky6vaqkc94nf8b8swniwkm9"))))
478 (build-system emacs-build-system)
479 (arguments
480 '(#:include (cons "^src/" %default-include)
481 #:phases
482 (modify-phases %standard-phases
483 (add-after 'make-autoloads 'patch-autoloads
484 (lambda* (#:key outputs #:allow-other-keys)
485 (substitute* (string-append
486 (elpa-directory (assoc-ref outputs "out"))
487 "/geiser-chez-autoloads.el")
488 ;; Activating implementations fails when Geiser is not yet
489 ;; loaded, so let's defer that until it is.
490 ;; See <https://gitlab.com/emacs-geiser/chez/-/issues/7>.
491 (("\\(geiser-activate-implementation .*\\)" all)
492 (string-append
493 "(eval-after-load 'geiser-impl '" all ")"))
494 (("\\(geiser-implementation-extension .*\\)" all)
495 (string-append
496 "(eval-after-load 'geiser-impl '" all ")"))))))))
497 (inputs
498 (list (chez-scheme-for-system)))
499 (propagated-inputs
500 (list emacs-geiser))
501 (home-page "https://nongnu.org/geiser/")
502 (synopsis "Support for Chez Scheme in Geiser")
503 (description
504 "This package adds support for using Chez Scheme in Emacs with Geiser.")
505 (license license:bsd-3)))
506
507 (define-public emacs-vc-hgcmd
508 (package
509 (name "emacs-vc-hgcmd")
510 (version "1.14.1")
511 (source
512 (origin
513 (method git-fetch)
514 (uri (git-reference
515 (url "https://github.com/muffinmad/emacs-vc-hgcmd")
516 (commit (string-append "v" version))))
517 (file-name (git-file-name name version))
518 (sha256
519 (base32 "1nlaicza4ds325827ks5gb7zn0nc536k2chq8jwbq34ybvxi93wj"))))
520 (build-system emacs-build-system)
521 (home-page "https://github.com/muffinmad/emacs-vc-hgcmd")
522 (synopsis "Version control (VC) backend for the Mercurial command server")
523 (description
524 "This package provides an Emacs VC backend to work with Mercurial
525 repositories through the
526 @uref{https://www.mercurial-scm.org/wiki/CommandServer,Mercurial command
527 server}. The main advantage compared to @code{vc-hg} is speed.")
528 (license license:gpl3+)))
529
530 (define-public emacs-telephone-line
531 (let ((commit "6f3455a365912e8f0c45a2240ea79507dee45ade")
532 (revision "0"))
533 (package
534 (name "emacs-telephone-line")
535 (version (git-version "0.5" revision commit))
536 (source
537 (origin
538 (method git-fetch)
539 (uri
540 (git-reference
541 (url "https://github.com/dbordak/telephone-line")
542 (commit commit)))
543 (file-name (git-file-name name version))
544 (sha256
545 (base32 "1hnd6wnc52sc0ckriqnhaz64pyjk027y0dpcmh2zhpd27i8d4hmq"))))
546 (build-system emacs-build-system)
547 (home-page "https://github.com/dbordak/telephone-line")
548 (synopsis "Implementation of Powerline for Emacs")
549 (description
550 "Telephone Line is a new implementation of Powerline for Emacs with
551 optional baked-in Evil support, antialiased separators, and an easy
552 configuration language which makes it trivial to write your own themes.")
553 (license license:gpl3+))))
554
555 (define-public emacs-terminal-here
556 (package
557 (name "emacs-terminal-here")
558 (version "2.0")
559 (source
560 (origin
561 (method git-fetch)
562 (uri (git-reference
563 (url "https://github.com/davidshepherd7/terminal-here")
564 (commit version)))
565 (file-name (git-file-name name version))
566 (sha256
567 (base32 "1iv1c2mbvhn00ha46c6f98j9syc71xhjpk8m5wa5p32sk4wcc9f4"))))
568 (build-system emacs-build-system)
569 (home-page "https://github.com/davidshepherd7/terminal-here")
570 (synopsis "Open external terminals from Emacs")
571 (description
572 "This package provides commands to open external terminal emulators from
573 Emacs, whose initial working directories are determined in relation to the
574 current buffer.")
575 (license license:gpl3+)))
576
577 (define-public emacs-hgignore-mode
578 ;; From 2021-03-14.
579 ;; No releases available.
580 (let ((commit "2c5aa4c238848f5b4f2955afcfb5f21ea513653b")
581 (revision "0"))
582 (package
583 (name "emacs-hgignore-mode")
584 ;; `Version:' header says 0.1.20150329
585 (version (git-version "0.1" revision commit))
586 (source (origin
587 (method git-fetch)
588 (uri (git-reference
589 (url "https://github.com/omajid/hgignore-mode")
590 (commit commit)))
591 (file-name (git-file-name name version))
592 (sha256
593 (base32
594 "0jn9rzhrmmv4lf7rdapdjclk6623d1mir2lq3c46428skhzjlph7"))))
595 (build-system emacs-build-system)
596 (home-page "https://github.com/omajid/hgignore-mode")
597 (synopsis "Major mode for editing @file{hgignore} files")
598 (description "This package provides a basic major mode for
599 editing @file{.hgignore} files used by the Mercurial version control
600 system.")
601 (license license:gpl3+))))
602
603 (define-public emacs-platformio-mode
604 (package
605 (name "emacs-platformio-mode")
606 (version "0.3.0")
607 (source (origin
608 (method git-fetch)
609 (uri (git-reference
610 (url "https://github.com/ZachMassia/PlatformIO-Mode")
611 (commit (string-append "v" version))))
612 (file-name (git-file-name name version))
613 (sha256
614 (base32
615 "0ian50v9vaz7kqzn20bhqadq50h0l3zhjkmniinpz4q9klh7drh9"))))
616 (build-system emacs-build-system)
617 (propagated-inputs (list emacs-async emacs-projectile))
618 (home-page "https://github.com/zachmassia/platformio-mode")
619 (synopsis "Minor mode for building and uploading PlatformIO projects")
620 (description "This package provices an Emacs minor mode for building and
621 uploading PlatformIO projects.")
622 (license license:gpl3+)))
623
624 (define-public emacs-hyperbole
625 (package
626 (name "emacs-hyperbole")
627 (version "8.0.0")
628 (source
629 (origin
630 (method url-fetch)
631 (uri (string-append "https://elpa.gnu.org/packages/"
632 "hyperbole-" version ".tar"))
633 (sha256
634 (base32 "171x7jad62xd0n3xgs32dksyhn5abxj1kna0qgm65mm0v73hrv8d"))))
635 (build-system emacs-build-system)
636 (arguments
637 (list #:include #~(cons* "DEMO"
638 "DEMO-ROLO.otl"
639 "HY-ABOUT"
640 "man/hkey-help.txt"
641 "\\.kotl$"
642 %default-include)
643 #:phases
644 #~(modify-phases %standard-phases
645 ;; Fix build issues about missing "domainname" and
646 ;; "hpmap:dir-user" parent dir, and missing require in
647 ;; "hgnus.el" (void-function: var-append).
648 (add-after 'unpack 'fix-build
649 (lambda* (#:key inputs #:allow-other-keys)
650 (substitute* "hypb.el"
651 (("/bin/domainname")
652 (search-input-file inputs "bin/dnsdomainname")))
653 (substitute* "hyperbole.el"
654 (("\\(hyperb:check-dir-user\\)") ""))
655 (substitute* "hgnus.el"
656 (("hmail ") "hmail hvar "))))
657 (add-after 'install 'install-images
658 (lambda _
659 (let ((dir (string-append #$output "/share/info/im")))
660 (for-each (lambda (file)
661 (install-file file dir))
662 (find-files "man/im" "\\.png$"))))))))
663 (inputs
664 (list inetutils))
665 (home-page "https://www.gnu.org/software/hyperbole/")
666 (synopsis "The Everyday Hypertextual Information Manager")
667 (description
668 "GNU Hyperbole, or just Hyperbole, is a programmable hypertextual
669 information management system. It offers rapid views and interlinking of all
670 kinds of textual information, utilizing Emacs for editing. In particular,
671 Hyperbole lets you quickly create and activate hyperlink buttons, build
672 outlines, manage all your contacts, your windows and frames, and search across
673 buffers, directory trees, or the web.")
674 (license license:gpl3+)))
675
676 (define-public emacs-vlf
677 (package
678 (name "emacs-vlf")
679 (version "1.7.2")
680 (source
681 (origin
682 (method url-fetch)
683 (uri (string-append "https://elpa.gnu.org/packages/"
684 "vlf-" version ".tar"))
685 (sha256
686 (base32 "0hpri19z6b7dqmrj5ckp8sf0m0l72lkgahqzvfmwhgpgv2p81bny"))))
687 (build-system emacs-build-system)
688 (home-page "https://github.com/m00natic/vlfi/")
689 (synopsis "View large files in Emacs")
690 (description
691 "Vlf is an Emacs minor mode that allows viewing, editing, searching and
692 comparing large files in batches.")
693 (license license:gpl2+)))
694
695 (define-public emacs-hg-histedit
696 ;; From 2021-03-02.
697 ;; No releases available.
698 (let ((commit "a05149483b9c5f7848ece0ba6028c900595a6a25")
699 (revision "0"))
700 (package
701 (name "emacs-hg-histedit")
702 (version (git-version "0.0.0" revision commit))
703 (source (origin
704 (method git-fetch)
705 (uri (git-reference
706 (url "https://github.com/jojojames/hg-histedit")
707 (commit commit)))
708 (file-name (git-file-name name version))
709 (sha256
710 (base32
711 "04zps0d4s99f5a8ahrpyf8b6qw0c1y7rd1bsaq9nc6m4qblsvwc8"))))
712 (build-system emacs-build-system)
713 (propagated-inputs
714 (list emacs-with-editor))
715 (home-page "https://github.com/jojojames/hg-histedit")
716 (synopsis "Emacs interface to @command{hg histedit}")
717 (description "This package provides an Emacs interface to
718 @command{hg histedit} for editing the commit history.")
719 (license license:gpl3+))))
720
721 (define-public emacs-package-build
722 (package
723 (name "emacs-package-build")
724 (version "3.1")
725 (source (origin
726 (method git-fetch)
727 (uri (git-reference
728 (url "https://github.com/melpa/package-build")
729 (commit version)))
730 (file-name (git-file-name name version))
731 (sha256
732 (base32
733 "1gkqav0ipfk5gsklxrbggqrbphr12qg1qr6dpdi4f0hs0i11fr23"))))
734 (build-system emacs-build-system)
735 (home-page "https://github.com/melpa/package-build")
736 (synopsis "Tools for assembling an Emacs package archive")
737 (description "This package provides tools for assembling an @acronym{ELPA,
738 Emacs package archive}.")
739 (license license:gpl3+)))
740
741 (define-public emacs-paredit
742 ;; The last tagged release is from 2014; use the latest commit, which
743 ;; includes many fixes such as honoring the 'fill-paragraph-function'
744 ;; variable.
745 (let ((commit "d0b1a2f42fb47efc8392763d6487fd027e3a2955")
746 (revision "1"))
747 (package
748 (name "emacs-paredit")
749 (version (git-version "24" revision commit))
750 (source (origin
751 (method git-fetch)
752 (uri (git-reference
753 (url "https://mumble.net/~campbell/git/paredit.git")
754 (commit commit)))
755 (file-name (git-file-name name version))
756 (sha256
757 (base32
758 "1x91xxvwb3r3h61ff1kknlaakxm1a40r7zg2lck9j52yiza4f191"))))
759 (build-system emacs-build-system)
760 (home-page "http://mumble.net/~campbell/emacs/paredit/")
761 (synopsis "Emacs minor mode for editing parentheses")
762 (description
763 "ParEdit (paredit.el) is a minor mode for performing structured editing
764 of S-expression data. The typical example of this would be Lisp or Scheme
765 source code.
766
767 ParEdit helps **keep parentheses balanced** and adds many keys for moving
768 S-expressions and moving around in S-expressions. Its behavior can be jarring
769 for those who may want transient periods of unbalanced parentheses, such as
770 when typing parentheses directly or commenting out code line by line.")
771 (license license:gpl3+))))
772
773 (define-public emacs-puni
774 ;; No tagged release upstream
775 (let ((commit "28836e98d5566172b1a94d7b38290d07b49201b2")
776 (revision "1"))
777 (package
778 (name "emacs-puni")
779 (version (git-version "0" revision commit))
780 (source (origin
781 (method git-fetch)
782 (uri (git-reference
783 (url "https://github.com/AmaiKinono/puni")
784 (commit commit)))
785 (file-name (git-file-name name version))
786 (sha256
787 (base32
788 "1z35nzsqcp8q9nnka0d5gpiidl07qfqmd2giwnd3b3v7h3v1kwpz"))))
789 (build-system emacs-build-system)
790 (propagated-inputs (list emacs-with-editor))
791 (home-page "https://github.com/AmaiKinono/puni")
792 (synopsis "Emacs minor mode for structured editing")
793 (description
794 "Puni is an Emacs minor mode for structured editing: soft deletion,
795 expression navigating and manipulating. It supports many major modes
796 out of the box.")
797 (license license:gpl3+))))
798
799 (define-public emacs-spaceline-all-the-icons
800 (package
801 (name "emacs-spaceline-all-the-icons")
802 (version "1.4.0")
803 (source (origin
804 (method git-fetch)
805 (uri (git-reference
806 (url "https://github.com/domtronn/spaceline-all-the-icons.el")
807 (commit version)))
808 (file-name (git-file-name name version))
809 (sha256
810 (base32
811 "186v71d8n1iy73drayyf57pyzlz973q74mazkyvb8w3fj8bb3llm"))))
812 (build-system emacs-build-system)
813 (propagated-inputs
814 (list emacs-all-the-icons
815 emacs-memoize
816 emacs-spaceline))
817 (home-page "https://github.com/domtronn/spaceline-all-the-icons.el")
818 (synopsis
819 "Theme for @code{emacs-spaceline} using @code{emacs-all-the-icons}")
820 (description
821 "This package is a theme for @code{emacs-spaceline} that recreates most
822 of the segments available in that package using icons from
823 @code{emacs-all-the-icons}. Icon fonts allow for more tailored and detailed
824 information in the mode line.")
825 (license license:expat)))
826
827 (define-public emacs-project
828 (package
829 (name "emacs-project")
830 (version "0.8.2")
831 (source
832 (origin
833 (method url-fetch)
834 (uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar"))
835 (sha256
836 (base32 "1l5yxw6xqml176vskd5fz2y2dbjh8925g3kyimda4gdprz4y7aci"))))
837 (build-system emacs-build-system)
838 (propagated-inputs (list emacs-xref))
839 (home-page "https://elpa.gnu.org/packages/project.html")
840 (synopsis "Operations on the current project")
841 (description
842 "This library contains generic infrastructure for dealing with projects,
843 some utility functions, and commands using that infrastructure.")
844 (license license:gpl3+)))
845
846 (define-public git-modes
847 (package
848 (name "emacs-git-modes")
849 (version "1.4.0")
850 (source
851 (origin
852 (method git-fetch)
853 (uri (git-reference
854 (url "https://github.com/magit/git-modes")
855 (commit version)))
856 (file-name (git-file-name name version))
857 (sha256
858 (base32 "0aqz65pcqc35h5z4s606f48iqn87h5v9nj3cp6n9yjxa2v7w5hfk"))))
859 (build-system emacs-build-system)
860 (home-page "https://github.com/magit/git-modes")
861 (synopsis "Emacs major modes for Git configuration files")
862 (description
863 "This package provides Emacs major modes for editing various Git
864 configuration files, such as @file{.gitattributes}, @file{.gitignore}, and
865 @file{.git/config}.")
866 (license license:gpl3+)))
867
868 (define-public emacs-with-editor
869 (package
870 (name "emacs-with-editor")
871 (version "3.2.0")
872 (source
873 (origin
874 (method git-fetch)
875 (uri (git-reference
876 (url "https://github.com/magit/with-editor")
877 (commit (string-append "v" version))))
878 (file-name (git-file-name name version))
879 (sha256
880 (base32 "1d98hagpm6h5vgx80qlh3zrfcb6z000rfc707w9zzmh634dkg3xx"))))
881 (build-system emacs-build-system)
882 (arguments
883 (list
884 #:phases
885 #~(modify-phases %standard-phases
886 (add-before 'install 'enter-lisp-directory
887 (lambda _
888 (chdir "lisp")))
889 (add-before 'install 'make-info
890 (lambda _
891 (with-directory-excursion "../docs"
892 (invoke "makeinfo" "--no-split"
893 "-o" "with-editor.info" "with-editor.texi")
894 (install-file "with-editor.info" "../lisp")))))))
895 (native-inputs
896 (list texinfo))
897 (propagated-inputs
898 (list emacs-async))
899 (home-page "https://github.com/magit/with-editor")
900 (synopsis "Emacs library for using Emacsclient as EDITOR")
901 (description
902 "This package provides an Emacs library to use the Emacsclient as
903 @code{$EDITOR} of child processes, making sure they know how to call home.
904 For remote processes a substitute is provided, which communicates with Emacs
905 on stdout instead of using a socket as the Emacsclient does.")
906 (license license:gpl3+)))
907
908 (define-public emacs-libgit
909 (let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a")
910 (revision "1"))
911 (package
912 (name "emacs-libgit")
913 (version (git-version "20200515" revision commit))
914 (source (origin
915 (method git-fetch)
916 (uri (git-reference
917 (url "https://github.com/magit/libegit2")
918 (commit commit)))
919 (file-name (git-file-name name version))
920 (sha256
921 (base32
922 "0pnjr3bg6y6354dfjjxfj0g51swzgl1fncpprah75x4k94rd369f"))
923 (patches (search-patches
924 ;; Submitted for inclusion upstream (see:
925 ;; https://github.com/magit/libegit2/pull/96).
926 "emacs-libgit-use-system-libgit2.patch"))
927 (snippet
928 #~(begin
929 ;; bundled, use the one shipped with emacs instead
930 (delete-file "src/emacs-module.h")))))
931 ;; Use the cmake-build-system as it provides support for cross builds.
932 (build-system cmake-build-system)
933 (arguments
934 `(#:configure-flags '("-DUSE_SYSTEM_LIBGIT2=x")
935 ;; Add the emacs-build-system byte compilation and install phases.
936 #:imported-modules (,@%cmake-build-system-modules
937 (guix build emacs-build-system)
938 (guix build emacs-utils))
939 #:modules ((guix build cmake-build-system)
940 ((guix build emacs-build-system) #:prefix emacs:)
941 (guix build emacs-utils)
942 (guix build utils))
943 #:phases
944 (modify-phases %standard-phases
945 (add-after 'unpack 'patch-source
946 (lambda _
947 ;; Use Emacs 28 unibyte strings.
948 ;; XXX: This now breaks if linked against Emacs <= 26, probably
949 ;; also 27.
950 (substitute* "src/egit-blob.c"
951 (("make_string") "make_unibyte_string"))))
952 (add-after 'unpack 'set-libgit--module-file
953 (lambda* (#:key outputs #:allow-other-keys)
954 (let ((out (assoc-ref outputs "out")))
955 (make-file-writable "libgit.el")
956 (emacs-substitute-variables "libgit.el"
957 ("libgit--module-file"
958 (string-append (emacs:elpa-directory out) "/libegit2.so"))))))
959 (add-before 'install 'prepare-for-install
960 (lambda _
961 (let ((s "../source"))
962 (copy-file "libegit2.so" (string-append s "/libegit2.so"))
963 (chdir s))))
964 (replace 'install
965 (lambda* (#:key outputs #:allow-other-keys)
966 (let ((install (assoc-ref emacs:%standard-phases 'install)))
967 (install #:outputs outputs
968 #:include (cons "\\.so$"
969 emacs:%default-include)))))
970 (add-after 'unpack 'emacs-add-install-to-native-load-path
971 (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
972 (add-after 'install 'make-autoloads
973 (assoc-ref emacs:%standard-phases 'make-autoloads))
974 (add-after 'make-autoloads 'enable-autoloads-compilation
975 (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
976 (add-after 'enable-autoloads-compilation 'patch-el-files
977 (assoc-ref emacs:%standard-phases 'patch-el-files))
978 (add-after 'patch-el-files 'emacs-build
979 (assoc-ref emacs:%standard-phases 'build))
980 (add-after 'emacs-build 'validate-compiled-autoloads
981 (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
982 (native-inputs
983 (list pkg-config emacs-no-x git-minimal))
984 (inputs
985 (list libgit2))
986 (home-page "https://github.com/magit/libegit2")
987 (synopsis "Emacs bindings for libgit2")
988 (description "This is an experimental module written in C providing
989 libgit2 bindings for Emacs, intended to boost the performance of Magit.")
990 ;; The LICENSE file says GPL v2+, but libgit.el says GPL v3+.
991 (license license:gpl3+))))
992
993 (define-public emacs-magit
994 (package
995 (name "emacs-magit")
996 (version "3.3.0")
997 (source
998 (origin
999 (method git-fetch)
1000 (uri (git-reference
1001 (url "https://github.com/magit/magit")
1002 (commit (string-append "v" version))))
1003 (file-name (git-file-name name version))
1004 (sha256
1005 (base32 "0cxyvp2aav27znc7mf6c83q5pddpdniaqkrxn1r8dbgr540qmnpn"))))
1006 (build-system emacs-build-system)
1007 (arguments
1008 (list
1009 #:tests? #t
1010 #:test-command #~(list "make" "test")
1011 #:exclude #~(cons* "magit-libgit.el"
1012 "magit-libgit-pkg.el"
1013 %default-exclude)
1014 #:phases
1015 #~(modify-phases %standard-phases
1016 (add-after 'unpack 'build-info-manual
1017 (lambda _
1018 (invoke "make" "info")
1019 ;; Copy info files to the lisp directory, which acts as
1020 ;; the root of the project for the emacs-build-system.
1021 (for-each (lambda (f)
1022 (install-file f "lisp"))
1023 (find-files "Documentation" "\\.info$"))))
1024 (add-after 'build-info-manual 'set-magit-version
1025 (lambda _
1026 (make-file-writable "lisp/magit.el")
1027 (emacs-substitute-variables "lisp/magit.el"
1028 ("magit-version" #$version))))
1029 (add-after 'set-magit-version 'patch-exec-paths
1030 (lambda* (#:key inputs #:allow-other-keys)
1031 (make-file-writable "lisp/magit-sequence.el")
1032 (emacs-substitute-variables "lisp/magit-sequence.el"
1033 ("magit-perl-executable"
1034 (search-input-file inputs "/bin/perl")))))
1035 (add-before 'check 'configure-git
1036 (lambda _
1037 ;; Otherwise some tests fail with error "unable to auto-detect
1038 ;; email address".
1039 (setenv "HOME" (getcwd))
1040 (invoke "git" "config" "--global" "user.name" "toto")
1041 (invoke "git" "config" "--global" "user.email"
1042 "toto@toto.com")))
1043 (add-after 'configure-git 'disable-tramp-test
1044 (lambda _
1045 ;; There is an issue causing TRAMP to fail in the build
1046 ;; environment. Setting the tramp-remote-shell parameter of
1047 ;; the sudo-method to the file name of the shell didn't help.
1048 (substitute* "t/magit-tests.el"
1049 (("^\\(ert-deftest magit-toplevel:tramp.*" all)
1050 (string-append all " (skip-unless nil)")))))
1051 (replace 'expand-load-path
1052 (lambda args
1053 (with-directory-excursion "lisp"
1054 (apply (assoc-ref %standard-phases 'expand-load-path) args))))
1055 (replace 'install
1056 (lambda args
1057 (with-directory-excursion "lisp"
1058 (apply (assoc-ref %standard-phases 'install) args)))))))
1059 (native-inputs
1060 (list texinfo))
1061 (inputs
1062 (list git perl))
1063 (propagated-inputs
1064 (list emacs-dash emacs-with-editor))
1065 (home-page "https://magit.vc/")
1066 (synopsis "Emacs interface for the Git version control system")
1067 (description
1068 "With Magit, you can inspect and modify your Git repositories
1069 with Emacs. You can review and commit the changes you have made to
1070 the tracked files, for example, and you can browse the history of past
1071 changes. There is support for cherry picking, reverting, merging,
1072 rebasing, and other common Git operations.")
1073 (license license:gpl3+)))
1074
1075 (define-public emacs-magit-svn
1076 (package
1077 (name "emacs-magit-svn")
1078 (version "2.2.3")
1079 (source (origin
1080 (method git-fetch)
1081 (uri (git-reference
1082 (url "https://github.com/magit/magit-svn")
1083 (commit version)))
1084 (file-name (git-file-name name version))
1085 (sha256
1086 (base32
1087 "1v1y4fir1plz4kj0cvkcd29wibli4dw7vp4fmbxq4df76d8iy8yd"))))
1088 (build-system emacs-build-system)
1089 (propagated-inputs (list emacs-dash emacs-with-editor emacs-magit))
1090 (home-page "https://github.com/magit/magit-svn")
1091 (synopsis "Git-SVN extension to Magit")
1092 (description
1093 "This package is an extension to Magit, the Git Emacs mode, providing
1094 support for Git-SVN.")
1095 (license license:gpl3+)))
1096
1097 (define-public emacs-magit-popup
1098 (package
1099 (name "emacs-magit-popup")
1100 (version "2.13.3")
1101 (source
1102 (origin
1103 (method git-fetch)
1104 (uri (git-reference
1105 (url "https://github.com/magit/magit-popup")
1106 (commit (string-append "v" version))))
1107 (file-name (git-file-name name version))
1108 (sha256
1109 (base32 "0znp6gx6vpcsybg774ab06mdgxb7sfk3gki1yp2qhkanav13i6q1"))))
1110 (build-system emacs-build-system)
1111 (arguments
1112 `(#:phases
1113 (modify-phases %standard-phases
1114 (add-before 'install 'make-info
1115 (lambda _
1116 (invoke "make" "info"))))))
1117 (native-inputs
1118 (list texinfo))
1119 (propagated-inputs
1120 (list emacs-dash))
1121 (home-page "https://github.com/magit/magit-popup")
1122 (synopsis "Define prefix-infix-suffix command combos")
1123 (description
1124 "This library implements a generic interface for toggling switches and
1125 setting options and then invoking an Emacs command which does something with
1126 these arguments. The prototypical use is for the command to call an external
1127 process, passing on the arguments as command line arguments.")
1128 (license license:gpl3+)))
1129
1130 (define-public emacs-magit-annex
1131 (package
1132 (name "emacs-magit-annex")
1133 (version "1.8.1")
1134 (source
1135 (origin
1136 (method git-fetch)
1137 (uri (git-reference
1138 (url "https://github.com/magit/magit-annex")
1139 (commit (string-append "v" version))))
1140 (file-name (git-file-name name version))
1141 (sha256
1142 (base32 "1amr2c08mq1nnn6k66mgz4rzyni4np7gxm96g4qyla2cbfbachgk"))))
1143 (build-system emacs-build-system)
1144 (propagated-inputs (list emacs-magit))
1145 (home-page "https://github.com/magit/magit-annex/")
1146 (synopsis "Git-annex support for Magit")
1147 (description
1148 "Magit-annex adds a few git-annex operations to the Magit interface.")
1149 (license license:gpl3+)))
1150
1151 (define-public emacs-mct
1152 (package
1153 (name "emacs-mct")
1154 (version "0.5.0")
1155 (source (origin
1156 (method git-fetch)
1157 (uri (git-reference
1158 (url "https://gitlab.com/protesilaos/mct")
1159 (commit version)))
1160 (sha256
1161 (base32 "0714n5nim0hyd5jywvvddka2gi2bhi1vkrbhx75mdn8h50r688kq"))
1162 (file-name (git-file-name name version))))
1163 (native-inputs (list texinfo))
1164 (build-system emacs-build-system)
1165 (arguments
1166 (list
1167 #:phases
1168 #~(modify-phases %standard-phases
1169 (add-after 'install 'makeinfo
1170 (lambda _
1171 (invoke "emacs"
1172 "--batch"
1173 "--eval=(require 'ox-texinfo)"
1174 "--eval=(find-file \"README.org\")"
1175 "--eval=(org-texinfo-export-to-info)")
1176 (install-file "mct.info" (string-append #$output "/share/info")))))))
1177 (home-page "https://protesilaos.com/emacs/mct")
1178 (synopsis "Enhancement of the default Emacs minibuffer completion UI")
1179 (description "Minibuffer and Completions in Tandem, also known as MCT, or
1180 mct.el, is an Emacs package that enhances the default minibuffer and
1181 @samp{*Completions*} buffer so that they work together as part of a unified
1182 framework. The idea is to make the presentation and overall functionality be
1183 consistent with other popular, vertically aligned completion UIs while
1184 leveraging built-in functionality.")
1185 (license (list license:gpl3+
1186 license:fdl1.3+)))) ; GFDLv1.3+ for the manual
1187
1188 (define-public emacs-minions
1189 (package
1190 (name "emacs-minions")
1191 (version "0.3.7")
1192 (source
1193 (origin
1194 (method git-fetch)
1195 (uri (git-reference
1196 (url "https://github.com/tarsius/minions")
1197 (commit (string-append "v" version))))
1198 (file-name (git-file-name name version))
1199 (sha256
1200 (base32 "1bzxxs8mxaihpjkbxgynhsi39lbbnij28grdc3sk9sq09j9752vw"))))
1201 (build-system emacs-build-system)
1202 (propagated-inputs
1203 (list emacs-dash))
1204 (home-page "https://github.com/tarsius/minions")
1205 (synopsis "Minor-mode menu for the mode line")
1206 (description
1207 "This package implements a menu that lists enabled minor-modes, as well
1208 as commonly but not currently enabled minor-modes. It can be used to toggle
1209 local and global minor-modes, to access mode-specific menus, and to get help
1210 about modes.
1211
1212 This menu is intended as a replacement for the incomplete yet wide list of
1213 enabled minor-modes that is displayed in the mode line by default. To use the
1214 menu like this, enable Minions mode.
1215
1216 Alternatively the menu can be bound globally, for example:
1217 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
1218 (license license:gpl3+)))
1219
1220 (define-public emacs-nano-modeline
1221 ;; No tagged release upstream. The commit below matches latest version
1222 ;; bump.
1223 (let ((commit "823161c8894996e5c8375249f467a422579a2947"))
1224 (package
1225 (name "emacs-nano-modeline")
1226 (version "0.7.1")
1227 (source (origin
1228 (method git-fetch)
1229 (uri (git-reference
1230 (url "https://github.com/rougier/nano-modeline")
1231 (commit commit)))
1232 (file-name (git-file-name name version))
1233 (sha256
1234 (base32
1235 "1g59g1r7gs1pz7wbh07k9p47qp7fygd1gc5kwbd0s5w42zhc6mid"))))
1236 (build-system emacs-build-system)
1237 (home-page "https://github.com/rougier/nano-modeline")
1238 (synopsis "Emacs minor mode controlling mode line")
1239 (description "Nano modeline is a minor mode for Emacs that modifies the
1240 mode line as @samp{[ status | name (primary) secondary ]}. It can be
1241 displayed at the bottom or at the top.")
1242 (license license:gpl3+))))
1243
1244 (define-public emacs-moody
1245 (package
1246 (name "emacs-moody")
1247 (version "0.7.1")
1248 (source
1249 (origin
1250 (method git-fetch)
1251 (uri (git-reference
1252 (url "https://github.com/tarsius/moody")
1253 (commit (string-append "v" version))))
1254 (file-name (git-file-name name version))
1255 (sha256
1256 (base32 "09yyihx6cpa724z6cj2rqspajwj325ipgpmckklpgq6l4h5xnwy4"))))
1257 (build-system emacs-build-system)
1258 (home-page "https://github.com/tarsius/moody")
1259 (synopsis "Tabs and ribbons for Emacs mode-line")
1260 (description
1261 "@code{emacs-moody} provides utilities for displaying elements of
1262 the mode line as tabs and ribbons. It also provides replacements for a few
1263 built-in elements. The biggest difference to similar packages is that
1264 this one is much simpler and much more consistent. When using this package,
1265 then only the color of the mode line changes when a window becomes in-/active.")
1266 (license license:gpl3+)))
1267
1268 (define-public emacs-theme-magic
1269 ;; No tagged release upstream, but the commit below correspond to the 0.2.3
1270 ;; release.
1271 (let ((commit "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3")
1272 (revision "0"))
1273 (package
1274 (name "emacs-theme-magic")
1275 (version "0.2.3")
1276 (source
1277 (origin
1278 (method git-fetch)
1279 (uri (git-reference
1280 (url "https://github.com/jcaw/theme-magic")
1281 (commit commit)))
1282 (file-name (git-file-name name version))
1283 (sha256
1284 (base32 "10gkg7jh1s1484gm66a87zr7x8vmv00s7gfd0w2pj47nqf98g8hz"))))
1285 (build-system emacs-build-system)
1286 (arguments
1287 (list
1288 ;; Include Pywal interaction scripts.
1289 #:include #~(cons "^python/" %default-include)
1290 #:phases
1291 #~(modify-phases %standard-phases
1292 (add-after 'unpack 'patch-exec-paths
1293 (lambda* (#:key inputs #:allow-other-keys)
1294 (substitute* '("theme-magic.el" "python/wal_change_colors.py")
1295 (("\"python\"")
1296 (string-append "\""
1297 (search-input-file inputs "/bin/python3")
1298 "\""))
1299 (("\"wal\"")
1300 (string-append "\""
1301 (search-input-file inputs "/bin/wal")
1302 "\""))))))))
1303 (inputs
1304 (list python python-pywal))
1305 (home-page "https://github.com/jcaw/theme-magic")
1306 (synopsis "Generate and apply color palettes based on your Emacs theme")
1307 (description
1308 "This package provides a command to extract the colors from your Emacs
1309 theme and apply them to the rest of Linux with Pywal. Pywal only applies your
1310 theme to the current session.")
1311 (license license:gpl3+))))
1312
1313 (define-public emacs-vscode-dark-plus
1314 (package
1315 (name "emacs-vscode-dark-plus")
1316 (version "2.0.0")
1317 (source
1318 (origin
1319 (method git-fetch)
1320 (uri (git-reference
1321 (url "https://github.com/ianyepan/vscode-dark-plus-emacs-theme")
1322 (commit (string-append "v" version))))
1323 (file-name (git-file-name name version))
1324 (sha256
1325 (base32 "1vcaqvhdgr91pr7kqskbscs8awm8jp6dkh79h6w36i9ipmc4l4hl"))))
1326 (build-system emacs-build-system)
1327 (home-page "https://github.com/ianyepan/vscode-dark-plus-emacs-theme")
1328 (synopsis "Emacs port of the default VS Code Dark+ theme")
1329 (description
1330 "This theme aims to be as identical as possible to the default Dark+
1331 color scheme used by Visual Studio Code.")
1332 (license license:gpl3+)))
1333
1334 (define-public emacs-theme-sorcery
1335 (let ((revision "0")
1336 (commit "5a1c4445b9e6e09589a299a9962a6973272a0c2f"))
1337 (package
1338 (name "emacs-theme-sorcery")
1339 (version "1.0")
1340 (source
1341 (origin
1342 (method git-fetch)
1343 (uri (git-reference
1344 (url "https://github.com/mtreca/emacs-theme-sorcery")
1345 (commit commit)))
1346 (file-name (git-file-name name version))
1347 (sha256
1348 (base32 "1b858049n6nw4qf60fmszjrhl80x7ssh32f7glj722kwy7404kdh"))))
1349 (build-system emacs-build-system)
1350 (propagated-inputs
1351 (list emacs-autothemer))
1352 (home-page "https://github.com/mtreca/emacs-theme-sorcery")
1353 (synopsis "Dark and low-contrast Emacs theme")
1354 (description "Sorcery is a dark and low-contrast Emacs theme inspired by
1355 Apprentice and Sourcerer.")
1356 (license license:gpl3+))))
1357
1358 (define-public emacs-suneater-theme
1359 (package
1360 (name "emacs-suneater-theme")
1361 (version "2.0.0")
1362 (source
1363 (origin
1364 (method git-fetch)
1365 (uri (git-reference
1366 (url "https://git.sr.ht/~plattfot/suneater-theme")
1367 (commit version)))
1368 (sha256
1369 (base32
1370 "0nlam8f8ly86y7p2dn10y9ixnm7bhmigsx7si4cjynh6aiyczyds"))
1371 (file-name (git-file-name name version))))
1372 (build-system emacs-build-system)
1373 (home-page "https://git.sr.ht/~plattfot/suneater-theme")
1374 (synopsis "Minimalistic dark theme for Emacs")
1375 (description
1376 "Suneater is a dark, minimalistic Emacs theme. It was based on Sunburst
1377 theme but now takes more inspiration from the Nano theme.")
1378 (license license:gpl3+)))
1379
1380 (define-public emacs-treepy
1381 (package
1382 (name "emacs-treepy")
1383 (version "0.1.2")
1384 (source (origin
1385 (method git-fetch)
1386 (uri (git-reference
1387 (url "https://github.com/volrath/treepy.el")
1388 (commit version)))
1389 (file-name (git-file-name name version))
1390 (sha256
1391 (base32
1392 "0pmrpij80m5kgcr8bw36r8wllgppasw08vn3ghwvis9srpaq75cn"))))
1393 (build-system emacs-build-system)
1394 (home-page
1395 "https://github.com/volrath/treepy.el")
1396 (synopsis "Tree traversal tools")
1397 (description
1398 "Generic tools for recursive and iterative tree traversal based on
1399 clojure.walk and clojure.zip respectively.")
1400 (license license:gpl3+)))
1401
1402 (define-public emacs-typing
1403 (let ((commit "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa")
1404 (revision "0"))
1405 (package
1406 (name "emacs-typing")
1407 (version (git-version "1.1.4" revision commit))
1408 (source
1409 (origin
1410 (method git-fetch)
1411 (uri (git-reference
1412 (url "https://github.com/kensanata/typing")
1413 (commit commit)))
1414 (file-name (git-file-name name version))
1415 (sha256
1416 (base32
1417 "1dbh0srbf54lgd60ia79y9cfnq3kxlgw01qzdjs9mk3nfazzpgnv"))))
1418 (build-system emacs-build-system)
1419 (home-page "https://github.com/kensanata/typing/")
1420 (synopsis "Emacs game where you have to type fast")
1421 (description "The Typing of Emacs is a game for Emacs that
1422 forces you to type words correctly as fast as possible, otherwise
1423 you will die. The game builds the list of words from the active buffer.")
1424 (license license:gpl2+))))
1425
1426 (define-public emacs-graphql
1427 (package
1428 (name "emacs-graphql")
1429 (version "0.1.1")
1430 (source (origin
1431 (modules '((guix build utils)))
1432 ;; Remove examples file with references to external packages as
1433 ;; they do not exist at compilation time.
1434 (snippet
1435 '(begin (delete-file "examples.el")))
1436 (method git-fetch)
1437 (uri (git-reference
1438 (url "https://github.com/vermiculus/graphql.el")
1439 (commit version)))
1440 (file-name (git-file-name name version))
1441 (sha256
1442 (base32
1443 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
1444 (build-system emacs-build-system)
1445 (home-page
1446 "https://github.com/vermiculus/graphql.el")
1447 (synopsis "GraphQL utilities")
1448 (description
1449 "GraphQL.el provides a generally-applicable domain-specific language for
1450 creating and executing GraphQL queries against your favorite web services.
1451 GraphQL is a data query language and runtime designed and used to request and
1452 deliver data to mobile and web apps.")
1453 (license license:gpl3+)))
1454
1455 (define-public emacs-graphql-mode
1456 ;; No tagged commit. No "Version" keyword either.
1457 (let ((commit "9bed568ec86242dbe30bdbab324aa0eb2cd9bf08")
1458 (revision "1"))
1459 (package
1460 (name "emacs-graphql-mode")
1461 (version (git-version "0" revision commit))
1462 (source
1463 (origin
1464 (method git-fetch)
1465 (uri (git-reference
1466 (url "https://github.com/davazp/graphql-mode")
1467 (commit commit)))
1468 (file-name (git-file-name name version))
1469 (sha256
1470 (base32 "0x9y7qq6y0zg8ncamzvk68ccmdyzh7xsj0xs0ykyl20d5wdpplj4"))))
1471 (build-system emacs-build-system)
1472 (home-page "https://github.com/davazp/graphql-mode")
1473 (synopsis "Emacs mode to edit GraphQL schema and queries")
1474 (description
1475 "This package implements a major mode to edit GraphQL schemas and
1476 query. The basic functionality includes syntax highlight and indentation.
1477 Additionally, it is able to send GraphQL queries to an end-point URL.
1478
1479 Files with the @file{.graphql} and @file{.gql} extensions are
1480 automatically opened with this mode.")
1481 (license license:gpl3+))))
1482
1483 (define-public emacs-ghq
1484 (package
1485 (name "emacs-ghq")
1486 (version "0.1.2")
1487 (source
1488 (origin
1489 (method git-fetch)
1490 (uri (git-reference
1491 (url "https://github.com/rcoedo/emacs-ghq")
1492 (commit (string-append "v" version))))
1493 (file-name (git-file-name name version))
1494 (sha256
1495 (base32 "0rh2k93c3a0vl073a3s3a3h6gkw454v1lyd7y8l3pd24vw9hc628"))))
1496 (build-system emacs-build-system)
1497 (propagated-inputs
1498 (list ghq))
1499 (home-page "https://github.com/rcoedo/emacs-ghq")
1500 (synopsis "Emacs interface for @code{ghq} tool")
1501 (description
1502 "This package provides a set of functions wrapping @code{ghq}, a tool for
1503 organizing remote Go repository clones.")
1504 (license license:gpl3+)))
1505
1506 (define-public emacs-ghub
1507 (package
1508 (name "emacs-ghub")
1509 (version "3.5.6")
1510 (source
1511 (origin
1512 (method git-fetch)
1513 (uri (git-reference
1514 (url "https://github.com/magit/ghub")
1515 (commit (string-append "v" version))))
1516 (file-name (git-file-name name version))
1517 (sha256
1518 (base32 "1pw1rjrvvanlcxv3rb64s2p646zfaipp7h7v8djlrrnlgy6mwbqd"))))
1519 (build-system emacs-build-system)
1520 (arguments
1521 (list
1522 #:phases
1523 #~(modify-phases %standard-phases
1524 (add-before 'install 'make-info
1525 (lambda _
1526 (invoke "make" "info")))
1527 (add-after 'make-info 'enter-lisp-directory
1528 (lambda _
1529 (chdir "lisp")))
1530 (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path
1531 (lambda _
1532 (setenv "EMACSLOADPATH"
1533 (string-append (getcwd)
1534 "/lisp:"
1535 (getenv "EMACSLOADPATH")))))
1536 (add-after 'install 'install-info
1537 (lambda _
1538 (let ((info (string-append #$output "/share/info")))
1539 (install-file "../docs/ghub.info" info)))))))
1540 (native-inputs
1541 (list texinfo))
1542 (propagated-inputs
1543 (list emacs-dash emacs-let-alist emacs-treepy))
1544 (home-page "https://github.com/magit/ghub")
1545 (synopsis "Emacs client libraries for the APIs of various Git forges")
1546 (description
1547 "Ghub provides basic support for using the APIs of various Git forges from
1548 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
1549 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
1550 handful of functions that are not resource-specific.")
1551 (license license:gpl3+)))
1552
1553 (define-public emacs-typit
1554 (package
1555 (name "emacs-typit")
1556 (version "0.3.0")
1557 (source
1558 (origin
1559 (method git-fetch)
1560 (uri (git-reference
1561 (url "https://github.com/mrkkrp/typit")
1562 (commit version)))
1563 (file-name (git-file-name name version))
1564 (sha256
1565 (base32 "0djxmni5mfc9wzm0zg7fsd7138ic5qznbmqd5jyrk4mpf0li8nhy"))))
1566 (build-system emacs-build-system)
1567 (arguments
1568 '(#:include (cons "^dict/" %default-include)))
1569 (propagated-inputs
1570 (list emacs-f emacs-mmt))
1571 (home-page "https://github.com/mrkkrp/typit")
1572 (synopsis "Typing game for Emacs with two difficulties")
1573 (description "Emacs Typit is a typing game for Emacs. Words that are
1574 picked randomly from the most frequent words in language you're practicing,
1575 until time is up.")
1576 (license license:gpl3+)))
1577
1578 (define-public emacs-scribble-mode
1579 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
1580 (revision "2"))
1581 (package
1582 (name "emacs-scribble-mode")
1583 (version (git-version "0.1" revision commit))
1584 (source (origin
1585 (method git-fetch)
1586 (uri (git-reference
1587 (url "https://github.com/emacs-pe/scribble-mode")
1588 (commit commit)))
1589 (file-name (git-file-name name version))
1590 (sha256
1591 (base32
1592 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
1593 (build-system emacs-build-system)
1594 (home-page "https://github.com/emacs-pe/scribble-mode")
1595 (synopsis "Emacs mode for editing the Scribble documentation syntax")
1596 (description
1597 "This package provides basic syntax highlighting and editing support
1598 for editing Racket's Scribble documentation syntax in Emacs.")
1599 (license license:gpl3+))))
1600
1601 (define-public emacs-shroud
1602 (package
1603 (name "emacs-shroud")
1604 (version "1.105")
1605 (source
1606 (origin
1607 (method git-fetch)
1608 (uri (git-reference
1609 (url "https://git.savannah.gnu.org/git/emacs-shroud.git")
1610 (commit version)))
1611 (file-name (git-file-name name version))
1612 (sha256
1613 (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
1614 (build-system gnu-build-system)
1615 (arguments
1616 `(#:modules ((guix build gnu-build-system)
1617 ((guix build emacs-build-system) #:prefix emacs:)
1618 (guix build utils))
1619 #:imported-modules (,@%gnu-build-system-modules
1620 (guix build emacs-build-system)
1621 (guix build emacs-utils))
1622 #:configure-flags (list (string-append "--with-lispdir="
1623 (emacs:elpa-directory %output)))
1624 #:phases
1625 (modify-phases %standard-phases
1626 (add-after 'unpack 'expand-load-path
1627 (assoc-ref emacs:%standard-phases 'expand-load-path)))))
1628 (native-inputs
1629 (list autoconf automake texinfo perl emacs-minimal))
1630 (propagated-inputs
1631 (list emacs-bui
1632 emacs-dash
1633 emacs-f
1634 emacs-s
1635 gnupg
1636 shroud))
1637 (home-page "https://www.nongnu.org/emacs-shroud")
1638 (synopsis "Emacs interface to the Shroud password manager")
1639 (description
1640 "This package provides an Emacs interface to the Shroud password manager,
1641 using the Buffers User Interface library. You can view, copy, and edit secrets
1642 from within Emacs.")
1643 (license license:gpl3+)))
1644
1645 (define-public emacs-solidity
1646 ;; This commit fixes a spacing issue and adds new keywords.
1647 (let ((commit "d166a86b83907e0cfd64c191e9dfce4b44a9843e")
1648 (revision "0"))
1649 (package
1650 (name "emacs-solidity")
1651 (version (git-version "0.1.10" revision commit))
1652 (source
1653 (origin
1654 (method git-fetch)
1655 (uri (git-reference
1656 (url "https://github.com/ethereum/emacs-solidity")
1657 (commit commit)))
1658 (file-name (git-file-name name version))
1659 (sha256
1660 (base32 "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq"))))
1661 (build-system emacs-build-system)
1662 (propagated-inputs
1663 (list emacs-company emacs-flycheck))
1664 (home-page "https://github.com/ethereum/emacs-solidity")
1665 (synopsis "Major mode for writing Solidity code")
1666 (description
1667 "This is a simple language mode for the Solidity language. It is
1668 a constant work in progress as the language itself also progresses.")
1669 (license license:gpl3+))))
1670
1671 (define-public emacs-unpackaged-el
1672 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
1673 (revision "3"))
1674 (package
1675 (name "emacs-unpackaged-el")
1676 (version (git-version "0" revision commit))
1677 (source
1678 (origin
1679 (method git-fetch)
1680 (uri (git-reference
1681 (url "https://github.com/alphapapa/unpackaged.el")
1682 (commit commit)))
1683 (file-name (git-file-name name version))
1684 (sha256
1685 (base32
1686 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
1687 (build-system emacs-build-system)
1688 (propagated-inputs
1689 (list emacs-dash emacs-org emacs-s emacs-hydra emacs-use-package))
1690 (arguments
1691 (list
1692 #:phases
1693 #~(modify-phases %standard-phases
1694 (add-after 'unpack 'require-hydra
1695 (lambda _
1696 (substitute* "unpackaged.el"
1697 ((";;; Code:") ";;; Code:\n(require 'hydra)")))))))
1698 (home-page "https://github.com/alphapapa/unpackaged.el")
1699 (synopsis "Useful snippets of Emacs Lisp code")
1700 (description "This package provides Emacs Lisp utilities for a variety
1701 of tasks, including version control, task management, and regex-based
1702 replacement.")
1703 (license license:gpl3+))))
1704
1705 (define-public emacs-haskell-mode
1706 (let ((revision "0")
1707 (commit "5a9f8072c7b9168f0a8409adf9d62a3e4ad4ea3d"))
1708 (package
1709 (name "emacs-haskell-mode")
1710 (version (git-version "17.2" revision commit))
1711 (source
1712 (origin
1713 (method git-fetch)
1714 (uri (git-reference
1715 (url "https://github.com/haskell/haskell-mode")
1716 (commit commit)))
1717 (file-name (git-file-name name version))
1718 (sha256
1719 (base32 "0np1wrwdq7b9hpqpl9liampacnkx6diphyk8h2sbz2mfn9qr7pxs"))))
1720 (propagated-inputs
1721 (list emacs-dash))
1722 (native-inputs
1723 (list emacs-minimal emacs-el-search emacs-stream texinfo))
1724 (build-system gnu-build-system)
1725 (arguments
1726 (list
1727 #:make-flags #~(list
1728 (string-append "EMACS=" #$emacs-minimal "/bin/emacs"))
1729 #:modules `((ice-9 match)
1730 (srfi srfi-26)
1731 ((guix build emacs-build-system) #:prefix emacs:)
1732 ,@%gnu-build-system-modules)
1733 #:imported-modules `(,@%gnu-build-system-modules
1734 (guix build emacs-build-system)
1735 (guix build emacs-utils))
1736 #:phases
1737 #~(modify-phases %standard-phases
1738 (delete 'configure)
1739 (add-before 'build 'pre-build
1740 (lambda* (#:key inputs #:allow-other-keys)
1741 (define (el-dir store-dir)
1742 (match (find-files store-dir "\\.el$")
1743 ((f1 f2 ...) (dirname f1))
1744 (_ "")))
1745
1746 (let ((sh (search-input-file inputs "/bin/sh")))
1747 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
1748
1749 (setenv "SHELL" "sh")
1750 (setenv "EMACSLOADPATH"
1751 (string-concatenate
1752 (map (match-lambda
1753 (((? emacs-prefix? name) . dir)
1754 (string-append (el-dir dir) ":"))
1755 (_ ""))
1756 inputs)))
1757 (substitute* (find-files "." "\\.el") (("/bin/sh") sh)))))
1758 (add-before 'check 'delete-failing-tests
1759 ;; XXX: these tests require GHC executable, which would be a big
1760 ;; native input.
1761 (lambda _
1762 (with-directory-excursion "tests"
1763 ;; File `haskell-indent-tests.el' fails with
1764 ;; `haskell-indent-put-region-in-literate-2'
1765 ;; on Emacs 27.1+
1766 ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
1767 (for-each delete-file
1768 '("haskell-indent-tests.el"
1769 "haskell-customize-tests.el"
1770 "inferior-haskell-tests.el"))
1771
1772 ;; requires many external tools (e.g. git, hasktags)
1773 (substitute* "haskell-mode-tests.el"
1774 (("\\(ert-deftest haskell-generate-tags.*" all)
1775 (string-append all " (skip-unless nil)"))))))
1776 (replace 'install
1777 (lambda* (#:key outputs #:allow-other-keys)
1778 (let* ((out (assoc-ref outputs "out"))
1779 (el-dir (emacs:elpa-directory out))
1780 (doc (string-append
1781 out "/share/doc/haskell-mode-" #$version))
1782 (info (string-append out "/share/info")))
1783 (define (copy-to-dir dir files)
1784 (for-each (lambda (f)
1785 (install-file f dir))
1786 files))
1787
1788 (with-directory-excursion "doc"
1789 (invoke "makeinfo" "haskell-mode.texi")
1790 (install-file "haskell-mode.info" info))
1791 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
1792 (copy-to-dir el-dir (find-files "." "\\.elc?"))))))))
1793 (home-page "https://github.com/haskell/haskell-mode")
1794 (synopsis "Haskell mode for Emacs")
1795 (description
1796 "This is an Emacs mode for editing, debugging and developing Haskell
1797 programs.")
1798 (license license:gpl3+))))
1799
1800 (define-public emacs-dante
1801 (package
1802 (name "emacs-dante")
1803 (version "1.7")
1804 (source (origin
1805 (method git-fetch)
1806 (uri (git-reference
1807 (url "https://github.com/jyp/dante")
1808 (commit version)))
1809 (sha256
1810 (base32
1811 "0q7hackvaplh1f645ngd76f2ls5mvg93xicr3rkxr07hd36yihag"))
1812 (file-name (git-file-name name version))))
1813 (build-system emacs-build-system)
1814 (propagated-inputs
1815 (list emacs-company
1816 emacs-dash
1817 emacs-f
1818 emacs-flycheck
1819 emacs-haskell-mode
1820 emacs-lcr
1821 emacs-s))
1822 (home-page "https://github.com/jyp/dante")
1823 (synopsis "Minor mode for interactive Haskell")
1824 (description
1825 "This package provides a minor mode for Haskell development that
1826 supports type hints, definition-jumping, completion, and more.")
1827 (license license:gpl3+)))
1828
1829 (define-public emacs-flycheck
1830 (package
1831 (name "emacs-flycheck")
1832 (version "32")
1833 (source
1834 (origin
1835 (method git-fetch)
1836 (uri (git-reference
1837 (url "https://github.com/flycheck/flycheck/")
1838 (commit version)))
1839 (sha256
1840 (base32 "0dx6wqxz1yfp4shas4yn6abqc8bz21ks3glcyzznm3xspjdaq21s"))
1841 (file-name (git-file-name name version))))
1842 (build-system emacs-build-system)
1843 (propagated-inputs
1844 (list emacs-dash))
1845 (native-inputs
1846 (list emacs-shut-up))
1847 (arguments
1848 (list
1849 #:phases
1850 #~(modify-phases %standard-phases
1851 (add-after 'unpack 'change-flycheck-version
1852 (lambda _
1853 (substitute* "flycheck.el"
1854 (("\\(pkg-info-version-info 'flycheck\\)")
1855 (string-append "\"" #$version "\""))))))
1856 ;; TODO: many failing tests
1857 #:tests? #f
1858 #:test-command
1859 #~(list "emacs" "-Q" "--batch"
1860 "-L" "."
1861 "--load" "test/flycheck-test"
1862 "--load" "test/run.el"
1863 "-f" "flycheck-run-tests-main")))
1864 (home-page "https://www.flycheck.org")
1865 (synopsis "On-the-fly syntax checking")
1866 (description
1867 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
1868 replacement for the older Flymake extension which is part of GNU Emacs, with
1869 many improvements and additional features.
1870
1871 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
1872 checking for over 30 programming and markup languages with more than 70
1873 different tools. It highlights errors and warnings inline in the buffer, and
1874 provides an optional IDE-like error list.")
1875 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
1876
1877 (define-public emacs-flymake-flycheck
1878 (package
1879 (name "emacs-flymake-flycheck")
1880 (version "20210404.2128")
1881 (source
1882 (origin
1883 (method url-fetch)
1884 (uri (string-append "https://melpa.org/packages/flymake-flycheck-"
1885 version ".el"))
1886 (sha256
1887 (base32 "1m59ahd5gjlfwf328labwdlpcxh8ywywkwgfrlsy5jyxfc9ss4nv"))))
1888 (build-system emacs-build-system)
1889 (propagated-inputs (list emacs-flycheck))
1890 (home-page "https://github.com/purcell/flymake-flycheck")
1891 (synopsis "Use Flycheck checkers as Flymake backends")
1892 (description
1893 "This package provides support for running any Flycheck checker as a
1894 Flymake diagnostic backend. The effect is that Flymake will control when the
1895 checker runs, and Flymake will receive its errors.")
1896 (license license:gpl3+)))
1897
1898 (define-public emacs-flymake-quickdef
1899 ;; This particular commit includes bug fixes on top of 1.0.0 release.
1900 (let ((version "1.0.0")
1901 (revision "0")
1902 (commit "150c5839768a3d32f988f9dc08052978a68f2ad7"))
1903 (package
1904 (name "emacs-flymake-quickdef")
1905 (version (git-version version revision commit))
1906 (source
1907 (origin
1908 (method git-fetch)
1909 (uri (git-reference
1910 (url "https://github.com/karlotness/flymake-quickdef")
1911 (commit commit)))
1912 (file-name (git-file-name name version))
1913 (sha256
1914 (base32 "19gfd539l97j8xbrq1fw83b54mxbcamlz9m896088d3p01zf8b0g"))))
1915 (build-system emacs-build-system)
1916 (home-page "https://github.com/karlotness/flymake-quickdef")
1917 (synopsis "Quickly define a new Flymake backend")
1918 (description
1919 "This package mainly defines a macro which helps remove some of the
1920 boilerplate code from defining new Flymake backend functions.")
1921 (license license:gpl3+))))
1922
1923 (define-public emacs-flymake-kondor
1924 (package
1925 (name "emacs-flymake-kondor")
1926 (version "0.1.3")
1927 (source
1928 (origin
1929 (method git-fetch)
1930 (uri (git-reference
1931 (url "https://github.com/turbo-cafe/flymake-kondor")
1932 (commit version)))
1933 (file-name (git-file-name name version))
1934 (sha256
1935 (base32 "1vcl1q07faqqmrryyia36hbgf78g3cs51pbi0bx41yzz779ribvk"))))
1936 (build-system emacs-build-system)
1937 (home-page "https://github.com/turbo-cafe/flymake-kondor")
1938 (synopsis "Linter with clj-kondo")
1939 (description "This package adds Clojure syntax checker clj-kondo.")
1940 (license license:gpl3+)))
1941
1942 (define-public emacs-flymake-shellcheck
1943 ;; No tag, version grabbed from source .el file.
1944 (let ((commit "ac534e9ef15c82ac86ae65fe5004d29dbc8c92c7")
1945 (revision "1"))
1946 (package
1947 (name "emacs-flymake-shellcheck")
1948 (version (git-version "0.1" revision commit))
1949 (source
1950 (origin
1951 (method git-fetch)
1952 (uri (git-reference
1953 (url "https://github.com/federicotdn/flymake-shellcheck")
1954 (commit commit)))
1955 (file-name (git-file-name name version))
1956 (sha256
1957 (base32 "04yfb4sy41spjzk9mhm4gy0h8vnjx09p2g6nm1yzgd9a5ph9sqgl"))))
1958 (build-system emacs-build-system)
1959 (arguments
1960 '(#:phases
1961 (modify-phases %standard-phases
1962 (add-after 'unpack 'substitute-shellcheck-path
1963 (lambda* (#:key inputs #:allow-other-keys)
1964 (make-file-writable "flymake-shellcheck.el")
1965 (emacs-substitute-sexps "flymake-shellcheck.el"
1966 ("defcustom flymake-shellcheck-path"
1967 `(or (executable-find "shellcheck")
1968 ,(string-append (assoc-ref inputs "shellcheck")
1969 "/bin/shellcheck")))))))))
1970 (inputs
1971 (list shellcheck))
1972 (home-page "https://github.com/federicotdn/flymake-shellcheck")
1973 (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
1974 (description
1975 "This package provides a backend for Flymake to use the
1976 tool ShellCheck for static analyzing @command{bash} and @command{sh}
1977 scripts.")
1978 (license license:gpl3+))))
1979
1980 (define-public emacs-a
1981 (package
1982 (name "emacs-a")
1983 (version "1.0.0")
1984 (source (origin
1985 (method git-fetch)
1986 (uri (git-reference
1987 (url "https://github.com/plexus/a.el")
1988 (commit (string-append "v" version))))
1989 (file-name (git-file-name name version))
1990 (sha256
1991 (base32 "0zkv4xvw1jdsfxqqkxskl2l380gfs13n86hj4hhzrqf0sb6aymws"))))
1992 (build-system emacs-build-system)
1993 (home-page "https://github.com/plexus/a.el/")
1994 (synopsis
1995 "Emacs library for dealing with association lists and hash tables")
1996 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
1997 with associative structures in a uniform and functional way. These functions
1998 can take association lists, hash tables, and in some cases vectors (where the
1999 index is considered the key).")
2000 (license license:gpl3+)))
2001
2002 (define-public emacs-ace-jump-mode
2003 (package
2004 (name "emacs-ace-jump-mode")
2005 (version "2.0")
2006 (home-page "https://github.com/winterTTr/ace-jump-mode")
2007 (source (origin
2008 (method git-fetch)
2009 (uri (git-reference
2010 (url home-page)
2011 (commit (string-append "v" version))))
2012 (sha256
2013 (base32
2014 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
2015 (file-name (git-file-name name version))))
2016 (build-system emacs-build-system)
2017 (synopsis "Cursor location minor mode for fast navigation")
2018 (description "Ace-jump-mode is a fast/direct cursor location minor
2019 mode. It creates an N-Branch search tree internally and marks all
2020 the possible position with predefined keys in within the whole Emacs
2021 view. This allows you to move to the character, word, or line almost
2022 directly.")
2023 (license license:gpl3+)))
2024
2025 (define-public emacs-ahg
2026 ;; No tags; commit from 2021-04-12.
2027 (let ((commit "77bc2a628df006dcd2dc359ac12acdf8091a1356")
2028 (revision "0"))
2029 (package
2030 (name "emacs-ahg")
2031 (version (git-version "1.0.0" revision commit))
2032 (source (origin
2033 (method git-fetch)
2034 (uri (git-reference
2035 (url "https://bitbucket.org/agriggio/ahg")
2036 (commit commit)))
2037 (file-name (git-file-name name version))
2038 (sha256
2039 (base32
2040 "1wmvz9d40aznqh2y078v8k7n3l66m48vnf873vifi8rwg6158kqh"))))
2041 (build-system emacs-build-system)
2042 (home-page "https://bitbucket.org/agriggio/ahg")
2043 (synopsis "Emacs front-end for the Mercurial SCM")
2044 (description
2045 "This package provides a simple Emacs front-end for the Mercurial
2046 Distributed @acronym{Source Control Management, SCM} system.")
2047 (license license:gpl3+))))
2048
2049 (define-public emacs-alarm-clock
2050 (package
2051 (name "emacs-alarm-clock")
2052 (version "1.0.1")
2053 (source (origin
2054 (method git-fetch)
2055 (uri (git-reference
2056 (url "https://github.com/wlemuel/alarm-clock")
2057 (commit (string-append "v" version))))
2058 (file-name (git-file-name name version))
2059 (sha256
2060 (base32
2061 "11afq6lnlqdzbll015fx3031bslwfaz5362qgk2ipgqlk872559h"))))
2062 (build-system emacs-build-system)
2063 (arguments
2064 (list #:include #~(cons "alarm.mp3" %default-include)
2065 #:phases
2066 #~(modify-phases %standard-phases
2067 (add-after 'unpack 'configure
2068 (lambda* (#:key inputs #:allow-other-keys)
2069 (let ((mpg123 (search-input-file inputs "/bin/mpg123"))
2070 (notify-send
2071 (search-input-file inputs "/bin/notify-send")))
2072 (substitute* "alarm-clock.el"
2073 (("\"mpg123\"") (string-append "\"" mpg123 "\""))
2074 (("notify-send") notify-send))))))))
2075 (inputs
2076 (list libnotify mpg123))
2077 (propagated-inputs
2078 (list emacs-f))
2079 (home-page "https://github.com/wlemuel/alarm-clock")
2080 (synopsis "Alarm clock for Emacs")
2081 (description "Alarm Clock provides an alarm clock for Emacs.")
2082 (license license:gpl3+)))
2083
2084 (define-public emacs-anaphora
2085 (package
2086 (name "emacs-anaphora")
2087 (version "1.0.4")
2088 (source
2089 (origin
2090 (method git-fetch)
2091 (uri (git-reference
2092 (url "https://github.com/rolandwalker/anaphora")
2093 (commit (string-append "v" version))))
2094 (file-name (git-file-name name version))
2095 (sha256
2096 (base32
2097 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
2098 (build-system emacs-build-system)
2099 (home-page "https://github.com/rolandwalker/anaphora/")
2100 (synopsis "Anaphoric expressions for Emacs Lisp")
2101 (description "@code{emacs-anaphora} implements anaphoric expressions for
2102 Emacs Lisp.
2103
2104 Anaphoric expressions implicitly create one or more temporary variables which
2105 can be referred to during the expression. This technique can improve clarity
2106 in certain cases. It also enables recursion for anonymous functions.")
2107 (license license:public-domain)))
2108
2109 (define-public emacs-xah-fly-keys
2110 (package
2111 (name "emacs-xah-fly-keys")
2112 (version "17.13.20220526011611")
2113 (source (origin
2114 (method git-fetch)
2115 (uri (git-reference
2116 (url "https://github.com/xahlee/xah-fly-keys")
2117 (commit "b1b1ea62c3f1a329376d9125592175cf2027ebc7")))
2118 (file-name (git-file-name name version))
2119 (sha256
2120 (base32
2121 "1gv8d9zgmhzjg6zk2a7y76dz30a3l91xb1p15vldka95faz197wn"))))
2122 (build-system emacs-build-system)
2123 (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html")
2124 (synopsis "Modal keybinding system for Emacs, based on command frequency and
2125 ergonomics")
2126 (description "xah-fly-keys.el is a modal editing mode for Emacs, like Vi,
2127 but the design of key/command choice is based on command frequency statistics
2128 and ease-of-key score. Most frequently used commands have most easy keys.")
2129 (license license:gpl3)))
2130
2131 (define-public emacs-xr
2132 (package
2133 (name "emacs-xr")
2134 (version "1.23")
2135 (source
2136 (origin
2137 (method url-fetch)
2138 (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
2139 (sha256
2140 (base32 "1nz3fhd4qx8fxib78y41jvnzn27lf7mlvpkz565d5zc9q4mr300z"))))
2141 (build-system emacs-build-system)
2142 (home-page "https://elpa.gnu.org/packages/xr.html")
2143 (synopsis "Convert string regexp to rx notation")
2144 (description
2145 "This is an inverse companion to the @code{rx} package for translating
2146 regexps in string form to the @code{rx} notation. Its chief uses are:
2147
2148 @itemize
2149 @item Migrating existing code to @code{rx} form, for better readability and
2150 maintainability
2151 @item Understanding complex regexp strings and finding errors in them
2152 @end itemize
2153
2154 In addition to Emacs regexps, this package can also parse and troubleshoot
2155 skip set strings, which are arguments to @code{skip-chars-forward} and
2156 @code{skip-chars-backward}.")
2157 (license license:gpl3+)))
2158
2159 (define-public emacs-ample-regexps
2160 (let ((commit "153969ce547afe410b8986f01c9ed4087c9cd20b")
2161 (revision "2"))
2162 (package
2163 (name "emacs-ample-regexps")
2164 (version (git-version "0.1" revision commit))
2165 (source
2166 (origin
2167 (method git-fetch)
2168 (uri (git-reference
2169 (url "https://github.com/immerrr/ample-regexps.el")
2170 (commit commit)))
2171 (file-name (git-file-name name version))
2172 (sha256
2173 (base32
2174 "0dkp7bcd7h2ds40wyszy11nmh7c2jxrwy04ayz7pbxh53ir7s2k0"))))
2175 (build-system emacs-build-system)
2176 (native-inputs
2177 (list emacs-ert-runner))
2178 (arguments
2179 `(#:tests? #t
2180 #:test-command '("ert-runner" "-l" "ample-regexps")))
2181 (home-page "https://github.com/immerrr/ample-regexps.el")
2182 (synopsis "Compose and reuse Emacs regexps")
2183 (description
2184 "This package allows common parts of regexps to be easily picked out
2185 and reused.")
2186 (license license:gpl3+))))
2187
2188 (define-public emacs-airline-themes
2189 (package
2190 (name "emacs-airline-themes")
2191 (version "1.8")
2192 (source
2193 (origin
2194 (method git-fetch)
2195 (uri (git-reference
2196 (url "https://github.com/AnthonyDiGirolamo/airline-themes")
2197 (commit version)))
2198 (file-name (git-file-name name version))
2199 (sha256
2200 (base32 "1jx17g8a6pxkw4zlx3fwhqgxfzcf3019k8fklykamfrkharzsc2l"))))
2201 (build-system emacs-build-system)
2202 (propagated-inputs
2203 (list emacs-powerline))
2204 (home-page "https://github.com/AnthonyDiGirolamo/airline-themes")
2205 (synopsis "Vim-airline themes for Emacs Powerline")
2206 (description
2207 "This is a port of the themes in Vim-airline to Emacs Powerline.")
2208 (license license:expat)))
2209
2210 (define-public emacs-ample-theme
2211 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
2212 (revision "1"))
2213 (package
2214 (name "emacs-ample-theme")
2215 (version (git-version "0.0.0" revision commit))
2216 (source (origin
2217 (method git-fetch)
2218 (uri (git-reference
2219 (url "https://github.com/jordonbiondo/ample-theme")
2220 (commit commit)))
2221 (file-name (git-file-name name version))
2222 (sha256
2223 (base32
2224 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
2225 (build-system emacs-build-system)
2226 (home-page "https://github.com/jordonbiondo/ample-theme")
2227 (synopsis "Theme for Emacs providing dark, light, and flat versions")
2228 (description "Ample themes is a collection of three themes sharing a
2229 similar pallet with a light, dark and flat versions with a focus on being easy
2230 on the eyes during night and day. They only support GUI and 256 colour
2231 terminals.")
2232 (license license:gpl3+))))
2233
2234 (define-public emacs-reformatter
2235 (package
2236 (name "emacs-reformatter")
2237 (version "0.6")
2238 (source
2239 (origin
2240 (method git-fetch)
2241 (uri (git-reference
2242 (url "https://github.com/purcell/reformatter.el")
2243 (commit version)))
2244 (file-name (git-file-name name version))
2245 (sha256
2246 (base32 "1dfn7c3gpavpiwd73v2pasd8wd8b62dczhg9iv1cgh8vaqlsf92x"))))
2247 (build-system emacs-build-system)
2248 (home-page "https://github.com/purcell/reformatter.el")
2249 (synopsis "Define commands which run reformatters on the current buffer")
2250 (description
2251 "This library lets elisp authors easily define an idiomatic command to
2252 reformat the current buffer using a command-line program, together with an
2253 optional minor mode which can apply this command automatically on save.")
2254 (license license:gpl3+)))
2255
2256 (define-public emacs-relative-buffers
2257 (let ((release "0.0.1")
2258 (revision "0")
2259 (commit "9762fe268e9ff150dcec2e2e45d862d82d5c4008"))
2260 (package
2261 (name "emacs-relative-buffers")
2262 (version (git-version release revision commit))
2263 (source
2264 (origin
2265 (method git-fetch)
2266 (uri (git-reference
2267 (url "https://github.com/emacsattic/relative-buffers")
2268 (commit commit)))
2269 (file-name (git-file-name name version))
2270 (sha256
2271 (base32 "0fzhwbpyndwrmxip9zlcwkrr675l5pzwcygi45hv7w1hn39w0hxp"))
2272 (snippet
2273 '(begin
2274 ;; Delete the Cask test runners.
2275 (for-each delete-file '("Cask" "test/test-helper.el"))))))
2276 (build-system emacs-build-system)
2277 (arguments
2278 (list
2279 #:tests? #t
2280 #:test-command #~(list "ert-runner")))
2281 (native-inputs
2282 (list emacs-ert-runner))
2283 (propagated-inputs
2284 (list emacs-dash emacs-f emacs-s))
2285 (home-page "https://github.com/emacsattic/relative-buffers")
2286 (synopsis "Minor mode to rename buffers by project structure")
2287 (description
2288 "This package provides a minor mode for renaming buffers according to
2289 project structure. For Python buffers, that will be the whole module name.
2290 For temporary files and directories, that will be the relative path from the
2291 project root.")
2292 (license license:gpl3+))))
2293
2294 (define-public emacs-relint
2295 (package
2296 (name "emacs-relint")
2297 (version "1.20")
2298 (source
2299 (origin
2300 (method url-fetch)
2301 (uri (string-append "https://elpa.gnu.org/packages/"
2302 "relint-" version ".tar"))
2303 (sha256
2304 (base32 "0r20dim2r4a4bv0fmgbnq3graa7hhlai55h9qyknapqbr2j1v1h7"))))
2305 (build-system emacs-build-system)
2306 (propagated-inputs (list emacs-xr))
2307 (home-page "https://github.com/mattiase/relint")
2308 (synopsis "Elisp regexp mistake finder")
2309 (description
2310 "Relint (regular expression lint) scans Elisp files for mistakes in
2311 regexps, including deprecated syntax and bad practice. It also checks the
2312 regexp-like arguments to @code{skip-chars-forward} and
2313 @code{skip-chars-backward}.")
2314 (license license:gpl3+)))
2315
2316 (define-public emacs-bug-hunter
2317 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
2318 (revision "1"))
2319 (package
2320 (name "emacs-bug-hunter")
2321 (version (git-version "1.3.1" revision commit))
2322 (source
2323 (origin
2324 (method git-fetch)
2325 (uri (git-reference
2326 (url "https://github.com/Malabarba/elisp-bug-hunter")
2327 (commit commit)))
2328 (file-name (git-file-name name commit))
2329 (sha256
2330 (base32
2331 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
2332 (build-system emacs-build-system)
2333 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
2334 (synopsis "Hunt down errors by bisecting elisp files")
2335 (description
2336 "The Bug Hunter is an Emacs library that finds the source of an error
2337 or unexpected behavior inside an elisp configuration file (typically
2338 @file{init.el} or @file{.emacs}).")
2339 (license license:gpl3+))))
2340
2341 \f
2342 ;;;
2343 ;;; Web browsing.
2344 ;;;
2345
2346 (define-public emacs-w3m
2347 ;; Emacs-w3m follows a "rolling release" model.
2348 (package
2349 (name "emacs-w3m")
2350 (version "20220508.2259")
2351 (source (origin
2352 ;; "Officially" this is still on cvs.namazu.org, but that repo
2353 ;; seems to be unreachable.
2354 (method git-fetch)
2355 (uri (git-reference
2356 (url "https://github.com/emacs-w3m/emacs-w3m.git")
2357 (commit "bbcebbe20ebfa807a3e4beaadf40ce6f4be213e7")))
2358 (sha256
2359 (base32
2360 "0y892n8jaxzyxi1fgyklc7zfh57ibp4yyywmif69dm28hykj6lmz"))))
2361 (build-system gnu-build-system)
2362 (native-inputs (list autoconf texinfo emacs-minimal))
2363 (inputs (list w3m imagemagick))
2364 (arguments
2365 (list
2366 #:modules '((guix build gnu-build-system)
2367 ((guix build emacs-build-system) #:prefix emacs:)
2368 (guix build utils)
2369 (guix build emacs-utils))
2370 #:imported-modules `(,@%gnu-build-system-modules
2371 (guix build emacs-build-system)
2372 (guix build emacs-utils))
2373 #:configure-flags
2374 #~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
2375 (string-append "--with-icondir="
2376 #$output "/share/images/emacs-w3m")
2377 ;; Leave .el files uncompressed, otherwise GC can't
2378 ;; identify run-time dependencies. See
2379 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
2380 "--without-compress-install")
2381 #:tests? #f ; no check target
2382 #:phases
2383 #~(modify-phases %standard-phases
2384 (add-after 'unpack 'autoconf
2385 (lambda _
2386 (invoke "autoconf")))
2387 (add-before 'configure 'support-emacs!
2388 (lambda _
2389 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
2390 ;; unsupported.
2391 (substitute* "configure"
2392 (("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
2393 (add-before 'build 'patch-exec-paths
2394 (lambda* (#:key inputs outputs #:allow-other-keys)
2395 (let ((out (assoc-ref outputs "out")))
2396 (make-file-writable "w3m.el")
2397 (emacs-substitute-variables "w3m.el"
2398 ("w3m-command" (search-input-file inputs "/bin/w3m"))
2399 ("w3m-touch-command" (search-input-file inputs "/bin/touch"))
2400 ("w3m-icon-directory"
2401 (string-append out "/share/images/emacs-w3m")))
2402 (make-file-writable "w3m-image.el")
2403 (emacs-substitute-variables "w3m-image.el"
2404 ("w3m-imagick-convert-program"
2405 (search-input-file inputs "/bin/convert"))
2406 ("w3m-imagick-identify-program"
2407 (search-input-file inputs "/bin/identify"))))))
2408 (replace 'install
2409 (lambda* (#:key outputs #:allow-other-keys)
2410 (invoke "make" "install" "install-icons")
2411 (with-directory-excursion
2412 (emacs:elpa-directory (assoc-ref outputs "out"))
2413 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
2414 (symlink "w3m-load.el" "w3m-autoloads.el")))))))
2415 (home-page "http://emacs-w3m.namazu.org/")
2416 (synopsis "Simple Web browser for Emacs based on w3m")
2417 (description
2418 "Emacs-w3m is an emacs interface for the w3m web browser.")
2419 (license license:gpl2+)))
2420
2421 (define-public emacs-wget
2422 (package
2423 (name "emacs-wget")
2424 (version "0.5.0")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
2429 version ".orig.tar.gz"))
2430 (sha256
2431 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
2432 (build-system emacs-build-system)
2433 (inputs (list wget))
2434 (native-inputs
2435 (list emacs-minimal))
2436 (arguments
2437 `(#:tests? #f ;no check target
2438 #:phases
2439 (modify-phases %standard-phases
2440 (add-after 'unpack 'patch-exec-paths
2441 (lambda* (#:key inputs outputs #:allow-other-keys)
2442 (emacs-substitute-variables "wget.el"
2443 ("wget-command" (search-input-file inputs "/bin/wget"))))))))
2444 (home-page "https://www.emacswiki.org/emacs/EmacsWget")
2445 (synopsis "Simple file downloader for Emacs based on wget")
2446 (description
2447 "Emacs-wget is an emacs interface for the wget file downloader.")
2448 (license license:gpl2+)))
2449
2450 (define-public emacs-eww-lnum
2451 (package
2452 (name "emacs-eww-lnum")
2453 (version "1.1")
2454 (source (origin
2455 (method git-fetch)
2456 (uri (git-reference
2457 (url "https://github.com/m00natic/eww-lnum")
2458 (commit version)))
2459 (file-name (git-file-name name version))
2460 (sha256
2461 (base32
2462 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
2463 (build-system emacs-build-system)
2464 (home-page "https://github.com/m00natic/eww-lnum")
2465 (synopsis "Conkeror-like functionality for Eww")
2466 (description "This is extension to the Emacs browser Eww that adds
2467 Conkeror-like functionality. In short, currently visible links, forms,
2468 buttons are temporarily assigned numbers with which the former can be
2469 immediately activated. Also filtering can be applied so selection can be
2470 incrementally confined in Isearch manner.")
2471 (license license:gpl3+)))
2472
2473
2474 \f
2475 ;;;
2476 ;;; Multimedia.
2477 ;;;
2478
2479 (define emacs-emms-print-metadata
2480 (package
2481 (name "emacs-emms-print-metadata")
2482 (version "12")
2483 (source
2484 (origin
2485 (method url-fetch)
2486 (uri (string-append "https://elpa.gnu.org/packages/"
2487 "emms-" version ".tar"))
2488 (sha256
2489 (base32 "048ijrpw6s4k7zr78fzc3ksjjri6mnyp6c47h5lp5nw5gvm4np7a"))))
2490 (build-system gnu-build-system)
2491 (arguments
2492 (list
2493 #:make-flags #~(list "emms-print-metadata")
2494 #:tests? #f ; No tests.
2495 #:phases
2496 #~(modify-phases %standard-phases
2497 (delete 'configure)
2498 (replace 'install
2499 (lambda _
2500 (install-file "src/emms-print-metadata"
2501 (string-append #$output "/bin"))
2502 (install-file "emms-print-metadata.1"
2503 (string-append #$output "/share/man/man1")))))))
2504 (inputs
2505 (list taglib))
2506 (home-page "https://www.gnu.org/software/emms/")
2507 (synopsis "The Emacs Multimedia System")
2508 (description
2509 "EMMS is the Emacs Multimedia System. It is a small front-end which
2510 can control one of the supported external players. Thus, it supports
2511 whatever formats are supported by your music player. It also
2512 supports tagging and playlist management, all behind a clean and
2513 light user interface.")
2514 (license license:gpl3+)))
2515
2516 (define-public emacs-emms
2517 (package
2518 (inherit emacs-emms-print-metadata)
2519 (name "emacs-emms")
2520 (build-system emacs-build-system)
2521 (arguments
2522 `(#:phases
2523 (modify-phases %standard-phases
2524 (add-after 'unpack 'set-external-programs
2525 ;; Specify the absolute file names of the various programs
2526 ;; so that everything works out-of-the-box. (tinytag missing)
2527 (lambda* (#:key inputs #:allow-other-keys)
2528 (let ((amixer (search-input-file inputs "/bin/amixer"))
2529 (emms-print-metadata
2530 (search-input-file inputs "/bin/emms-print-metadata"))
2531 (exiftool (search-input-file inputs "/bin/exiftool"))
2532 (metaflac (search-input-file inputs "/bin/metaflac"))
2533 (mp3info (search-input-file inputs "/bin/mp3info"))
2534 (mpg321 (search-input-file inputs "/bin/mpg321"))
2535 (mid3v2 (search-input-file inputs "/bin/mid3v2"))
2536 (ogg123 (search-input-file inputs "/bin/ogg123"))
2537 (ogginfo (search-input-file inputs "/bin/ogginfo"))
2538 (opusinfo (search-input-file inputs "/bin/opusinfo"))
2539 (vorbiscomment (search-input-file inputs "/bin/vorbiscomment")))
2540 (emacs-substitute-variables "emms-player-mpg321-remote.el"
2541 ("emms-player-mpg321-remote-command"
2542 (string-append mpg321 "/bin/mpg321")))
2543 (substitute* "emms-player-simple.el"
2544 (("\"ogg123\"") (string-append "\"" ogg123 "\"")))
2545 (substitute* "emms-player-simple.el"
2546 (("\"mpg321\"") (string-append "\"" mpg321 "\"")))
2547 (emacs-substitute-variables "emms-info-ogginfo.el"
2548 ("emms-info-ogginfo-program-name" ogginfo))
2549 (emacs-substitute-variables "emms-info-opusinfo.el"
2550 ("emms-info-opusinfo-program-name" opusinfo))
2551 (emacs-substitute-variables "emms-info-libtag.el"
2552 ("emms-info-libtag-program-name" emms-print-metadata))
2553 (emacs-substitute-variables "emms-info-mp3info.el"
2554 ("emms-info-mp3info-program-name" mp3info))
2555 (emacs-substitute-variables "emms-info-metaflac.el"
2556 ("emms-info-metaflac-program-name" metaflac))
2557 (emacs-substitute-variables "emms-source-file.el"
2558 ("emms-source-file-gnu-find" (which "find")))
2559 (substitute* "emms-volume-amixer.el"
2560 (("\"amixer\"") (string-append "\"" amixer "\"")))
2561 (substitute* "emms-tag-editor.el"
2562 (("\"mid3v2\"") (string-append "\"" mid3v2 "\""))
2563 (("\"vorbiscomment\"")
2564 (string-append "\"" vorbiscomment "\"")))
2565 (substitute* "emms-info-exiftool.el"
2566 (("\"exiftool\"") (string-append "\"" exiftool "\"")))))))))
2567 (inputs
2568 (list emacs-emms-print-metadata
2569 alsa-utils
2570 flac ;for metaflac
2571 vorbis-tools
2572 mpg321
2573 mp3info
2574 python-mutagen
2575 perl-image-exiftool
2576 opus-tools))))
2577
2578 (define-public emacs-emms-mode-line-cycle
2579 (package
2580 (name "emacs-emms-mode-line-cycle")
2581 (version "0.2.5")
2582 (source
2583 (origin
2584 (method git-fetch)
2585 (uri (git-reference
2586 (url "https://github.com/momomo5717/emms-mode-line-cycle")
2587 (commit version)))
2588 (file-name (git-file-name name version))
2589 (sha256
2590 (base32
2591 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
2592 (build-system emacs-build-system)
2593 (propagated-inputs
2594 (list emacs-emms))
2595 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
2596 (synopsis "Display the EMMS mode line as a ticker")
2597 (description
2598 "This is a minor mode for updating the EMMS mode-line string cyclically
2599 within a specified width. It is useful for displaying long track titles.")
2600 (license license:gpl3+)))
2601
2602 (define-public emacs-emprise
2603 (package
2604 (name "emacs-emprise")
2605 (version "0.3.0")
2606 (source
2607 (origin
2608 (method git-fetch)
2609 (uri (git-reference
2610 (url "https://git.sr.ht/~plattfot/emprise")
2611 (commit (string-append "v" version))))
2612 (sha256
2613 (base32
2614 "0yddvvpjdcgsiwv24jbddkgl5r1lxgz037akjln6z9acx9qrc8px"))
2615 (file-name (git-file-name name version))))
2616 (build-system emacs-build-system)
2617 (home-page "https://sr.ht/~plattfot/emprise")
2618 (synopsis "Control MPRIS supported media players from Emacs")
2619 (description "This package provides a set of commands to control media
2620 players that supports the Media Player Remote Interfacing
2621 Specification (MPRIS) protocol from Emacs. It uses Emacs' Completing Read
2622 framework as the user interface, which integrates well with Vertico or
2623 Selectrum.")
2624 (license license:gpl3+)))
2625
2626 (define-public emacs-marginalia-emprise
2627 (package
2628 (name "emacs-marginalia-emprise")
2629 (version "0.2.0")
2630 (source
2631 (origin
2632 (method git-fetch)
2633 (uri (git-reference
2634 (url "https://git.sr.ht/~plattfot/marginalia-emprise")
2635 (commit (string-append "v" version))))
2636 (sha256
2637 (base32
2638 "1kbk3kgvv1k5zdysvpgcsbxiwn4la3vvnmv3sbzxq7q5v5cr4a54"))
2639 (file-name (git-file-name name version))))
2640 (build-system emacs-build-system)
2641 (propagated-inputs
2642 (list emacs-emprise emacs-marginalia))
2643 (home-page "https://sr.ht/~plattfot/emprise/")
2644 (synopsis "Annotate Emprise with Marginalia")
2645 (description "This package provides an annotation function to show
2646 playback status, artist name and title for Emprise using Marginalia.")
2647 (license license:gpl3+)))
2648
2649 \f
2650 ;;;
2651 ;;; Miscellaneous.
2652 ;;;
2653
2654 (define-public emacs-ace-link
2655 (package
2656 (name "emacs-ace-link")
2657 (version "0.5.0")
2658 (source
2659 (origin
2660 (method git-fetch)
2661 (uri (git-reference
2662 (url "https://github.com/abo-abo/ace-link")
2663 (commit version)))
2664 (file-name (git-file-name name version))
2665 (sha256
2666 (base32
2667 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
2668 (build-system emacs-build-system)
2669 (propagated-inputs
2670 (list emacs-avy))
2671 (home-page "https://github.com/abo-abo/ace-link")
2672 (synopsis "Quickly follow links in Emacs")
2673 (description
2674 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
2675 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
2676 @code{goto-address-mode} buffer, you can tab through the links to select the
2677 one you want. This is an O(N) operation, where the N is the amount of links.
2678 This package turns this into an O(1) operation. It does so by assigning a
2679 letter to each link using avy.")
2680 (license license:gpl3+)))
2681
2682 (define-public emacs-app-launcher
2683 ;; XXX: Upstream did not tag any commit so far. Base version is extracted
2684 ;; from Version keyword.
2685 (let ((commit "d5015e394b0a666a8c7c4d4bdf786266e773b145")
2686 (revision "0"))
2687 (package
2688 (name "emacs-app-launcher")
2689 (version (git-version "0.1" revision commit))
2690 (source
2691 (origin
2692 (method git-fetch)
2693 (uri (git-reference
2694 (url "https://github.com/SebastienWae/app-launcher")
2695 (commit commit)))
2696 (file-name (git-file-name name version))
2697 (sha256
2698 (base32 "0l97ajy27awydyd4gc6323wyhpm5vm2db6i0lp5gqaxi9fp7jivp"))))
2699 (build-system emacs-build-system)
2700 (home-page "https://github.com/SebastienWae/app-launcher")
2701 (synopsis "Use Emacs standard completion to launch applications")
2702 (description "This package defines the @code{app-launcher-run-app}
2703 command, which uses Emacs standard completion to select an application
2704 installed on your machine and launch it.")
2705 (license license:gpl3+))))
2706
2707 (define-public emacs-alchemist
2708 (package
2709 (name "emacs-alchemist")
2710 (version "1.8.2")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append "https://stable.melpa.org/packages/"
2715 "alchemist-" version ".tar"))
2716 (sha256
2717 (base32 "0ygwf9d739zqc8dcckw0j0bqkipw7cmxbrx3l281x237a3d384yw"))))
2718 (build-system emacs-build-system)
2719 (propagated-inputs
2720 (list emacs-elixir-mode emacs-dash emacs-company emacs-pkg-info))
2721 (home-page "http://www.github.com/tonini/alchemist.el")
2722 (synopsis "Elixir tooling integration into Emacs")
2723 (description
2724 "This package brings you all the Elixir tooling and power inside your Emacs
2725 editor. It comes with commands to compile, execute and test your code, spawn
2726 an interactive shell, and look up definitions and documentation as well as
2727 code completion and project management support.")
2728 (license license:gpl3+)))
2729
2730 (define-public emacs-auto-sudoedit
2731 (package
2732 (name "emacs-auto-sudoedit")
2733 (version "1.1.0")
2734 (source
2735 (origin
2736 (method git-fetch)
2737 (uri (git-reference
2738 (url "https://github.com/ncaq/auto-sudoedit")
2739 (commit (string-append "v" version))))
2740 (file-name (git-file-name name version))
2741 (sha256
2742 (base32 "1rhdvrj2rjbvl7vkb0wcp6krqxcaigl7jk9z8yvhx6s4cm2qli6q"))))
2743 (propagated-inputs
2744 (list emacs-f))
2745 (build-system emacs-build-system)
2746 (home-page "https://github.com/ncaq/auto-sudoedit")
2747 (synopsis "Automatically re-open read-only files with sudo")
2748 (description
2749 "This package automatically reopens a file or directory with
2750 @command{sudo} if it cannot write to it.")
2751 (license license:expat)))
2752
2753 (define-public emacs-read-only-cfg
2754 ;; XXX: Upstream has no tagged release. Version is extracted from keyword
2755 ;; in main file.
2756 (let ((commit "c128c9412f768adf89ff5c4ad433cf0beab6656a")
2757 (revision "0"))
2758 (package
2759 (name "emacs-read-only-cfg")
2760 (version (git-version "0.1.0" revision commit))
2761 (source
2762 (origin
2763 (method git-fetch)
2764 (uri (git-reference
2765 (url "https://github.com/pfchen/read-only-cfg")
2766 (commit commit)))
2767 (file-name (git-file-name name version))
2768 (sha256
2769 (base32 "11zj4ysmacvz82j1siqlcp30i05my20lscls8wkdjl75g9d2b12l"))))
2770 (build-system emacs-build-system)
2771 (home-page "https://github.com/pfchen/read-only-cfg")
2772 (synopsis "Make files read-only based on user configuration")
2773 (description
2774 "Read-only-cfg is an Emacs minor mode that can automatically make files
2775 read-only based on user configuration. User configuration may be prefix
2776 directories or regex patterns.")
2777 (license license:gpl3+))))
2778
2779 (define-public emacs-bbdb
2780 (package
2781 (name "emacs-bbdb")
2782 (version "3.2.2.2")
2783 (source
2784 (origin
2785 (method url-fetch)
2786 (uri (string-append "https://elpa.gnu.org/packages/"
2787 "bbdb-" version ".tar"))
2788 (sha256
2789 (base32 "0bf20r5xhxln6z4qp8zrlln0303dkci2ydsr74pxcj08aqgk5xxf"))))
2790 (build-system emacs-build-system)
2791 (arguments
2792 ;; XXX: The following file cannot be byte-compiled, because et requires
2793 ;; `vm-autoloads', from the VM package, with is neither in Emacs nor
2794 ;; packaged in Guix. So, don't bother for now.
2795 `(#:exclude '("bbdb-vm\\.el")))
2796 (home-page "http://elpa.gnu.org/packages/bbdb.html")
2797 (synopsis "Contact management utility for Emacs")
2798 (description
2799 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
2800 an address book for email and snail mail addresses, phone numbers and the
2801 like. It can be linked with various Emacs mail clients (Message and Mail
2802 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
2803 (license license:gpl3+)))
2804
2805 (define-public emacs-beacon
2806 (package
2807 (name "emacs-beacon")
2808 (version "1.3.4")
2809 (source
2810 (origin
2811 (method git-fetch)
2812 (uri (git-reference
2813 (url "https://github.com/Malabarba/beacon")
2814 (commit version)))
2815 (file-name (git-file-name name version))
2816 (sha256
2817 (base32
2818 "0mypzfasclq7bmw0i8hfyp8c1ycd3kdgd5h1faygzh9r0phh7ciy"))))
2819 (build-system emacs-build-system)
2820 (home-page "https://github.com/Malabarba/beacon")
2821 (synopsis "Emacs minor mode creating a light that follows your cursor around")
2822 (description
2823 "Beacon is an Emacs minor-mode. Whenever the window scrolls a light will
2824 shine on top of your cursor so you know where it is.")
2825 (license license:gpl3+)))
2826
2827 (define-public emacs-counsel-bbdb
2828 (package
2829 (name "emacs-counsel-bbdb")
2830 (version "0.0.5")
2831 (source
2832 (origin
2833 (method git-fetch)
2834 (uri (git-reference
2835 (url "https://github.com/redguardtoo/counsel-bbdb")
2836 (commit version)))
2837 (file-name (git-file-name name version))
2838 (sha256
2839 (base32 "1jrj7hx6y518np3xcnarbj0c43lglcf9gww3fhfqp7lzxl9hvi8s"))))
2840 (build-system emacs-build-system)
2841 (propagated-inputs (list emacs-bbdb emacs-ivy))
2842 (home-page "https://github.com/redguardtoo/counsel-bbdb")
2843 (synopsis "Ivy interface for BBDB")
2844 (description "This Ivy extension enables the use of @code{ivy-mode} to input
2845 email addresses from BBDB efficiently. The main functions are:
2846 @table @code
2847 @item counsel-bbdb-complete-mail to input email addresses;
2848 @item counsel-bbdb-reload' to reload contacts from BBDB database;
2849 @item counsel-bbdb-expand-mail-alias to expand mail alias.
2850 @end table
2851 Since @code{counsel-bbdb} is based on @code{ivy-mode}, all Ivy key bindings
2852 are supported. For example, after @samp{C-u M-x counsel-bbdb-complete-mail},
2853 you can press @samp{C-M-n} to input multiple email addresses.")
2854 (license license:gpl3+)))
2855
2856 (define-public emacs-bluetooth
2857 (package
2858 (name "emacs-bluetooth")
2859 (version "0.3.1")
2860 (source
2861 (origin
2862 (method url-fetch)
2863 (uri (string-append "https://elpa.gnu.org/packages/"
2864 "bluetooth-" version ".tar"))
2865 (sha256
2866 (base32 "1p10kcim5wqnbj2kiqv6hgjkzznaa48qysnnf8ym90mylsczr70z"))))
2867 (build-system emacs-build-system)
2868 (inputs
2869 (list bluez dbus))
2870 (propagated-inputs
2871 (list emacs-dash))
2872 (home-page "https://gitlab.com/rstocker/emacs-bluetooth")
2873 (synopsis "Manage Bluetooth devices using Emacs")
2874 (description
2875 "This package implements basic Bluetooth management functionality, such
2876 as connecting and disconnecting devices, setting properties and aliases,
2877 putting the adapter in discovery mode and controlling its power supply. It
2878 also includes a pairing agent.")
2879 (license license:gpl3+)))
2880
2881 (define-public emacs-aggressive-indent
2882 (package
2883 (name "emacs-aggressive-indent")
2884 (version "1.10.0")
2885 (source (origin
2886 (method url-fetch)
2887 (uri (string-append "https://elpa.gnu.org/packages/"
2888 "aggressive-indent-" version ".tar"))
2889 (sha256
2890 (base32
2891 "166jk1z0vw481lfi3gbg7f9vsgwfv8fiyxpkfphgvgcmf5phv4q1"))))
2892 (build-system emacs-build-system)
2893 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
2894 (synopsis "Minor mode to aggressively keep your code always indented")
2895 (description
2896 "@code{aggressive-indent-mode} is a minor mode that keeps your code
2897 always indented. It reindents after every change, making it more reliable
2898 than @code{electric-indent-mode}.")
2899 (license license:gpl2+)))
2900
2901 (define-public emacs-gcmh
2902 ;; No tagged release upstream, but the commit below correspond to the 0.2.1
2903 ;; release.
2904 (let ((commit "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9"))
2905 (package
2906 (name "emacs-gcmh")
2907 (version "0.2.1")
2908 (source
2909 (origin
2910 (method git-fetch)
2911 (uri (git-reference
2912 (url "https://gitlab.com/koral/gcmh")
2913 (commit commit)))
2914 (sha256
2915 (base32 "0yh1ap8phv3x44rp0yr6z884xqw2apanbx4c0acqglvj0gaaqx25"))
2916 (file-name (git-file-name name version))))
2917 (build-system emacs-build-system)
2918 (home-page "https://gitlab.com/koral/gcmh")
2919 (synopsis "Emacs Garbage Collector Magic Hack")
2920 (description
2921 "This package enforces a sneaky @dfn{garbage collector} (GC) strategy
2922 to minimize GC interference with the activity. During normal use a high GC
2923 threshold is set. When idling GC is immediately triggered and a low threshold
2924 is set.")
2925 (license license:gpl3+))))
2926
2927 (define-public emacs-ctrlf
2928 (package
2929 (name "emacs-ctrlf")
2930 (version "1.5")
2931 (source
2932 (origin
2933 (method git-fetch)
2934 (uri (git-reference
2935 (url "https://github.com/raxod502/ctrlf")
2936 (commit (string-append "v" version))))
2937 (file-name (git-file-name name version))
2938 (sha256
2939 (base32 "1nd1yk86s0dyf87q77dg724f6629p270q3ar85jgp8gclw5plvyz"))))
2940 (build-system emacs-build-system)
2941 (home-page "https://github.com/raxod502/ctrlf/")
2942 (synopsis "Single-buffer text search in Emacs")
2943 (description "CTRLF (pronounced @emph{control F}) is an intuitive and
2944 efficient solution for single-buffer text search in Emacs, replacing packages
2945 such as Isearch, Swiper, and helm-swoop. It takes inspiration from the
2946 widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as
2947 web browsers, but follows the flow and keybindings of Isearch.")
2948 (license license:expat)))
2949
2950 (define-public emacs-dhall-mode
2951 ;; There is no proper release. The base version is extracted from the
2952 ;; "Version" keyword in the main file.
2953 (let ((revision "1")
2954 (commit "484bcf8f78f1183ef45c3b04a362bb73690c6b9b"))
2955 (package
2956 (name "emacs-dhall-mode")
2957 (version (git-version "0.1.3" revision commit))
2958 (source
2959 (origin
2960 (method git-fetch)
2961 (uri
2962 (git-reference
2963 (url "https://github.com/psibi/dhall-mode")
2964 (commit commit)))
2965 (file-name (git-file-name name version))
2966 (sha256
2967 (base32 "1wggg8jlzg9rph4jhxp6yiri178rnasbv38838i973kjgqjxrl76"))))
2968 (build-system emacs-build-system)
2969 (propagated-inputs
2970 (list emacs-reformatter))
2971 (home-page "https://github.com/psibi/dhall-mode")
2972 (synopsis "Major mode for working with Dhall configuration language")
2973 (description
2974 "Dhall-mode provides an Emacs Major mode for working with the Dhall
2975 configuration language. It features:
2976
2977 @itemize
2978 @item Syntax highlighting
2979 @item Multiline support for String
2980 @item Basic indentation, commenting
2981 @item Automatic formatting on save using dhall-format.
2982 @item Error highlighting.
2983 @end itemize")
2984 (license license:gpl3+))))
2985
2986 (define-public emacs-link-hint
2987 ;; Last release was in 2015.
2988 (let ((commit "83cd0489b16f013647d0507ef20905a0a91db433")
2989 (revision "4"))
2990 (package
2991 (name "emacs-link-hint")
2992 (version (git-version "0.1" revision commit))
2993 (source
2994 (origin
2995 (method git-fetch)
2996 (uri (git-reference
2997 (url "https://github.com/noctuid/link-hint.el")
2998 (commit commit)))
2999 (file-name (git-file-name name version))
3000 (sha256
3001 (base32
3002 "0kwaia6i0asr7yqcw1anzq6lf93357cc1fphkvp0llbmxizmkzb3"))))
3003 (build-system emacs-build-system)
3004 (propagated-inputs
3005 (list emacs-avy))
3006 (home-page "https://github.com/noctuid/link-hint.el")
3007 (synopsis "Vimperator-style link-hinting in Emacs")
3008 (description "This package provides commands for visiting and acting on
3009 links.")
3010 (license license:gpl3+))))
3011
3012 (define-public emacs-ag
3013 (package
3014 (name "emacs-ag")
3015 (version "0.48")
3016 (source
3017 (origin
3018 (method git-fetch)
3019 (uri (git-reference
3020 (url "https://github.com/Wilfred/ag.el")
3021 (commit version)))
3022 (file-name (git-file-name name version))
3023 (sha256
3024 (base32 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
3025 (build-system emacs-build-system)
3026 (arguments
3027 (list
3028 #:phases
3029 #~(modify-phases %standard-phases
3030 (add-after 'unpack 'substitute-ag-path
3031 (lambda* (#:key inputs #:allow-other-keys)
3032 (make-file-writable "ag.el")
3033 (emacs-substitute-variables "ag.el"
3034 ("ag-executable" (search-input-file inputs "/bin/ag")))))
3035 (add-before 'install 'make-info
3036 (lambda _
3037 (with-directory-excursion "docs"
3038 (invoke "make" "info"))))
3039 (add-after 'install 'install-info
3040 (lambda _
3041 (install-file "docs/_build/texinfo/agel.info"
3042 (string-append #$output "/share/info")))))))
3043 (inputs (list the-silver-searcher)) ; 'ag' executable
3044 (native-inputs
3045 (list python-sphinx texinfo))
3046 (propagated-inputs
3047 (list emacs-dash emacs-s))
3048 (home-page "https://github.com/Wilfred/ag.el")
3049 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
3050 (description "This package provides the ability to use the silver
3051 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
3052 include version control system awareness, use of Perl compatible regular
3053 expressions, editing the search results directly and searching file names
3054 rather than the contents of files.")
3055 (license license:gpl3+)))
3056
3057 (define-public emacs-aio
3058 (package
3059 (name "emacs-aio")
3060 (version "1.0")
3061 (source (origin
3062 (method git-fetch)
3063 (uri (git-reference
3064 (url "https://github.com/skeeto/emacs-aio")
3065 (commit version)))
3066 (file-name (git-file-name name version))
3067 (sha256
3068 (base32
3069 "1y7j10j74r3fy0rcb8g3cm9nlls34qb0pz9xkia7psp77syrlz54"))))
3070 (build-system emacs-build-system)
3071 (arguments
3072 `(#:tests? #t
3073 #:test-command '("emacs" "--batch"
3074 "-l" "aio-test.el"
3075 "-f" "ert-run-tests-batch-and-exit")))
3076 (propagated-inputs
3077 (list emacs-elfeed emacs-skewer-mode))
3078 (home-page "https://github.com/skeeto/emacs-aio")
3079 (synopsis "Async/Await for Emacs Lisp")
3080 (description "@code{aio} is to Emacs Lisp as @code{asyncio} is to
3081 Python. This package builds upon Emacs generators to provide functions that
3082 pause while they wait on asynchronous events. They do not block any thread
3083 while paused.")
3084 (license license:unlicense)))
3085
3086 (define-public emacs-async
3087 (package
3088 (name "emacs-async")
3089 (home-page "https://github.com/jwiegley/emacs-async")
3090 (version "1.9.7")
3091 (source (origin
3092 (method git-fetch)
3093 (uri (git-reference
3094 (url home-page)
3095 (commit (string-append "v" version))))
3096 (file-name (git-file-name name version))
3097 (sha256
3098 (base32
3099 "18pysi1pf6hbv6w0nq50j5xclvgd006iqqijh44wck9hxhdwyfr1"))))
3100 (build-system emacs-build-system)
3101 (synopsis "Asynchronous processing in Emacs")
3102 (description
3103 "This package provides the ability to call asynchronous functions and
3104 processes. For example, it can be used to run dired commands (for copying,
3105 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
3106 as a library for other Emacs packages.")
3107 (license license:gpl3+)))
3108
3109 (define-public emacs-auctex
3110 (package
3111 (name "emacs-auctex")
3112 (version "13.1.5")
3113 (source
3114 (origin
3115 (method url-fetch)
3116 (uri (string-append "https://elpa.gnu.org/packages/"
3117 "auctex-" version ".tar"))
3118 (sha256
3119 (base32 "00g6js6089637w8alch4dvk140chjkyirsa8inh9ai6a6kkfvc3p"))))
3120 (build-system emacs-build-system)
3121 ;; We use 'emacs' because AUCTeX requires dbus at compile time
3122 ;; ('emacs-minimal' does not provide dbus).
3123 (arguments
3124 `(#:emacs ,emacs
3125 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
3126 #:exclude '("^tests/" "^latex/README")
3127 #:phases
3128 (modify-phases %standard-phases
3129 (add-after 'unpack 'configure
3130 (lambda* (#:key inputs #:allow-other-keys)
3131 (emacs-substitute-variables "preview.el"
3132 ("preview-gs-command"
3133 (search-input-file inputs "/bin/gs")))
3134 (substitute* "preview.el"
3135 (("\"dvipng ")
3136 (let ((dvipng (search-input-file inputs "/bin/dvipng")))
3137 (string-append "\"" dvipng " ")))
3138 (("\"dvips ")
3139 (let ((dvips (search-input-file inputs "/bin/dvips")))
3140 (string-append "\"" dvips " ")))
3141 (("\"pdf2dsc ")
3142 (let ((pdf2dsc (search-input-file inputs "/bin/pdf2dsc")))
3143 (string-append "\"" pdf2dsc " "))))))
3144 (add-after 'install 'install-doc
3145 (lambda* (#:key outputs #:allow-other-keys)
3146 (let* ((out (assoc-ref outputs "out"))
3147 (etc-dir (string-append out "/share/" ,name "/"
3148 ,version "/etc")))
3149 (with-directory-excursion "doc"
3150 (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm
3151 (invoke "pdftex" "tex-ref")
3152 (install-file "tex-ref.pdf"
3153 (string-append etc-dir "/refcards")))))))))
3154 (native-inputs
3155 (list perl))
3156 (inputs
3157 (list ghostscript
3158 (texlive-updmap.cfg (list texlive-amsfonts))))
3159 (home-page "https://www.gnu.org/software/auctex/")
3160 (synopsis "Integrated environment for TeX")
3161 (description
3162 "AUCTeX is a comprehensive customizable integrated environment for
3163 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
3164 or XEmacs.")
3165 (license license:gpl3+)))
3166
3167 (define-public emacs-autothemer
3168 (package
3169 (name "emacs-autothemer")
3170 (version "0.2.14")
3171 (source
3172 (origin
3173 (method git-fetch)
3174 (uri (git-reference
3175 (url "https://github.com/sebastiansturm/autothemer")
3176 (commit version)))
3177 (file-name (git-file-name name version))
3178 (sha256
3179 (base32
3180 "0jxlfwcfqdjr3da2xzjnigmckarhjbn6b1i1x4pdzb5djjcz00qc"))))
3181 (build-system emacs-build-system)
3182 (propagated-inputs
3183 (list emacs-dash))
3184 (home-page "https://github.com/sebastiansturm/autothemer")
3185 (synopsis "Conveniently create Emacs themes")
3186 (description
3187 "Autothemer provides a thin layer on top of @code{deftheme} and
3188 @code{custom-theme-set-faces} that creates a new custom color theme, based on
3189 a set of simplified face specifications and a user-supplied color palette.")
3190 (license license:gpl3+)))
3191
3192 (define-public emacs-howm
3193 (package
3194 (name "emacs-howm")
3195 (version "1.4.8")
3196 (source
3197 (origin
3198 (method url-fetch)
3199 (uri (string-append "https://howm.sourceforge.jp/a/"
3200 "howm-" version ".tar.gz"))
3201 (sha256
3202 (base32 "0i5pfnvy130fzk8w62301vgsqf1y22chwhjgnm5hjxr9y0kw5ii4"))))
3203 (build-system gnu-build-system)
3204 (native-inputs
3205 (list emacs-minimal))
3206 (arguments
3207 `(#:configure-flags
3208 (list (string-append "--with-howmdir=" (emacs:elpa-directory %output)))
3209 #:modules ((guix build gnu-build-system)
3210 ((guix build emacs-build-system) #:prefix emacs:)
3211 (guix build utils))
3212 #:imported-modules (,@%gnu-build-system-modules
3213 (guix build emacs-build-system)
3214 (guix build emacs-utils))
3215 #:phases
3216 (modify-phases %standard-phases
3217 (add-after 'install 'make-autoloads
3218 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
3219 (home-page "https://howm.osdn.jp/")
3220 (synopsis "Note-taking tool for Emacs")
3221 (description "Howm is a note-taking tool for Emacs. Like
3222 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
3223 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
3224 (license license:gpl1+)))
3225
3226 (define-public emacs-bm
3227 (package
3228 (name "emacs-bm")
3229 (version "201905")
3230 (source
3231 (origin
3232 (method git-fetch)
3233 (uri (git-reference
3234 (url "https://github.com/joodland/bm")
3235 (commit version)))
3236 (file-name (git-file-name name version))
3237 (sha256
3238 (base32 "180b3rc13asrmsdh7v405d54jkrininvaj52xhp71vw91ng51dkn"))))
3239 (build-system emacs-build-system)
3240 (home-page "https://github.com/joodland/bm")
3241 (synopsis "Visual bookmarks for Emacs")
3242 (description "This package provides visible, buffer local bookmarks and
3243 the ability to jump forward and backward to the next bookmark.")
3244 (license license:gpl2+)))
3245
3246 (define-public emacs-calfw
3247 (package
3248 (name "emacs-calfw")
3249 (version "1.6")
3250 (source
3251 (origin
3252 (method git-fetch)
3253 (uri (git-reference
3254 (url "https://github.com/kiwanami/emacs-calfw")
3255 (commit (string-append "v" version))))
3256 (file-name (git-file-name name version))
3257 (sha256
3258 (base32
3259 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
3260 (build-system emacs-build-system)
3261 (propagated-inputs
3262 (list emacs-howm))
3263 (home-page "https://github.com/kiwanami/emacs-calfw/")
3264 (synopsis "Calendar framework for Emacs")
3265 (description
3266 "This package displays a calendar view with various schedule data in the
3267 Emacs buffer.")
3268 (license license:gpl3+)))
3269
3270 (define-public emacs-caml
3271 (package
3272 (name "emacs-caml")
3273 (version "4.9")
3274 (source
3275 (origin
3276 (method url-fetch)
3277 (uri (string-append "https://elpa.nongnu.org/nongnu/caml-"
3278 version ".tar"))
3279 (sha256
3280 (base32
3281 "00ldvz6r10vwwmk6f3az534p0340ywn7knsg2bmvbvh3q51vyl9i"))))
3282 (build-system emacs-build-system)
3283 (home-page "https://github.com/ocaml/caml-mode")
3284 (synopsis "Caml mode for GNU Emacs")
3285 (description
3286 "This package provides a major mode for editing OCaml code in Emacs.
3287 Some of its major features include:
3288
3289 @itemize
3290 @item syntax highlighting (font lock);
3291 @item automatic indentation;
3292 @item querying the type of expressions (using compiler generated annot files);
3293 @item running an OCaml REPL within Emacs;
3294 @item scanning of declarations and placing them in a menu.
3295 @end itemize")
3296 (license license:gpl2+)))
3297
3298 (define-public emacs-caps-lock
3299 (package
3300 (name "emacs-caps-lock")
3301 (version "1.0")
3302 (source
3303 (origin
3304 (method url-fetch)
3305 (uri (string-append "https://elpa.gnu.org/packages/"
3306 "caps-lock-" version ".el"))
3307 (sha256
3308 (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva"))))
3309 (build-system emacs-build-system)
3310 (home-page "http://elpa.gnu.org/packages/caps-lock.html")
3311 (synopsis "Caps Lock as a minor mode")
3312 (description
3313 "This package provides a minor mode to emulate the behavior of a Caps
3314 Lock key.")
3315 (license license:gpl3+)))
3316
3317 (define-public emacs-chronometrist
3318 (package
3319 (name "emacs-chronometrist")
3320 (version "0.10.0")
3321 (source
3322 (origin
3323 (method git-fetch)
3324 (uri (git-reference
3325 (url "https://tildegit.org/contrapunctus/chronometrist")
3326 (commit (string-append "v" version))))
3327 (file-name (git-file-name name version))
3328 (sha256
3329 (base32 "0qpkpkipmac24m3ng4ahsml3vi15qcvmid3g02pbpgbpc113zfpl"))))
3330 (build-system emacs-build-system)
3331 (arguments
3332 (list
3333 #:phases
3334 #~(modify-phases %standard-phases
3335 (add-after 'unpack 'chdir-elisp
3336 ;; Elisp directory is not in root of the source.
3337 (lambda _
3338 (chdir "elisp")))
3339 (add-after 'install 'install-doc
3340 ;; Documentation consists of several Markdown files.
3341 (lambda _
3342 (let ((doc (string-append #$output
3343 "/share/doc/emacs-chronometrist-"
3344 #$version)))
3345 (with-directory-excursion "../doc"
3346 (for-each (lambda (f) (install-file f doc))
3347 (cons* "../UNLICENSE"
3348 "../WTFPL"
3349 (find-files "." "\\.md$"))))))))))
3350 (propagated-inputs
3351 (list emacs-alert emacs-dash emacs-s emacs-spark emacs-ts))
3352 (home-page "https://github.com/contrapunctus-1/chronometrist")
3353 (synopsis "Time tracker for Emacs")
3354 (description "Chronometrist is a time tracker in Emacs, largely modelled
3355 after the Android application, @emph{A Time Tracker}.
3356
3357 Its features are:
3358 @itemize
3359 @item Simple and efficient to use,
3360 @item Displays useful information about your time usage,
3361 @item Support for both mouse and keyboard,
3362 @item Human errors in tracking are easily fixed by editing a plain text file,
3363 @item Hooks to let you perform arbitrary actions when starting/stopping tasks.
3364 @end itemize")
3365 ;; Software is dual-licensed.
3366 (license (list license:unlicense license:wtfpl2))))
3367
3368 (define-public emacs-citeproc-el
3369 (package
3370 (name "emacs-citeproc-el")
3371 (version "0.9.1")
3372 (source
3373 (origin
3374 (method git-fetch)
3375 (uri (git-reference
3376 (url "https://github.com/andras-simonyi/citeproc-el")
3377 (commit version)))
3378 (file-name (git-file-name name version))
3379 (sha256
3380 (base32 "0rkwqn9pcimfcyq19wlrcij0kcjyhbwisla7vwbhjj8ang0bq9rm"))))
3381 (build-system emacs-build-system)
3382 (arguments
3383 `(#:emacs ,emacs)) ;need libxml support
3384 (propagated-inputs
3385 (list emacs-dash
3386 emacs-f
3387 emacs-parsebib
3388 emacs-queue
3389 emacs-s
3390 emacs-string-inflection))
3391 (home-page "https://github.com/andras-simonyi/citeproc-el")
3392 (synopsis "Citation Style Language (CSL) processor for Emacs")
3393 (description
3394 "Citeproc-el is an Emacs Lisp library for rendering citations
3395 and bibliographies in styles described in the Citation Style
3396 Language (CSL), an XML-based, open format to describe the formatting
3397 of bibliographic references.")
3398 (license license:gpl3+)))
3399
3400 (define-public emacs-corfu
3401 (package
3402 (name "emacs-corfu")
3403 (version "0.28")
3404 (source
3405 (origin
3406 (method git-fetch)
3407 (uri (git-reference
3408 (url "https://github.com/minad/corfu")
3409 (commit version)))
3410 (file-name (git-file-name name version))
3411 (sha256
3412 (base32 "0lmjmaijanhhimkd006y5g1pvpllqgm30wj2y3wf3h4sl7h23rcz"))))
3413 (build-system emacs-build-system)
3414 (arguments
3415 `(#:phases
3416 (modify-phases %standard-phases
3417 ;; Move the extensions source files to the top level, which is included
3418 ;; in the EMACSLOADPATH.
3419 (add-after 'unpack 'move-source-files
3420 (lambda _
3421 (let ((el-files (find-files "./extensions" ".*\\.el$")))
3422 (for-each (lambda (f)
3423 (rename-file f (basename f)))
3424 el-files)))))))
3425 (home-page "https://github.com/minad/corfu")
3426 (synopsis "Completion overlay region function")
3427 (description
3428 "Corfu enhances the default completion in region function with a completion
3429 overlay. The current candidates are shown in a popup overlay below or above
3430 the point. Corfu can be considered the minimalistic
3431 @code{completion-in-region} counterpart of the Vertico minibuffer UI.")
3432 (license license:gpl3+)))
3433
3434 (define-public emacs-corfu-doc
3435 (package
3436 (name "emacs-corfu-doc")
3437 (version "0.6.3")
3438 (source
3439 (origin
3440 (method git-fetch)
3441 (uri (git-reference
3442 (url "https://github.com/galeo/corfu-doc")
3443 (commit "f9566cf13f6730a45b2f3c12e491a3fa2097e5d5")))
3444 (file-name (git-file-name name version))
3445 (sha256
3446 (base32 "098yf29yv1b11p7kvdc7n4ra7f5vcmf6nlvhl85jgwqrsdz1795b"))))
3447 (build-system emacs-build-system)
3448 (propagated-inputs (list emacs-corfu))
3449 (home-page "https://github.com/galeo/corfu-doc")
3450 (synopsis "Documentation popup for Corfu")
3451 (description
3452 "The @code{corfu-doc} package provides a way to display a documentation
3453 popup for completion candidates when using @code{emacs-corfu}. It can
3454 be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
3455 (license license:gpl3+)))
3456
3457 (define-public emacs-cape
3458 (package
3459 (name "emacs-cape")
3460 (version "0.9")
3461 (source
3462 (origin
3463 (method git-fetch)
3464 (uri (git-reference
3465 (url "https://github.com/minad/cape")
3466 (commit version)))
3467 (file-name (git-file-name name version))
3468 (sha256
3469 (base32 "09lzzhx438s9wlpmiyyx9bbb2hlscf415f080bkz6gyw4nsdh0g4"))))
3470 (build-system emacs-build-system)
3471 (home-page "https://github.com/minad/cape")
3472 (synopsis "Completion at point extensions for Emacs")
3473 (description
3474 "Cape provides some Completion At Point Extensions, which can be used in
3475 combination with Corfu completion UI or the default completion UI. The
3476 completion backends used by @code{completion-at-point} are so called
3477 @code{completion-at-point-functions} (Capfs). In principle, the Capfs
3478 provided by Cape can also be used by Company.")
3479 (license license:gpl3+)))
3480
3481 (define-public emacs-direnv
3482 (package
3483 (name "emacs-direnv")
3484 (version "2.2.0")
3485 (source
3486 (origin
3487 (method git-fetch)
3488 (uri (git-reference
3489 (url "https://github.com/wbolster/emacs-direnv")
3490 (commit version)))
3491 (file-name (git-file-name name version))
3492 (sha256
3493 (base32 "0cf5npgksl9a03mnfdhfdhlf46gr9qz9adjxz3dbckq9b1vl0dfc"))))
3494 (build-system emacs-build-system)
3495 (arguments
3496 `(#:phases
3497 (modify-phases %standard-phases
3498 (add-after 'unpack 'patch-in-direnv
3499 (lambda* (#:key inputs #:allow-other-keys)
3500 (let ((direnv (search-input-file inputs "/bin/direnv")))
3501 (substitute* "direnv.el"
3502 (("\"direnv\"") (string-append "\"" direnv "\"")))))))))
3503 (inputs
3504 (list direnv))
3505 (propagated-inputs
3506 (list emacs-dash emacs-with-editor))
3507 (home-page "https://github.com/wbolster/emacs-direnv")
3508 (synopsis "Direnv integration for Emacs")
3509 (description
3510 "This package provides support for invoking direnv to get the environment
3511 for the current file and updating the environment within Emacs to match.
3512
3513 Direnv can be invoked manually, and a global minor mode is included that will
3514 update the environment when the active buffer changes.
3515
3516 Using emacs-direnv means that programs started from Emacs will use the
3517 environment set through Direnv.")
3518 (license license:gpl3+)))
3519
3520 (define-public emacs-elf-mode
3521 (package
3522 (name "emacs-elf-mode")
3523 (version "0.1.0")
3524 (source
3525 (origin
3526 (method git-fetch)
3527 (uri
3528 (git-reference
3529 (url "https://github.com/abo-abo/elf-mode")
3530 (commit version)))
3531 (file-name (git-file-name name version))
3532 (sha256
3533 (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"))))
3534 (build-system emacs-build-system)
3535 (home-page "https://github.com/abo-abo/elf-mode")
3536 (synopsis "Show symbol list when opening a binary file in Emacs")
3537 (description "This Emacs package provides a command showing the symbols
3538 that the binary uses instead of the actual binary contents.")
3539 (license license:gpl3+)))
3540
3541 (define-public emacs-org-fc
3542 (let ((commit "f64b5336485a42be91cfe77850c02a41575f5984")
3543 (revision "0"))
3544 (package
3545 (name "emacs-org-fc")
3546 (version (git-version "0.1.0" revision commit))
3547 (source
3548 (origin
3549 (method git-fetch)
3550 (uri (git-reference
3551 (url "https://git.sr.ht/~l3kn/org-fc")
3552 (commit commit)))
3553 (file-name (git-file-name name version))
3554 (sha256
3555 (base32 "1d0a3vr09zkplclypcgpfbfd6r0h0i3g3zsqb4pcz6x239d59gd5"))))
3556 (build-system emacs-build-system)
3557 (arguments
3558 (list
3559 #:include #~(cons* "\\.awk$" "\\.org$" %default-include)
3560 #:exclude #~(cons "^tests/" %default-exclude)
3561 #:tests? #t
3562 #:test-command #~(list "emacs" "--batch"
3563 "-L" "."
3564 "-L" "tests/"
3565 "-l" "tests/org-fc-filter-test.el"
3566 "-l" "tests/org-fc-indexer-test.el"
3567 "-l" "tests/org-fc-review-data-test.el"
3568 "-f" "ert-run-tests-batch-and-exit")
3569 #:phases
3570 #~(modify-phases %standard-phases
3571 (add-after 'unpack 'qualify-paths
3572 (lambda* (#:key inputs #:allow-other-keys)
3573 (let ((find (search-input-file inputs "/bin/find"))
3574 (gawk (search-input-file inputs "/bin/gawk"))
3575 (xargs (search-input-file inputs "/bin/xargs")))
3576 (substitute* "org-fc-awk.el"
3577 (("\"find ") (string-append "\"" find " "))
3578 (("\"gawk ") (string-append "\"" gawk " "))
3579 (("\"xargs ") (string-append "\"" xargs " ")))))))))
3580 (inputs (list findutils gawk))
3581 (propagated-inputs (list emacs-hydra))
3582 (home-page "https://www.leonrische.me/fc/index.html")
3583 (synopsis "Spaced repetition system for Emacs Org mode")
3584 (description
3585 "Org-fc is a spaced-repetition system for Emacs' Org mode.
3586 It allows you to mark headlines in a file as flashcards, turning pieces of
3587 knowledge you want to learn into a question-answer test. These cards are
3588 reviewed at regular interval. After each review, the next review interval is
3589 calculated based on how well you remembered the contents of the card.")
3590 (license license:gpl3+))))
3591
3592 (define-public emacs-font-lock-studio
3593 (let ((commit "12c35967b31233e06946c70627aa3152dacfe261")
3594 (revision "1"))
3595 (package
3596 (name "emacs-font-lock-studio")
3597 (version (git-version "0.0.7" revision commit))
3598 (source
3599 (origin
3600 (method git-fetch)
3601 (uri (git-reference
3602 (url "https://github.com/Lindydancer/font-lock-studio")
3603 (commit "12c35967b31233e06946c70627aa3152dacfe261")))
3604 (file-name (git-file-name name version))
3605 (sha256
3606 (base32 "0q0s6f5vi3sfifj7vq2nnsmgyyivp1sd3idk32858md5ri71qif0"))))
3607 (build-system emacs-build-system)
3608 (home-page "https://github.com/Lindydancer/font-lock-studio")
3609 (synopsis "Interactive debugger for Font Lock keywords")
3610 (description
3611 "Font Lock Studio is an interactive debugger for Emacs syntax highlighting
3612 rules, also called Font Lock keywords. It can @emph{single-step} Font Lock
3613 keywords -- matchers, highlights, and anchored rules, to see what happens when
3614 a buffer is fontified. Breakpoints can be set on or inside rules. When
3615 inside a rule, matches are visualized using a palette of background colors.
3616 The explainer can describe a rule in plain-text English. Finally, tight
3617 integration with Edebug allows stepping into Lisp expressions that are part of
3618 the Font Lock keywords.")
3619 (license license:gpl3+))))
3620
3621 (define-public emacs-form-feed
3622 (package
3623 (name "emacs-form-feed")
3624 (version "0.2.3")
3625 (source
3626 (origin
3627 (method git-fetch)
3628 (uri (git-reference
3629 (url "https://depp.brause.cc/form-feed.git")
3630 (commit version)))
3631 (file-name (git-file-name name version))
3632 (sha256
3633 (base32 "10mcj4x2fjq0ikq9adkd72k9zp6caqib628bmj8d67wwabvzj6mk"))))
3634 (build-system emacs-build-system)
3635 (home-page "https://depp.brause.cc/form-feed")
3636 (synopsis "Display ^L glyphs as horizontal lines")
3637 (description
3638 "This package provides a minor mode @code{form-feed-mode} to display page
3639 delimiters which usually appear as ^L glyphs on a single line as horizontal
3640 lines spanning the entire window. The minor mode is suitable for inclusion
3641 into mode hooks and is intended to be used that way.")
3642 (license license:gpl3+)))
3643
3644 (define-public emacs-ggtags
3645 (package
3646 (name "emacs-ggtags")
3647 (version "0.9.0")
3648 (source
3649 (origin
3650 (method url-fetch)
3651 (uri (string-append "https://elpa.gnu.org/packages/ggtags-"
3652 version ".tar"))
3653 (sha256
3654 (base32
3655 "0p79x9g94jynl83ndvqp9349vhgkzxzhnc517r8hn44iqxqf6ghg"))))
3656 (build-system emacs-build-system)
3657 (inputs
3658 (list global))
3659 (arguments
3660 `(#:phases
3661 (modify-phases %standard-phases
3662 (add-after 'unpack 'configure
3663 (lambda* (#:key inputs #:allow-other-keys)
3664 (chmod "ggtags.el" #o644)
3665 (emacs-substitute-variables "ggtags.el"
3666 ("ggtags-executable-directory"
3667 (dirname (search-input-file inputs "bin/global")))))))))
3668 (home-page "https://github.com/leoliu/ggtags")
3669 (synopsis "Frontend to the GNU Global source code tagging system")
3670 (description "@code{ggtags} provides a frontend to the GNU Global source
3671 code tagging system.
3672
3673 Features:
3674
3675 @itemize
3676 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
3677 @item Automatically update Global's tag files when needed with tuning for
3678 large source trees.
3679 @item Intuitive navigation among multiple matches with mode-line display of
3680 current match, total matches and exit status.
3681 @item Read tag with completion.
3682 @item Show definition at point.
3683 @item Jump to #include files.
3684 @item Support search history and saving a search to register/bookmark.
3685 @item Query replace.
3686 @item Manage Global's environment variables on a per-project basis.
3687 @item Highlight (definition) tag at point.
3688 @item Abbreviated display of file names.
3689 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
3690 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
3691 @code{pygments} backend.
3692 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
3693 @code{cscope} etc.
3694 @item Support projects on remote hosts (e.g. via @code{tramp}).
3695 @item Support eldoc.
3696 @item Search @code{GTAGSLIBPATH} for references and symbols.
3697 @end itemize\n")
3698 (license license:gpl3+)))
3699
3700 (define-public emacs-go-mode
3701 ;; XXX: Upstream did not tag last release. The commit below matches version
3702 ;; bump.
3703 (let ((commit "3273fcece5d9ab7edd4f15b2d6bce61f4e5a0666"))
3704 (package
3705 (name "emacs-go-mode")
3706 (version "1.6.0")
3707 (source (origin
3708 (method git-fetch)
3709 (uri (git-reference
3710 (url "https://github.com/dominikh/go-mode.el")
3711 (commit commit)))
3712 (file-name (git-file-name name version))
3713 (sha256
3714 (base32
3715 "00qzn136d8cl3szbi44xf3iiv75r6n1m7wwgldmzn4i5mpz8dbq7"))))
3716 (arguments
3717 (list
3718 #:tests? #t
3719 #:test-command #~(list "ert-runner")
3720 #:phases
3721 #~(modify-phases %standard-phases
3722 (add-before 'check 'fix-tests
3723 ;; Two tests fail because they (wrongly) assume we run them from
3724 ;; the "test" sub-directory. Fix their expectations.
3725 (lambda _
3726 (let ((test-file "test/go-indentation-test.el"))
3727 (make-file-writable test-file)
3728 (substitute* test-file
3729 (("testdata/indentation_tests/" all)
3730 (string-append "test/" all)))))))))
3731 (build-system emacs-build-system)
3732 (native-inputs (list emacs-ert-runner))
3733 (home-page "https://github.com/dominikh/go-mode.el")
3734 (synopsis "Go mode for Emacs")
3735 (description
3736 "This package provides go-mode, an Emacs mode for working with software
3737 written in the Go programming language.")
3738 (license license:bsd-3))))
3739
3740 (define-public emacs-google-maps
3741 ;; There has been no new release tag since 2013.
3742 (let ((commit "2eb16ff609f5a9f8d02c15238a111fbb7db6c146")
3743 (revision "1"))
3744 (package
3745 (name "emacs-google-maps")
3746 (version (git-version "1.0.0" revision commit))
3747 (source
3748 (origin
3749 (method git-fetch)
3750 (uri (git-reference
3751 (url "https://github.com/jd/google-maps.el")
3752 (commit commit)))
3753 (file-name (git-file-name name version))
3754 (sha256
3755 (base32 "1bl0dnksbf14d0xcnvdy9qpvzc5c8jwkxpmfvgayj6djikxnw2md"))))
3756 (build-system emacs-build-system)
3757 (home-page "https://github.com/jd/google-maps.el")
3758 (synopsis "Access Google Maps from Emacs")
3759 (description "The @code{google-maps} package displays Google Maps
3760 directly inside Emacs. It requires a Google Map Static API key to function.")
3761 (license license:gpl3+))))
3762
3763 (define-public emacs-graphviz-dot-mode
3764 (package
3765 (name "emacs-graphviz-dot-mode")
3766 (version "0.4.2")
3767 (source
3768 (origin
3769 (method git-fetch)
3770 (uri (git-reference
3771 (url "https://github.com/ppareit/graphviz-dot-mode")
3772 (commit (string-append "v" version))))
3773 (file-name (git-file-name name version))
3774 (sha256
3775 (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m"))))
3776 (build-system emacs-build-system)
3777 (arguments
3778 (list
3779 #:phases
3780 #~(modify-phases %standard-phases
3781 (add-before 'install 'make-info
3782 (lambda* (#:key inputs #:allow-other-keys)
3783 (with-directory-excursion "texinfo"
3784 (substitute* "Makefile"
3785 (("\\/usr\\/bin\\/gzip")
3786 (search-input-file inputs "/bin/gzip")))
3787 (invoke "make"
3788 "clean"
3789 "info"
3790 (string-append "TEXINFODIR="
3791 #$(this-package-native-input "texinfo")
3792 "/bin")))))
3793 (add-after 'install 'install-info
3794 (lambda _
3795 (let ((info (string-append #$output "/share/info")))
3796 (install-file "texinfo/graphviz-dot-mode.info.gz" info)))))))
3797 (native-inputs
3798 (list gzip texinfo))
3799 (propagated-inputs
3800 (list emacs-company))
3801 (home-page "http://ppareit.github.com/graphviz-dot-mode")
3802 (synopsis "Major mode for editing Graphviz DOT files")
3803 (description
3804 "This Emacs package helps you to create @file{.dot} or @file{.gv} files
3805 using the DOT syntax, and use Graphviz to convert these files to diagrams.")
3806 (license license:gpl2+)))
3807
3808 (define-public emacs-imenu-list
3809 (let ((commit "b50222378412fbe321622a84cb2b036e084c697a")
3810 (revision "1")
3811 (version "0.9"))
3812 (package
3813 (name "emacs-imenu-list")
3814 (version (git-version version revision commit))
3815 (source
3816 (origin
3817 (method git-fetch)
3818 (uri
3819 (git-reference
3820 (url "https://github.com/bmag/imenu-list")
3821 (commit commit)))
3822 (file-name (git-file-name name version))
3823 (sha256
3824 (base32 "1936dd41fa05ndzf2bwhllvjz97iz0rflkazjipr7dvz5q072wj2"))))
3825 (build-system emacs-build-system)
3826 (home-page "https://github.com/bmag/imenu-list")
3827 (synopsis
3828 "Automatically tracks the current buffer's imenu entries")
3829 (description
3830 "This Emacs minor mode creates an automatically updated buffer called
3831 @code{*Ilist*} that is populated with the current buffer's imenu entries.
3832 This buffer is typically shown as a sidebar (Emacs vertically splits the
3833 window).")
3834 (license license:gpl3+))))
3835
3836 (define-public emacs-mmm-mode
3837 (package
3838 (name "emacs-mmm-mode")
3839 (version "0.5.8")
3840 (source
3841 (origin
3842 (method url-fetch)
3843 (uri (string-append "https://elpa.gnu.org/packages/"
3844 "mmm-mode-" version ".tar"))
3845 (sha256
3846 (base32 "05ckf4zapdpvnd3sqpw6kxaa567zh536a36m9qzx3sqyjbyn5fb4"))))
3847 (build-system emacs-build-system)
3848 (home-page "https://github.com/purcell/mmm-mode")
3849 (synopsis "Allow multiple major modes in an Emacs buffer")
3850 (description
3851 "MMM Mode is a minor mode that allows multiple major modes to coexist in
3852 a single buffer.")
3853 (license license:gpl3+)))
3854
3855 (define-public emacs-mmt
3856 (package
3857 (name "emacs-mmt")
3858 (version "0.2.0")
3859 (source
3860 (origin
3861 (method git-fetch)
3862 (uri (git-reference
3863 (url "https://github.com/mrkkrp/mmt")
3864 (commit version)))
3865 (file-name (git-file-name name version))
3866 (sha256
3867 (base32 "13vbfc5597v0gd87qyhn10f93nb477vjpg3jlpphbax9fvkf4gav"))))
3868 (build-system emacs-build-system)
3869 (home-page "https://github.com/mrkkrp/mmt")
3870 (synopsis "Classic tools to write Emacs Lisp macros")
3871 (description "Emacs MMT is a package that contains classic tools for Emacs
3872 Lisp developers who want to write macros with convenience.")
3873 (license license:gpl3+)))
3874
3875 (define-public emacs-tablist
3876 (package
3877 (name "emacs-tablist")
3878 (version "1.0")
3879 (source (origin
3880 (method git-fetch)
3881 (uri (git-reference
3882 (url "https://github.com/politza/tablist")
3883 (commit (string-append "v" version))))
3884 (file-name (git-file-name name version))
3885 (sha256
3886 (base32
3887 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
3888 (build-system emacs-build-system)
3889 (home-page "https://github.com/politza/tablist")
3890 (synopsis "Extension for @code{tabulated-list-mode}")
3891 (description "Tablist is the Emacs package that provides several
3892 additional features to @code{tabulated-list-mode}: it adds marks,
3893 filters, new key bindings and faces. It can be enabled by
3894 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
3895 (license license:gpl3+)))
3896
3897 (define-public emacs-djvu
3898 (package
3899 (name "emacs-djvu")
3900 (version "1.1.2")
3901 (source
3902 (origin
3903 (method url-fetch)
3904 (uri (string-append "https://elpa.gnu.org/packages/"
3905 "djvu-" version ".tar"))
3906 (sha256
3907 (base32 "0i7xwgg2fxndy81lnng6fh9iknals8xvx4f1nmxq7c099bzwb57c"))))
3908 (build-system emacs-build-system)
3909 (inputs (list djview djvulibre))
3910 (arguments
3911 (list
3912 #:phases
3913 #~(modify-phases %standard-phases
3914 (add-after 'unpack 'configure
3915 (lambda* (#:key inputs #:allow-other-keys)
3916 (let ((file "djvu.el"))
3917 ;; Specify the absolute executable locations.
3918 (make-file-writable file)
3919 (substitute* file
3920 (("\"djvused\"")
3921 (string-append "\""
3922 (search-input-file inputs "/bin/djvused")
3923 "\""))
3924 (("\"djvm\"")
3925 (string-append "\""
3926 (search-input-file inputs "/bin/djvm")
3927 "\""))
3928 (("\"ddjvu\"")
3929 (string-append "\""
3930 (search-input-file inputs "/bin/ddjvu")
3931 "\"")))
3932 (emacs-substitute-variables file
3933 ("djvu-djview-command"
3934 (search-input-file inputs "/bin/djview")))))))))
3935 (home-page "http://elpa.gnu.org/packages/djvu.html")
3936 (synopsis "Edit and view Djvu files via djvused")
3937 (description
3938 "This package is a front end for the command-line program djvused from
3939 DjVuLibre, see @url{http://djvu.sourceforge.net/}.")
3940 (license license:gpl3+)))
3941
3942 (define-public emacs-djvu3
3943 ;; Commit from 2021-06-03.
3944 (let ((commit "37b675be1d4d436cdd0c3b5d3f13e88b59a7bf18")
3945 (revision "0"))
3946 (package
3947 (name "emacs-djvu3")
3948 ;; `Version:' header says 1.0
3949 (version (git-version "1.0" revision commit))
3950 (source
3951 (origin
3952 (method git-fetch)
3953 (uri (git-reference
3954 (url "https://github.com/dalanicolai/djvu3")
3955 (commit commit)))
3956 (file-name (git-file-name name version))
3957 (sha256
3958 (base32
3959 "0p0izjrgbayx5ybk1n6db5hbrjv9d4kpn57w4iyxdm3h96sp9cmr"))))
3960 (propagated-inputs
3961 (list emacs-djvu emacs-tablist))
3962 (build-system emacs-build-system)
3963 (home-page "https://github.com/dalanicolai/djvu3")
3964 (synopsis "Extend djvu.el to display annotations and more")
3965 (description "This package extends @code{emacs-djvu} with annotation
3966 rendering features and a fast occur search feature using @code{svg.el}.
3967
3968 Other features include:
3969
3970 @itemize
3971 @item clickable links
3972 @item marker extension to @code{svg.el} for providing arrowheads (or other
3973 types of markers)
3974 @item a quite fancy keyboard annotation function
3975 @item an @code{imenu} index function to enable imenu navigation
3976 @item document restore function to open the document at the last location of
3977 the previous session
3978 @end itemize")
3979 (license license:gpl3+))))
3980
3981 (define-public emacs-pabbrev
3982 (package
3983 (name "emacs-pabbrev")
3984 (version "4.2.2")
3985 (source
3986 (origin
3987 (method url-fetch)
3988 (uri (string-append "https://elpa.gnu.org/packages/"
3989 "pabbrev-" version ".tar"))
3990 (sha256
3991 (base32 "0iydz8yz866krxv1qv32k88w4464xpymh0wxgrxv6nvniwvhvd0s"))))
3992 (build-system emacs-build-system)
3993 (home-page "http://elpa.gnu.org/packages/pabbrev.html")
3994 (synopsis "Predictive abbreviation expansion")
3995 (description
3996 "The code provides a abbreviation expansion for Emacs. It is
3997 fairly similar to Dabbrev expansion, which works based on the contents
3998 of the current buffer (or other buffers).
3999
4000 Predictive abbreviation expansion works based on the previously
4001 written text. Unlike dynamic abbreviation, the text is analysed
4002 during idle time, while Emacs is doing nothing else.")
4003 (license license:gpl3+)))
4004
4005 (define-public emacs-pdf-tools
4006 (package
4007 (name "emacs-pdf-tools")
4008 (version "0.91")
4009 (source
4010 (origin
4011 (method git-fetch)
4012 (uri (git-reference
4013 (url "https://github.com/vedang/pdf-tools")
4014 (commit (string-append "v" version))))
4015 (file-name (git-file-name name version))
4016 (sha256
4017 (base32 "07ixspgn4s1jg66w7m2f3sh43giakz9srhp7rpw389z32g57i1rx"))))
4018 (build-system gnu-build-system)
4019 (arguments
4020 `(#:tests? #f ; there are no tests
4021 #:modules ((guix build gnu-build-system)
4022 ((guix build emacs-build-system) #:prefix emacs:)
4023 (guix build utils)
4024 (guix build emacs-utils))
4025 #:imported-modules (,@%gnu-build-system-modules
4026 (guix build emacs-build-system)
4027 (guix build emacs-utils))
4028 #:phases
4029 (modify-phases %standard-phases
4030 ;; Build server side using 'gnu-build-system'.
4031 (add-after 'unpack 'enter-server-dir
4032 (lambda _ (chdir "server")))
4033 (add-after 'enter-server-dir 'autogen
4034 (lambda _
4035 (invoke "bash" "autogen.sh")))
4036 ;; Build emacs side using 'emacs-build-system'.
4037 (add-after 'compress-documentation 'enter-lisp-dir
4038 (lambda _ (chdir "../lisp")))
4039 (add-after 'enter-lisp-dir 'emacs-patch-variables
4040 (lambda* (#:key outputs #:allow-other-keys)
4041 (for-each make-file-writable (find-files "."))
4042
4043 ;; Set path to epdfinfo program.
4044 (emacs-substitute-variables "pdf-info.el"
4045 ("pdf-info-epdfinfo-program"
4046 (string-append (assoc-ref outputs "out")
4047 "/bin/epdfinfo")))
4048 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
4049 ;; upgrading" that pdf-tools tries to perform.
4050 (emacs-substitute-variables "pdf-tools.el"
4051 ("pdf-tools-handle-upgrades" '()))))
4052 (add-after 'emacs-patch-variables 'emacs-expand-load-path
4053 (assoc-ref emacs:%standard-phases 'expand-load-path))
4054 (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
4055 (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
4056 (add-after 'emacs-add-install-to-native-load-path 'emacs-install
4057 (assoc-ref emacs:%standard-phases 'install))
4058 (add-after 'emacs-install 'emacs-build
4059 (assoc-ref emacs:%standard-phases 'build))
4060 (add-after 'emacs-install 'emacs-make-autoloads
4061 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
4062 (native-inputs
4063 (list autoconf automake emacs-minimal pkg-config))
4064 (inputs
4065 (list cairo glib libpng poppler zlib))
4066 (propagated-inputs
4067 (list emacs-tablist))
4068 (home-page "https://github.com/politza/pdf-tools")
4069 (synopsis "Emacs support library for PDF files")
4070 (description
4071 "PDF Tools is, among other things, a replacement of DocView for PDF
4072 files. The key difference is that pages are not pre-rendered by
4073 e.g. ghostscript and stored in the file-system, but rather created on-demand
4074 and stored in memory.")
4075 (license license:gpl3+)))
4076
4077 (define-public emacs-saveplace-pdf-view
4078 (package
4079 (name "emacs-saveplace-pdf-view")
4080 (version "1.0.4")
4081 (source
4082 (origin
4083 (method git-fetch)
4084 (uri (git-reference
4085 (url "https://github.com/nicolaisingh/saveplace-pdf-view")
4086 (commit (string-append "saveplace-pdf-view-" version))))
4087 (file-name (git-file-name name version))
4088 (sha256
4089 (base32 "0i03qb6qc2agp9s5s7l08f1wl8anqndh6xshg1c3w357vd1whv7i"))))
4090 (build-system emacs-build-system)
4091 (home-page "https://github.com/nicolaisingh/saveplace-pdf-view")
4092 (synopsis "Save place in pdf-view buffers for Emacs")
4093 (description
4094 "This package extends the built-in Save-Place mode by adding support for
4095 PDF view (see @code{emacs-pdf-tools}). This package will store the
4096 place (e.g., the current page and zoom) of PDF buffers under PDFView mode or
4097 DocView mode, and revisiting those PDF files later using the same mode will
4098 restore the saved place.")
4099 (license license:gpl3+)))
4100
4101 (define-public emacs-pdfgrep
4102 ;; XXX: Upstream does not tag releases. The commit below matches latest
4103 ;; version bump.
4104 (let ((commit "e250376d97fc5240e07d81108bbca9b5a9ab50f4"))
4105 (package
4106 (name "emacs-pdfgrep")
4107 (version "1.4")
4108 (source
4109 (origin
4110 (method git-fetch)
4111 (uri (git-reference
4112 (url "https://github.com/jeremy-compostella/pdfgrep")
4113 (commit commit)))
4114 (sha256
4115 (base32 "17yqvvgkgxmcl8nc0mb9yaz884zcdnz7dwvfi4mxjzp1l05fvwjk"))))
4116 (build-system emacs-build-system)
4117 (arguments
4118 (list #:phases
4119 #~(modify-phases %standard-phases
4120 (add-after 'unpack 'patch-pdfgrep-path
4121 (lambda* (#:key inputs #:allow-other-keys)
4122 (make-file-writable "pdfgrep.el")
4123 (emacs-substitute-variables "pdfgrep.el"
4124 ("pdfgrep-program"
4125 (search-input-file inputs "bin/pdfgrep"))))))))
4126 (inputs (list pdfgrep))
4127 (home-page "https://github.com/jeremy-compostella/pdfgrep")
4128 (synopsis "Emacs module providing @code{grep} comparable facilities but
4129 for PDF files")
4130 (description
4131 "pdfgrep is a GNU/Emacs module providing @code{grep} comparable
4132 facilities but for PDF files. Its usage is similar to the @code{grep}
4133 function. For example, using the @code{next-error} function gets you to the
4134 next matching page.")
4135 (license license:gpl3+))))
4136
4137 (define-public emacs-dash
4138 (package
4139 (name "emacs-dash")
4140 (version "2.19.1")
4141 (source (origin
4142 (method git-fetch)
4143 (uri (git-reference
4144 (url "https://github.com/magnars/dash.el")
4145 (commit version)))
4146 (file-name (git-file-name name version))
4147 (sha256
4148 (base32
4149 "0z6f8y1m9amhg427iz1d4xcyr6n0kj5w7kmiz134p320ixsdnzd8"))))
4150 (build-system emacs-build-system)
4151 (arguments
4152 (list #:tests? #t
4153 #:phases
4154 #~(modify-phases %standard-phases
4155 (add-after 'unpack 'disable-byte-compile-error-on-warn
4156 (lambda _
4157 (substitute* "Makefile"
4158 (("\\(setq byte-compile-error-on-warn t\\)")
4159 "(setq byte-compile-error-on-warn nil)")))))))
4160 (home-page "https://github.com/magnars/dash.el")
4161 (synopsis "Modern list library for Emacs")
4162 (description "This package provides a modern list API library for Emacs.")
4163 (license license:gpl3+)))
4164
4165 (define-public emacs-bui
4166 (package
4167 (name "emacs-bui")
4168 (version "1.2.1")
4169 (source (origin
4170 (method git-fetch)
4171 (uri (git-reference
4172 (url "https://notabug.org/alezost/emacs-bui.git")
4173 (commit (string-append "v" version))))
4174 (file-name (git-file-name name version))
4175 (sha256
4176 (base32
4177 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
4178 (build-system emacs-build-system)
4179 (propagated-inputs
4180 (list emacs-dash))
4181 (home-page "https://notabug.org/alezost/emacs-bui")
4182 (synopsis "Buffer interface library for Emacs")
4183 (description
4184 "BUI (Buffer User Interface) is a library for making @code{list} and
4185 @code{info} interfaces to display an arbitrary data of the same
4186 type, for example: packages, buffers, files, etc.")
4187 (license license:gpl3+)))
4188
4189 (define-public emacs-guix
4190 (let ((commit "cf5b7a402ea503c3dcda85a86b9a6c6dd01896e0")
4191 (revision "6"))
4192 (package
4193 (name "emacs-guix")
4194 (version (git-version "0.5.2" revision commit))
4195 (source (origin
4196 (method git-fetch)
4197 (uri (git-reference
4198 (url "https://git.savannah.gnu.org/git/guix/emacs-guix.git")
4199 (commit commit)))
4200 (file-name (git-file-name name version))
4201 (sha256
4202 (base32
4203 "0wxiipgv91rlk9bhspx370rykywi52rxg5m1f7680vzs3ckc7nyd"))))
4204 (build-system gnu-build-system)
4205 (arguments
4206 (list
4207 #:modules '((guix build gnu-build-system)
4208 ((guix build emacs-build-system) #:prefix emacs:)
4209 (guix build utils))
4210 #:imported-modules `(,@%gnu-build-system-modules
4211 (guix build emacs-build-system)
4212 (guix build emacs-utils))
4213 #:configure-flags
4214 #~(list (string-append "--with-lispdir="
4215 (emacs:elpa-directory #$output)))
4216 #:phases
4217 #~(modify-phases %standard-phases
4218 (add-after 'unpack 'expand-load-path
4219 (lambda _
4220 ((assoc-ref emacs:%standard-phases 'expand-load-path)
4221 #:prepend-source? #f))))))
4222 (native-inputs
4223 (list autoconf automake emacs-minimal pkg-config texinfo))
4224 (inputs
4225 (list (lookup-package-input guix "guile")
4226 guix))
4227 (propagated-inputs
4228 (list emacs-bui
4229 emacs-dash
4230 emacs-edit-indirect
4231 emacs-geiser
4232 emacs-geiser-guile
4233 emacs-magit-popup
4234 guile-gcrypt))
4235 (home-page "https://guix.gnu.org")
4236 (synopsis "Emacs interface for GNU Guix")
4237 (description
4238 "Emacs-Guix provides a visual interface, tools and features for the GNU
4239 Guix package manager. Particularly, it allows you to do various package
4240 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
4241 @code{M-x guix-help} command.")
4242 (license license:gpl3+))))
4243
4244 (define-public emacs-build-farm
4245 (package
4246 (name "emacs-build-farm")
4247 (version "0.2.2")
4248 (source (origin
4249 (method git-fetch)
4250 (uri (git-reference
4251 (url "https://notabug.org/alezost/emacs-build-farm.git")
4252 (commit (string-append "v" version))))
4253 (file-name (git-file-name name version))
4254 (sha256
4255 (base32
4256 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
4257 (build-system emacs-build-system)
4258 (propagated-inputs
4259 (list emacs-bui emacs-magit-popup))
4260 (home-page "https://notabug.org/alezost/emacs-build-farm")
4261 (synopsis "Emacs interface for Hydra and Cuirass build farms")
4262 (description
4263 "This Emacs package provides an interface for Hydra and
4264 Cuirass (build farms used by Nix and Guix). It allows you to look at
4265 various data related to the build farm projects, jobsets, builds and
4266 evaluations. The entry point is @code{M-x build-farm} command.")
4267 (license license:gpl3+)))
4268
4269 (define-public emacs-d-mode
4270 (package
4271 (name "emacs-d-mode")
4272 (version "2.0.12")
4273 (source
4274 (origin
4275 (method git-fetch)
4276 (uri (git-reference
4277 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
4278 (commit version)))
4279 (file-name (git-file-name name version))
4280 (sha256
4281 (base32 "0mwd412d2kha8avkyhvvkh8r7an859xk18f7phgx7kj989pr3xkr"))))
4282 (build-system emacs-build-system)
4283 (propagated-inputs
4284 (list emacs-undercover))
4285 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
4286 (synopsis "Emacs major mode for editing D code")
4287 (description "This package provides an Emacs major mode for highlighting
4288 code written in the D programming language.")
4289 (license license:gpl2+)))
4290
4291 (define-public emacs-extempore-mode
4292 ;; Use the latest commit at time of packaging. There are no releases or tags.
4293 (let ((commit "09518ae6650d7be33a4633a4c0f31b7130d04c6e")
4294 (revision "1"))
4295 (package
4296 (name "emacs-extempore-mode")
4297 (version (git-version "0.0.0" revision commit))
4298 (source
4299 (origin
4300 (method git-fetch)
4301 (uri (git-reference
4302 (url "https://github.com/extemporelang/extempore-emacs-mode")
4303 (commit commit)))
4304 (file-name (git-file-name name version))
4305 (sha256
4306 (base32 "0hfza9lzdsz94gxhmzyp9fwviscv19rmnjgd0q613faayn11sjsp"))))
4307 (build-system emacs-build-system)
4308 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
4309 (synopsis "Emacs major mode for Extempore source files")
4310 (description
4311 "This package provides a major mode for editing Extempore code. It can
4312 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
4313 running Extempore process, and more.")
4314 (license license:bsd-2))))
4315
4316 (define-public emacs-kakoune
4317 ;; Package has no release. Version is extracted from "Version:" keyword in
4318 ;; main file.
4319 (let ((commit "d73d14e69ea38076af50cc69f846808383ff539d")
4320 (revision "0"))
4321 (package
4322 (name "emacs-kakoune")
4323 (version (git-version "0.1" revision commit))
4324 (source
4325 (origin
4326 (method git-fetch)
4327 (uri (git-reference
4328 (url "https://github.com/jmorag/kakoune.el")
4329 (commit commit)))
4330 (file-name (git-file-name name version))
4331 (sha256
4332 (base32 "0nk6jdy1y5mc3ryd0smiqghrk6iv34d5grc7f7migmshlbq0np92"))))
4333 (build-system emacs-build-system)
4334 (propagated-inputs
4335 (list emacs-expand-region emacs-multiple-cursors emacs-ryo-modal))
4336 (home-page "https://github.com/jmorag/kakoune.el")
4337 (synopsis "Emacs simple simulation, but not emulation, of Kakoune")
4338 (description "This package provides many, but not all of the editing
4339 primitives in the Kakoune editor. Unlike Evil mode for Vim, this is a very
4340 shallow emulation, which seeks to do as little work as possible, leveraging
4341 Emacs native editing commands and the work of other packages wherever
4342 possible.")
4343 (license license:expat))))
4344
4345 (define-public emacs-kana
4346 ;; Package has no release. Version is extracted from "Version:" keyword in
4347 ;; main file.
4348 (let ((commit "b239c3c3c6124b46ff720cca7b80ecbafd7fa489")
4349 (revision "0"))
4350 (package
4351 (name "emacs-kana")
4352 (version (git-version "1.0.0" revision commit))
4353 (source
4354 (origin
4355 (method git-fetch)
4356 (uri (git-reference
4357 (url "https://github.com/chenyanming/kana")
4358 (commit commit)))
4359 (file-name (git-file-name name version))
4360 (sha256
4361 (base32 "0vrrl1kniq4h111jvnapvx3wybvsl3alfaygw634mmryr3h7pwi8"))))
4362 (build-system emacs-build-system)
4363 (home-page "https://github.com/chenyanming/kana")
4364 (synopsis "Learn Japanese Kana in Emacs")
4365 (description
4366 "This Emacs mode displays Hiragana and Katakana flashcards. It can use
4367 functionality from Emacs Kanji mode if it is installed.")
4368 (license license:gpl3+))))
4369
4370 (define-public emacs-kanji
4371 ;; Package has no release. Version is extracted from "Version:" keyword in
4372 ;; main file.
4373 (let ((commit "5e9d5b72468ece11cfb81b729be6babf63ede425")
4374 (revision "0"))
4375 (package
4376 (name "emacs-kanji")
4377 (version (git-version "1.0" revision commit))
4378 (source
4379 (origin
4380 (method git-fetch)
4381 (uri (git-reference
4382 (url "https://github.com/wsgac/kanji-mode")
4383 (commit commit)))
4384 (file-name (git-file-name name version))
4385 (sha256
4386 (base32 "1zh7klqaza840q5f44zzh1wrnd6sqa2k93z3dgx3yhhsxfd1dxvy"))))
4387 (build-system emacs-build-system)
4388 (home-page "https://github.com/wsgac/kanji-mode")
4389 (synopsis "Emacs minor mode for displaying Japanese Kanji stroke order")
4390 (description
4391 "This minor mode displays the stroke order of the Kanji sign under
4392 cursor in a transient buffer. It has a built-in collection of SVG images
4393 depicting stroke orders for all Kanji. The collection is a slightly modified
4394 and limited version of the images provided by the KanjiVG project.")
4395 (license license:gpl3+))))
4396
4397 (define-public emacs-kbd
4398 ;; Package has no release. Version is extracted from "Version:" keyword in
4399 ;; main file.
4400 (let ((commit "a7f4c9b9770fa6a58895c5f121df82652bb1b737")
4401 (revision "0"))
4402 (package
4403 (name "emacs-kbd")
4404 (version (git-version "0.0.1" revision commit))
4405 (source
4406 (origin
4407 (method git-fetch)
4408 (uri (git-reference
4409 (url "https://github.com/slotThe/kbd-mode")
4410 (commit commit)))
4411 (file-name (git-file-name name version))
4412 (sha256
4413 (base32 "0jv9yfsncgf96308c041hvps3jlc151xb0aipm0vasbma3x83ygm"))))
4414 (build-system emacs-build-system)
4415 (arguments
4416 (list
4417 #:phases
4418 #~(modify-phases %standard-phases
4419 (add-after 'unpack 'enter-lisp-directory
4420 (lambda _ (chdir "lisp"))))))
4421 (home-page "https://github.com/slotThe/kbd-mode")
4422 (synopsis "Minor mode for syntax highlighting kmonad's @file{.kbd} files")
4423 (description
4424 "This minor mode provides syntax highlighting for Lisp-like DSL used in
4425 kmonad's configuration files (@file{.kbd}).")
4426 (license license:gpl3+))))
4427
4428 (define-public emacs-keycast
4429 (package
4430 (name "emacs-keycast")
4431 (version "1.2.0")
4432 (source
4433 (origin
4434 (method git-fetch)
4435 (uri (git-reference
4436 (url "https://github.com/tarsius/keycast")
4437 (commit (string-append "v" version))))
4438 (file-name (git-file-name name version))
4439 (sha256
4440 (base32 "01z20lsnjk8pwdsl4vx5dqdc4603bmb7fxan7n8j1fgvkvi63yzl"))))
4441 (build-system emacs-build-system)
4442 (home-page "https://github.com/tarsius/keycast")
4443 (synopsis "Show current command and its key in the mode line")
4444 (description
4445 "This package provides Keycast mode. Once enabled, that mode shows the
4446 current command and its key or mouse binding in the mode line, and updates
4447 them whenever another command is invoked.")
4448 (license license:gpl3+)))
4449
4450 (define-public emacs-keyfreq
4451 (package
4452 (name "emacs-keyfreq")
4453 (version "20160516.716")
4454 (source
4455 (origin
4456 (method url-fetch)
4457 (uri (string-append "http://melpa.org/packages/keyfreq-"
4458 version ".el"))
4459 (sha256
4460 (base32
4461 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
4462 (build-system emacs-build-system)
4463 (home-page "https://github.com/dacap/keyfreq")
4464 (synopsis "Track Emacs command frequencies")
4465 (description "@code{emacs-keyfeq} tracks and shows how many times you used
4466 a command.")
4467 (license license:gpl3+)))
4468
4469 (define-public emacs-olivetti
4470 (package
4471 (name "emacs-olivetti")
4472 (version "2.0.4")
4473 (source
4474 (origin
4475 (method git-fetch)
4476 (uri (git-reference
4477 (url "https://github.com/rnkn/olivetti")
4478 (commit (string-append "v" version))))
4479 (file-name (git-file-name name version))
4480 (sha256
4481 (base32 "0wc0rki4zvzdxs126g5c8d92h1vfn9slfkdx831rr9d0jx93wc7s"))))
4482 (build-system emacs-build-system)
4483 (home-page "https://github.com/rnkn/olivetti")
4484 (synopsis "Emacs minor mode for a nice writing environment")
4485 (description "This package provides an Emacs minor mode that puts writing
4486 in the center.")
4487 (license license:gpl3+)))
4488
4489 (define-public emacs-undo-tree
4490 (package
4491 (name "emacs-undo-tree")
4492 (version "0.8.2")
4493 (source
4494 (origin
4495 (method git-fetch)
4496 (uri (git-reference
4497 (url "https://gitlab.com/tsc25/undo-tree")
4498 (commit "42aab056e37e033816b2d192f9121b89410b958e"))) ; no 0.8.2 tag
4499 (file-name (git-file-name name version))
4500 (sha256
4501 (base32 "1xvkxc078b4z5zqwndz6jcv4ga8yd2ci32v7l8pdvqjmz7fq7bfz"))))
4502 (build-system emacs-build-system)
4503 (propagated-inputs
4504 (list emacs-queue))
4505 (home-page "https://www.dr-qubit.org/undo-tree.html")
4506 (synopsis "Treat undo history as a tree")
4507 (description
4508 "Tree-like interface to Emacs undo system, providing
4509 graphical tree presentation of all previous states of buffer that
4510 allows easily move between them.")
4511 (license license:gpl3+)))
4512
4513 (define-public emacs-undo-fu
4514 ;; There are no tagged releases upstream on gitlab, instead we are using
4515 ;; the most recent commit.
4516 (let ((commit "c0806c1903c5a0e4c69b6615cdc3366470a9b8ca")
4517 (revision "0"))
4518 (package
4519 (name "emacs-undo-fu")
4520 (version (git-version "0.4" revision commit))
4521 (source
4522 (origin
4523 (method git-fetch)
4524 (uri (git-reference
4525 (url "https://gitlab.com/ideasman42/emacs-undo-fu")
4526 (commit commit)))
4527 (file-name (git-file-name name version))
4528 (sha256
4529 (base32 "1n594aakmcgyl7qbda86v4wsx8clm62ypiv3h559xz3x72h7mr3j"))))
4530 (build-system emacs-build-system)
4531 (home-page "https://gitlab.com/ideasman42/emacs-undo-fu")
4532 (synopsis "Simple, stable linear undo with redo for Emacs")
4533 (description
4534 "This is a light weight wrapper for Emacs built-in undo system,
4535 adding convenient undo/redo without losing access to the full undo history,
4536 allowing you to visit all previous states of the document if you need.")
4537 (license license:gpl3+))))
4538
4539 (define-public emacs-undo-fu-session
4540 ;; There are no tagged releases upstream on gitlab, instead we are using the
4541 ;; most recent commit.
4542 (let ((commit "56cdd3538a058c6916bdf2d9010c2179f2505829")
4543 (revision "0"))
4544 (package
4545 (name "emacs-undo-fu-session")
4546 (version (git-version "0.2" revision commit))
4547 (source
4548 (origin
4549 (method git-fetch)
4550 (uri (git-reference
4551 (url "https://gitlab.com/ideasman42/emacs-undo-fu-session")
4552 (commit commit)))
4553 (file-name (git-file-name name version))
4554 (sha256
4555 (base32 "04wq1alrzzlidcb4mjb5j7pg68pks1vgv7kvvmi6dzb3l602mb2a"))))
4556 (build-system emacs-build-system)
4557 (arguments
4558 (list
4559 #:tests? #t
4560 #:test-command #~(list "emacs" "--batch" "-l" "undo-fu-session.el"
4561 "-l" "undo-fu-session-test.el")
4562 #:phases
4563 #~(modify-phases %standard-phases
4564 (add-before 'check 'set-home
4565 (lambda _
4566 (setenv "HOME" "/tmp"))))))
4567 (home-page "https://gitlab.com/ideasman42/emacs-undo-fu-session")
4568 (synopsis "Save & recover undo steps between Emacs sessions")
4569 (description "This package writes undo/redo information upon file save
4570 which is restored where possible when the file is loaded again.")
4571 (license license:gpl3+))))
4572
4573 (define-public emacs-s
4574 (package
4575 (name "emacs-s")
4576 (version "1.13.0")
4577 (source
4578 (origin
4579 (method git-fetch)
4580 (uri (git-reference
4581 (url "https://github.com/magnars/s.el")
4582 (commit version)))
4583 (file-name (git-file-name name version))
4584 (sha256
4585 (base32 "010i92kagqbfis46n1ffa28fgkdkjp55n13b6f4izar5r7ixm6wx"))))
4586 (build-system emacs-build-system)
4587 (arguments
4588 `(#:tests? #t
4589 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
4590 #:test-command '("./run-tests.sh")))
4591 (home-page "https://github.com/magnars/s.el")
4592 (synopsis "Emacs string manipulation library")
4593 (description "This package provides an Emacs library for manipulating
4594 strings.")
4595 (license license:gpl3+)))
4596
4597 (define-public emacs-inflections
4598 (package
4599 (name "emacs-inflections")
4600 (version "2.6")
4601 (source
4602 (origin
4603 (method git-fetch)
4604 (uri (git-reference
4605 (url "https://github.com/eschulte/jump.el")
4606 (commit version)))
4607 (file-name (git-file-name name version))
4608 (snippet #~(begin (delete-file "jump.el")))
4609 (sha256
4610 (base32 "03fh7i6blnbc0zbmp83fk095hr3q4fdvrvfxad74zghcbc2nk7b7"))))
4611 (build-system emacs-build-system)
4612 (home-page "https://github.com/eschulte/jump.el")
4613 (synopsis "Convert english words between singular and plural")
4614 (description "This package provides an Emacs library for converting
4615 english words between singular and plural.")
4616 (license license:gpl3+)))
4617
4618 (define-public emacs-blight
4619 (let ((commit "6bf9c6192d2bf979eebbfae1963401ef3ff4ef5d")
4620 (revision "0"))
4621 (package
4622 (name "emacs-blight")
4623 (version (git-version "0" revision commit))
4624 (source
4625 (origin
4626 (method git-fetch)
4627 (uri (git-reference
4628 (url "https://codeberg.org/emacs-weirdware/blight")
4629 (commit commit)))
4630 (file-name (git-file-name name version))
4631 (sha256
4632 (base32 "1x7s1fcva5kkl9iyb5grd6crf38rrz3zb0c6wb85khi9far10vgq"))))
4633 (build-system emacs-build-system)
4634 (home-page "https://codeberg.org/emacs-weirdware/blight")
4635 (synopsis "Control display brightness")
4636 (description
4637 "Blight allows you to control display brightness from Emacs. It
4638 features object-oriented code using EIEIO, a base class implementing
4639 a reasonable API which focuses on the @emph{set the back light to this
4640 percentage} functionality, it includes a concrete implementation that uses
4641 SysFS to control brightness. Other systems (D-Bus, xbacklight, XELB using
4642 XRandR) are easily supportable, giving the same experience across
4643 environments.")
4644 (license license:gpl3+))))
4645
4646 (define-public emacs-symon
4647 (package
4648 (name "emacs-symon")
4649 (version "20160630")
4650 (source
4651 (origin
4652 (method git-fetch)
4653 (uri (git-reference
4654 (url "https://github.com/zk-phi/symon")
4655 (commit version)))
4656 (file-name (git-file-name name version))
4657 (sha256
4658 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
4659 (build-system emacs-build-system)
4660 (home-page "https://github.com/zk-phi/symon")
4661 (synopsis "Tiny graphical system monitor")
4662 (description
4663 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
4664 (license license:gpl2+)))
4665
4666 (define-public emacs-lemon
4667 (let ((commit "37a6e6d6ef0900ca19c820a2dbc122c7fe6d86cf")
4668 (revision "0"))
4669 (package
4670 (name "emacs-lemon")
4671 (version (git-version "2.0.0" revision commit))
4672 (source
4673 (origin
4674 (method git-fetch)
4675 (uri (git-reference
4676 (url "https://codeberg.org/emacs-weirdware/lemon")
4677 (commit commit)))
4678 (file-name (git-file-name name version))
4679 (sha256
4680 (base32 "0bc77vzi4p6mlzmhgybbldlpcsiiv4xqrd5lnc7wzvmxv8byhqpm"))))
4681 (build-system emacs-build-system)
4682 (native-inputs
4683 (list emacs-blight emacs-emms))
4684 (propagated-inputs
4685 (list emacs-s))
4686 (home-page "https://codeberg.org/emacs-weirdware/lemon")
4687 (synopsis "System monitors in the echo area")
4688 (description
4689 "Lemon is a tiny system monitor which displays system information in
4690 the echo area when Emacs is has been idle for a few seconds. This is a fork
4691 of zk_phi’s Symon, which has been largely rewritten. It works nicely with
4692 EXWM.")
4693 (license license:gpl3+))))
4694
4695 (define-public emacs-sx
4696 (let ((version "20191229")
4697 (revision "0")
4698 (commit "e9d1093c97507a6d7b4f4710ef65200dae725e5f"))
4699 (package
4700 (name "emacs-sx")
4701 (version (git-version version revision commit))
4702 (source
4703 (origin
4704 (method git-fetch)
4705 (uri (git-reference
4706 (url "https://github.com/vermiculus/sx.el")
4707 (commit commit)))
4708 (file-name (git-file-name name version))
4709 (sha256
4710 (base32 "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf"))))
4711 (build-system emacs-build-system)
4712 (propagated-inputs
4713 (list emacs-markdown-mode))
4714 (home-page "https://github.com/vermiculus/sx.el")
4715 (synopsis "Emacs StackExchange client")
4716 (description
4717 "Emacs StackExchange client. Ask and answer questions on
4718 Stack Overflow, Super User, and other StackExchange sites.")
4719 (license license:gpl3+))))
4720
4721 (define-public emacs-skempo
4722 (package
4723 (name "emacs-skempo")
4724 (version "0.1.0")
4725 (source
4726 (origin
4727 (method git-fetch)
4728 (uri (git-reference
4729 (url "https://github.com/xFA25E/skempo")
4730 (commit version)))
4731 (file-name (git-file-name name version))
4732 (sha256
4733 (base32
4734 "0na465f27p6n64sf0pj0aqdi384m1wy3hxcc2d6a67hs39rkyvi9"))))
4735 (build-system emacs-build-system)
4736 (propagated-inputs
4737 (list emacs-parent-mode))
4738 (home-page "https://github.com/xFA25E/skempo")
4739 (synopsis "Enhancements for skeleton/tempo + abbrev")
4740 (description
4741 "Skempo is an attempt to improve Emacs built-in Skeleton and Tempo
4742 templates. It tries to make a unified syntax for template definitions. It
4743 also adds tags and marks support for Skeleton, and Abbrev support for Tempo.")
4744 (license license:gpl3+)))
4745
4746 (define-public emacs-toc-org
4747 (package
4748 (name "emacs-toc-org")
4749 (version "1.2.0")
4750 (source
4751 (origin
4752 (method git-fetch)
4753 (uri (git-reference
4754 (url "https://github.com/snosov1/toc-org")
4755 (commit version)))
4756 (file-name (git-file-name name version))
4757 (sha256
4758 (base32 "00a2al7ghrlabf65kfj1mk30p2pl37h6ppwlgghbgiy7rwlzkdbm"))))
4759 (build-system emacs-build-system)
4760 (home-page "https://github.com/snosov1/toc-org")
4761 (synopsis "Table of Contents generator for Emacs Org mode")
4762 (description
4763 "This package generates a table of contents when saving in Org and
4764 Markdown files.")
4765 (license license:gpl2+)))
4766
4767 (define-public emacs-toml-mode
4768 (let ((version "0.1.3")
4769 (revision "0")
4770 (commit "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06"))
4771 (package
4772 (name "emacs-toml-mode")
4773 (version (git-version version revision commit))
4774 (source
4775 (origin
4776 (method git-fetch)
4777 (uri (git-reference
4778 (url "https://github.com/dryman/toml-mode.el")
4779 (commit commit)))
4780 (file-name (git-file-name name version))
4781 (sha256
4782 (base32 "05b4ksay85c8y5ncax0qsvnmplwsfiw24z16a58gkarjz938hb57"))))
4783 (build-system emacs-build-system)
4784 (home-page "https://github.com/dryman/toml-mode.el")
4785 (synopsis "Emacs major mode for editing TOML files")
4786 (description
4787 ;; XXX: Ideally we'd use @acronym for "TOML", but Guile's Texinfo
4788 ;; parser does not currently support @comma{}, making it impossible
4789 ;; to use commas in the @acronym arguments.
4790 "This package provides a major mode for editing files in @dfn{TOML}
4791 (Tom's Obvious, Minimal Language) data format.")
4792 (license license:gpl3+))))
4793
4794 (define-public emacs-twittering-mode
4795 (package
4796 (name "emacs-twittering-mode")
4797 (version "3.1.0")
4798 (source
4799 (origin
4800 (method url-fetch)
4801 (uri (string-append "mirror://sourceforge/twmode"
4802 "/twittering-mode-" version
4803 "/twittering-mode-" version ".tar.xz"))
4804 (sha256
4805 (base32 "02imis1gxz90lah0b5n37j2hlsaw5igss11d85vpsm5d1bgw8j28"))))
4806 (build-system emacs-build-system)
4807 (home-page "http://twmode.sourceforge.net")
4808 (synopsis "Emacs major mode for Twitter")
4809 (description
4810 "Twittering mode is an Emacs major mode for Twitter.
4811 You can check timelines, tweet, mark posts as favorites and so on with
4812 Emacs.")
4813 (license license:gpl2+)))
4814
4815 (define-public emacs-f
4816 (package
4817 (name "emacs-f")
4818 (version "0.20.0")
4819 (source (origin
4820 (method git-fetch)
4821 (uri (git-reference
4822 (url "https://github.com/rejeep/f.el")
4823 (commit (string-append "v" version))))
4824 (file-name (git-file-name name version))
4825 (sha256
4826 (base32
4827 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
4828 (build-system emacs-build-system)
4829 (propagated-inputs
4830 (list emacs-s emacs-dash))
4831 (home-page "https://github.com/rejeep/f.el")
4832 (synopsis "Emacs API for working with files and directories")
4833 (description "This package provides an Emacs library for working with
4834 files and directories.")
4835 (license license:gpl3+)))
4836
4837 (define-public emacs-fountain-mode
4838 (package
4839 (name "emacs-fountain-mode")
4840 (version "3.6.0")
4841 (source
4842 (origin
4843 (method git-fetch)
4844 (uri (git-reference
4845 (url "https://github.com/rnkn/fountain-mode")
4846 (commit (string-append "v" version))))
4847 (file-name (git-file-name name version))
4848 (sha256
4849 (base32 "14cb4r23pn98sxzh0qwjwpvm7k7q9hhpks8avydccwssm69x1s1w"))))
4850 (build-system emacs-build-system)
4851 (home-page "https://github.com/rnkn/fountain-mode")
4852 (synopsis "Major mode for screenwriting in Fountain markup")
4853 (description "Fountain Mode is a scriptwriting program for GNU Emacs
4854 using the Fountain plain text markup format.")
4855 (license license:gpl3+)))
4856
4857 (define-public emacs-fringe-helper
4858 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
4859 (revision "1"))
4860 (package
4861 (name "emacs-fringe-helper")
4862 (version (git-version "1.0.1" revision commit))
4863 (source
4864 (origin
4865 (method git-fetch)
4866 (uri (git-reference
4867 (url "https://github.com/nschum/fringe-helper.el")
4868 (commit commit)))
4869 (file-name (git-file-name name version))
4870 (sha256
4871 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
4872 (build-system emacs-build-system)
4873 (arguments
4874 `(#:tests? #t
4875 #:test-command '("emacs" "--batch"
4876 "-l" "tests.el"
4877 "-f" "ert-run-tests-batch-and-exit")))
4878 (home-page "https://github.com/nschum/fringe-helper.el")
4879 (synopsis "Helper functions for fringe bitmaps")
4880 (description
4881 "This package allows fringe bitmaps to be defined with a visual string
4882 representation.")
4883 (license license:gpl2+))))
4884
4885 (define-public emacs-git-gutter
4886 (let ((commit "ec28e85d237065cb3c28db4b66d129da6d309f9c")
4887 (revision "0"))
4888 (package
4889 (name "emacs-git-gutter")
4890 (version (git-version "0.92" revision commit))
4891 (source
4892 (origin
4893 (method git-fetch)
4894 (uri (git-reference
4895 (url "https://github.com/syohex/emacs-git-gutter")
4896 (commit commit)))
4897 (file-name (git-file-name name version))
4898 (sha256
4899 (base32 "1fx3jp65ibcsv8akd8g4k701cs8yq0sg1bd2qszzfh6lvc4pblmi"))))
4900 (build-system emacs-build-system)
4901 (home-page "https://github.com/syohex/emacs-git-gutter")
4902 (synopsis "See and manage hunks of text in a version control system")
4903 (description
4904 "This package is an Emacs minor mode for displaying and interacting with
4905 hunks of text managed in a version control system. Added modified and deleted
4906 areas can be indicated with symbols on the edge of the buffer, and commands
4907 can be used to move between and perform actions on these hunks.
4908
4909 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
4910 display and behaviour is easily customisable.")
4911 (license license:gpl3+))))
4912
4913 (define-public emacs-git-gutter-fringe
4914 (let ((commit "648cb5b57faec55711803cdc9434e55a733c3eba")
4915 (revision "2"))
4916 (package
4917 (name "emacs-git-gutter-fringe")
4918 (version (git-version "0.23" revision commit))
4919 (source
4920 (origin
4921 (method git-fetch)
4922 (uri (git-reference
4923 (url "https://github.com/emacsorphanage/git-gutter-fringe")
4924 (commit commit)))
4925 (file-name (git-file-name name version))
4926 (sha256
4927 (base32 "13bqq5r8ys2mmw1ffsm6hn6fji0vq3nx3slw98c9dgbvlprkaiip"))))
4928 (build-system emacs-build-system)
4929 (propagated-inputs
4930 (list emacs-git-gutter emacs-fringe-helper))
4931 (home-page "https://github.com/emacsorphanage/git-gutter-fringe")
4932 (synopsis "See and manage hunks of text in a version control system")
4933 (description
4934 "This package extends @code{git-gutter} to use the fringe area of a
4935 window.")
4936 (license license:gpl3+))))
4937
4938 (define-public emacs-git-link
4939 (package
4940 (name "emacs-git-link")
4941 (version "0.8.6")
4942 (source
4943 (origin
4944 (method git-fetch)
4945 (uri (git-reference
4946 (url "https://github.com/sshaw/git-link")
4947 (commit (string-append "v" version))))
4948 (file-name (git-file-name name version))
4949 (sha256
4950 (base32 "1ifq9z4p0rbz2bpm6qz89xg5ycn5fflsyradzzxzsgyys0zc6szx"))))
4951 (build-system emacs-build-system)
4952 (arguments
4953 (list
4954 #:tests? #t
4955 #:test-command #~(list "make" "test")))
4956 (home-page "https://github.com/sshaw/git-link")
4957 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
4958 (description
4959 "@code{git-link} returns the URL for the current buffer's file location
4960 at the current line number or active region. @code{git-link-commit} returns
4961 the URL for a commit. URLs are added to the kill ring.")
4962 (license license:gpl3+)))
4963
4964 (define-public emacs-apache-mode
4965 (package
4966 (name "emacs-apache-mode")
4967 (version "2.2.0")
4968 (source (origin
4969 (method git-fetch)
4970 (uri (git-reference
4971 (url "https://github.com/emacs-php/apache-mode")
4972 (commit version)))
4973 (file-name (git-file-name name version))
4974 (sha256
4975 (base32
4976 "1grs2x51k8pa6sgfa82s5pwwdfv7zw46ccw0zvd2rvzbhpq21p2z"))))
4977 (build-system emacs-build-system)
4978 (home-page "https://github.com/emacs-php/apache-mode")
4979 (synopsis
4980 "Syntax highlighting and indentation support for Apache config files")
4981 (description
4982 "This package provides @code{apache-mode}, an Emacs major mode for Apache
4983 configuration files which provides syntax highlighting and indentation rules.
4984 This mode supports Apache HTTP Server 2.4 and major modules.")
4985 (license license:gpl2+)))
4986
4987 (define-public emacs-apheleia
4988 (package
4989 (name "emacs-apheleia")
4990 (version "3.0")
4991 (source
4992 (origin
4993 (method git-fetch)
4994 (uri (git-reference
4995 (url "https://github.com/raxod502/apheleia")
4996 (commit (string-append "v" version))))
4997 (file-name (git-file-name name version))
4998 (sha256
4999 (base32 "0fpqh4wv69msfsnv3k88cai3nbja70ab5c02xf8gwfgg3613pjdd"))))
5000 (build-system emacs-build-system)
5001 (home-page "https://github.com/raxod502/apheleia")
5002 (synopsis "Reformat buffer stably")
5003 (description
5004 "This package allows for a buffer to be reformatted without moving point,
5005 so that running a formatting tool like @code{Prettier} or @code{Black} upon
5006 saving won't move point back to the beginning of the buffer.")
5007 (license license:gpl3+)))
5008
5009 (define-public emacs-git-timemachine
5010 (package
5011 (name "emacs-git-timemachine")
5012 (version "4.11")
5013 (source
5014 (origin
5015 (method git-fetch)
5016 (uri (git-reference
5017 (url "https://gitlab.com/pidu/git-timemachine.git")
5018 (commit version)))
5019 (file-name (git-file-name name version))
5020 (sha256
5021 (base32
5022 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
5023 (build-system emacs-build-system)
5024 (home-page "https://gitlab.com/pidu/git-timemachine")
5025 (synopsis "Step through historic versions of Git-controlled files")
5026 (description "This package enables you to step through historic versions
5027 of files under Git version control from within Emacs.")
5028 (license license:gpl3+)))
5029
5030 (define-public emacs-minitest
5031 (package
5032 (name "emacs-minitest")
5033 (version "0.9.2")
5034 (source (origin
5035 (method git-fetch)
5036 (uri (git-reference
5037 (url "https://github.com/arthurnn/minitest-emacs")
5038 (commit (string-append "v" version))))
5039 (file-name (git-file-name name version))
5040 (sha256
5041 (base32
5042 "0d8kg68yy5x1y3ivj43vzcakb3gii6bh8jm40g4sah5f53bbrs16"))))
5043 (build-system emacs-build-system)
5044 (arguments
5045 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
5046 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
5047 (propagated-inputs
5048 (list emacs-dash emacs-f))
5049 (home-page "https://github.com/arthurnn/minitest-emacs")
5050 (synopsis "Emacs minitest mode")
5051 (description
5052 "The minitest mode provides commands to run the tests for the current
5053 file or line, as well as rerunning the previous tests, or all the tests for a
5054 project.
5055
5056 This package also includes relevant snippets for yasnippet.")
5057 (license license:expat)))
5058
5059 (define-public emacs-gdscript-mode
5060 (package
5061 (name "emacs-gdscript-mode")
5062 (version "1.4.0")
5063 (source
5064 (origin
5065 (method git-fetch)
5066 (uri (git-reference
5067 (url "https://github.com/godotengine/emacs-gdscript-mode")
5068 (commit version)))
5069 (file-name (git-file-name name version))
5070 (sha256
5071 (base32 "09q0himrz7a6xgz0jmcl85qc5xhk5fwi6d2vw1n8qaiavm96ksdy"))))
5072 (build-system emacs-build-system)
5073 (home-page "https://github.com/godotengine/emacs-gdscript-mode")
5074 (synopsis "GDScript support and syntax highlighting in Emacs")
5075 (description
5076 "This package adds support for the GDScript programming language from the
5077 Godot game engine in Emacs. It features all the essentials, e.g., syntax
5078 highlighting, code folding, indentation, automatic pairing, auto-completion,
5079 and code formatting.")
5080 (license license:gpl3+)))
5081
5082 (define-public emacs-el-mock
5083 (package
5084 (name "emacs-el-mock")
5085 (version "1.25.1")
5086 (source
5087 (origin
5088 (method git-fetch)
5089 (uri (git-reference
5090 (url "https://github.com/rejeep/el-mock.el")
5091 (commit (string-append "v" version))))
5092 (file-name (git-file-name name version))
5093 (sha256
5094 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
5095 (build-system emacs-build-system)
5096 (home-page "https://github.com/rejeep/el-mock.el")
5097 (synopsis "Tiny mock and stub framework in Emacs Lisp")
5098 (description
5099 "Emacs Lisp Mock is a library for mocking and stubbing using readable
5100 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
5101 Expectations, but it can be used in other contexts.")
5102 (license license:gpl3+)))
5103
5104 (define-public emacs-ecukes
5105 (package
5106 (name "emacs-ecukes")
5107 (version "0.6.18")
5108 (source
5109 (origin
5110 (method git-fetch)
5111 (uri (git-reference
5112 (url "https://github.com/ecukes/ecukes")
5113 (commit (string-append "v" version))))
5114 (file-name (git-file-name name version))
5115 (sha256
5116 (base32 "182qgddfv8nd89y1l55rs5vm5i61ayc8cxbplb8zx0alnid9xrw1"))))
5117 (build-system emacs-build-system)
5118 (arguments
5119 `(#:include (cons* "^feature/" "^reporters/" "^templates/" %default-include)))
5120 (propagated-inputs
5121 (list emacs-ansi
5122 emacs-commander
5123 emacs-dash
5124 emacs-espuds
5125 emacs-f
5126 emacs-s))
5127 (home-page "https://github.com/ecukes/ecukes")
5128 (synopsis "Cucumber for Emacs")
5129 (description
5130 "This package provides Ecukes, a Cucumber-inspired integration testing
5131 tool for Emacs. Ecukes is not a complete clone of Cucumber and is not
5132 intended to be.")
5133 (license license:gpl3+)))
5134
5135 (define-public emacs-espuds
5136 (package
5137 (name "emacs-espuds")
5138 (version "0.3.3")
5139 (source
5140 (origin
5141 (method git-fetch)
5142 (uri (git-reference
5143 (url "https://github.com/ecukes/espuds")
5144 (commit (string-append "v" version))))
5145 (file-name (git-file-name name version))
5146 (sha256
5147 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
5148 (build-system emacs-build-system)
5149 (propagated-inputs
5150 (list emacs-s emacs-dash emacs-f))
5151 (home-page "https://github.com/ecukes/espuds")
5152 (synopsis "Common step definitions for Ecukes")
5153 (description "Espuds is a collection of the most commonly used step
5154 definitions for testing with the Ecukes framework.")
5155 (license license:gpl3+)))
5156
5157 (define-public emacs-spark
5158 (let ((version "20160503") ; no proper tag, use date of commit
5159 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
5160 (revision "1"))
5161 (package
5162 (name "emacs-spark")
5163 (version (git-version version revision commit))
5164 (source
5165 (origin
5166 (method git-fetch)
5167 (uri (git-reference
5168 (url "https://github.com/alvinfrancis/spark")
5169 (commit commit)))
5170 (file-name (git-file-name name version))
5171 (sha256
5172 (base32
5173 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
5174 (build-system emacs-build-system)
5175 (home-page "https://github.com/alvinfrancis/spark")
5176 (synopsis "Sparkline generation library for Emacs Lisp")
5177 (description "@code{emacs-spark} is a sparkline generation library for
5178 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
5179 port of @code{cl-spark} to Emacs Lisp.")
5180 (license license:expat))))
5181
5182 (define-public emacs-spray
5183 (let ((version "0.0.2") (revision "0")
5184 (commit "74d9dcfa2e8b38f96a43de9ab0eb13364300cb46"))
5185 (package
5186 (name "emacs-spray")
5187 (version (git-version version revision commit))
5188 (source (origin
5189 (method git-fetch)
5190 (uri (git-reference
5191 (url "https://git.sr.ht/~iank/spray")
5192 (commit commit)))
5193 (file-name (git-file-name name version))
5194 (sha256
5195 (base32
5196 "1avbfr32dvff26kgvd5vgan99nb5c6al9kv5xbmy2rcls17py7r2"))))
5197 (build-system emacs-build-system)
5198 (home-page "https://git.sr.ht/~iank/spray")
5199 (synopsis "Speed reading mode for Emacs")
5200 (description
5201 "For speed reading, or just more enjoyable reading. Narrows
5202 the buffer to show one word at a time. Adjust speed / pause as needed.")
5203 (license license:gpl3+))))
5204
5205 (define-public emacs-es-mode
5206 (package
5207 (name "emacs-es-mode")
5208 (version "4.3.0")
5209 (source
5210 (origin
5211 (method git-fetch)
5212 (uri (git-reference
5213 (url "https://github.com/dakrone/es-mode")
5214 (commit version)))
5215 (file-name (git-file-name name version))
5216 (sha256
5217 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
5218 (build-system emacs-build-system)
5219 (propagated-inputs
5220 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
5221 ;; to be rendered incorrectly
5222 (list emacs-dash emacs-org emacs-spark))
5223 (home-page "https://github.com/dakrone/es-mode")
5224 (synopsis "Major mode for editing Elasticsearch queries")
5225 (description "@code{es-mode} includes highlighting, completion and
5226 indentation support for Elasticsearch queries. Also supported are
5227 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
5228 be processed through @code{jq}, or in the case of aggregations, can be
5229 rendered in to a table. In addition, there is an @code{es-command-center}
5230 mode, which displays information about Elasticsearch clusters.")
5231 (license license:gpl3+)))
5232
5233 (define-public emacs-expand-region
5234 (let ((commit "c5c4362741deebb0985a8a29f9b8b0e25160764a")
5235 (revision "1"))
5236 (package
5237 (name "emacs-expand-region")
5238 (version (git-version "0.11.0" revision commit))
5239 (source
5240 (origin
5241 (method git-fetch)
5242 (uri (git-reference
5243 (url "https://github.com/magnars/expand-region.el")
5244 (commit commit)))
5245 (file-name (git-file-name name version))
5246 (sha256
5247 (base32 "17h58v5mnggbrwrp61cwkqx8hzazkdqyz9p6s1hl9g2hys7zkb00"))))
5248 (build-system emacs-build-system)
5249 (home-page "https://github.com/magnars/expand-region.el")
5250 (synopsis "Increase selected region by semantic units")
5251 (description
5252 "Expand region increases the selected region by semantic units. Just
5253 keep pressing the key until it selects what you want. There's also
5254 @code{er/contract-region} if you expand too far.")
5255 (license license:gpl3+))))
5256
5257 (define-public emacs-explain-pause-mode
5258 (let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
5259 (revision "0"))
5260 (package
5261 (name "emacs-explain-pause-mode")
5262 (version (git-version "0.1" revision commit))
5263 (source
5264 (origin
5265 (method git-fetch)
5266 (uri (git-reference
5267 (url "https://github.com/lastquestion/explain-pause-mode")
5268 (commit commit)))
5269 (file-name (git-file-name name version))
5270 (sha256
5271 (base32 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
5272 (build-system emacs-build-system)
5273 (native-inputs
5274 (list emacs-buttercup))
5275 (arguments
5276 '(#:tests? #t
5277 #:phases
5278 (modify-phases %standard-phases
5279 ;; This causes the byte-compilation before unit-tests to fail.
5280 (add-after 'unpack 'remove-error-on-warn
5281 (lambda _
5282 (substitute* "Makefile"
5283 (("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
5284 ;; Don't run case-tests as they will fail to create sockets because
5285 ;; the path is too long
5286 #:test-command '("make" "byte-compile" "unit-tests")
5287 ;; Parallel testing will cause the tests to run before
5288 ;; byte-compilation is finished
5289 #:parallel-tests? #f))
5290 (home-page "https://github.com/lastquestion/explain-pause-mode")
5291 (synopsis "Top-like interface to determine why Emacs paused")
5292 (description
5293 "This package monitors Emacs function calls and records their execution
5294 time. This information can be reviewed to determine what is causing the user
5295 interface to pause.")
5296 (license license:gpl3+))))
5297
5298 (define-public emacs-filladapt
5299 (package
5300 (name "emacs-filladapt")
5301 (version "2.12.2")
5302 (source
5303 (origin
5304 (method url-fetch)
5305 (uri (string-append
5306 "https://elpa.gnu.org/packages/filladapt-"
5307 version ".el"))
5308 (sha256
5309 (base32
5310 "1cxyxfdjg1dsmn1jrl6b7xy03xr42fb6vyggh27s4dk417ils6yg"))))
5311 (build-system emacs-build-system)
5312 (home-page "http://elpa.gnu.org/packages/filladapt.html")
5313 (synopsis "Adaptive fill for Emacs")
5314 (description
5315 "This package provides functions which enhance the default behavior of
5316 Emacs' Auto Fill mode and the commands @code{fill-paragraph},
5317 @code{lisp-fill-paragraph}, @code{fill-region-as-paragraph}, and
5318 @code{fill-region}.
5319
5320 The chief improvement is that the beginning of a line to be
5321 filled is examined and, based on information gathered, an
5322 appropriate value for fill-prefix is constructed. Also the
5323 boundaries of the current paragraph are located. This occurs
5324 only if the fill prefix is not already non-nil.
5325
5326 The net result of this is that blurbs of text that are offset
5327 from left margin by asterisks, dashes, and/or spaces, numbered
5328 examples, included text from USENET news articles, etc. are
5329 generally filled correctly with no fuss.")
5330 (license license:gpl3+)))
5331
5332 (define-public emacs-fill-column-indicator
5333 (package
5334 (name "emacs-fill-column-indicator")
5335 (version "1.90")
5336 (source
5337 (origin
5338 (method git-fetch)
5339 (uri (git-reference
5340 (url "https://github.com/alpaker/Fill-Column-Indicator")
5341 (commit version)))
5342 (file-name (git-file-name name version))
5343 (sha256
5344 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
5345 (build-system emacs-build-system)
5346 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
5347 (synopsis "Graphically indicate the fill column")
5348 (description
5349 "Fill-column-indicator graphically indicates the location of the fill
5350 column by drawing a thin line down the length of the editing window.")
5351 (license license:gpl3+)))
5352
5353 (define-public emacs-grep-a-lot
5354 (package
5355 (name "emacs-grep-a-lot")
5356 (version "1.0.7")
5357 (source
5358 (origin
5359 (method git-fetch)
5360 (uri (git-reference
5361 (url "https://github.com/ZungBang/emacs-grep-a-lot")
5362 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
5363 (file-name (git-file-name name version))
5364 (sha256
5365 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
5366 (build-system emacs-build-system)
5367 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
5368 (synopsis "Enables multiple grep buffers in Emacs")
5369 (description
5370 "This Emacs package allows managing multiple grep buffers.")
5371 (license license:gpl3+)))
5372
5373 (define-public emacs-fd
5374 (package
5375 (name "emacs-fd")
5376 (version "0.1.0")
5377 (source (origin
5378 (method git-fetch)
5379 (uri (git-reference
5380 (url "https://github.com/yqrashawn/fd-dired")
5381 (commit version)))
5382 (file-name (git-file-name name version))
5383 (sha256
5384 (base32
5385 "1fas0fpvym2lyzybwm44gly9jz6a2fpp72yxnwfbqqjkfgk9910y"))))
5386 (build-system emacs-build-system)
5387 (home-page "https://github.com/yqrashawn/fd-dired")
5388 (synopsis "Dired-mode interface for fd result")
5389 (description "This package provides a dired-mode interface for fd's
5390 result.")
5391 (license license:gpl3+)))
5392
5393 (define-public emacs-ripgrep
5394 (package
5395 (name "emacs-ripgrep")
5396 (version "0.4.0")
5397 (source
5398 (origin
5399 (method git-fetch)
5400 (uri (git-reference
5401 (url "https://github.com/nlamirault/ripgrep.el")
5402 (commit version)))
5403 (file-name (git-file-name name version))
5404 (sha256
5405 (base32 "1a5rdpmvsgsjlc9sywism9pq7jd6n9qbcdsvpbfkq1npwhpifkbj"))))
5406 (build-system emacs-build-system)
5407 (arguments
5408 `(#:phases
5409 (modify-phases %standard-phases
5410 ;; The repository contains both ripgrep and projectile-ripgrep
5411 ;; packages. The latter has been merged into projectile itself.
5412 (add-after 'unpack 'delete-projectile-ripgrep
5413 (lambda _
5414 (delete-file "projectile-ripgrep.el"))))))
5415 (propagated-inputs
5416 (list ripgrep))
5417 (home-page "https://github.com/nlamirault/ripgrep.el")
5418 (synopsis "Search using ripgrep from inside Emacs")
5419 (description "@code{ripgrep} is an Emacs search package based on the
5420 @command{ripgrep} command line tool.")
5421 (license license:gpl2+)))
5422
5423 (define-public emacs-rg
5424 (package
5425 (name "emacs-rg")
5426 (version "2.2.1")
5427 (source
5428 (origin
5429 (method git-fetch)
5430 (uri (git-reference
5431 (url "https://github.com/dajva/rg.el")
5432 (commit version)))
5433 (file-name (git-file-name name version))
5434 (sha256
5435 (base32 "1nxzplpk5cf6hhr2v85bmg68i6am96shi2zq7m83fs96bilhwsp5"))))
5436 (build-system emacs-build-system)
5437 (arguments
5438 (list
5439 #:phases
5440 #~(modify-phases %standard-phases
5441 (add-after 'unpack 'remove-rg-path
5442 ;; Remove the path to ripgrep so that it works on remote systems.
5443 (lambda _
5444 (let ((file "rg.el"))
5445 (make-file-writable file)
5446 (emacs-substitute-sexps file
5447 ("(defcustom rg-executable" "rg"))))))))
5448 (propagated-inputs
5449 (list emacs-s emacs-wgrep ripgrep))
5450 (home-page "https://rgel.readthedocs.io/en/latest/")
5451 (synopsis "Search tool based on @code{ripgrep}")
5452 (description
5453 "@code{rg} is an Emacs search package based on the @code{ripgrep} command
5454 line tool. It allows one to interactively search based on the editing context
5455 then refine or modify the search results.")
5456 (license license:gpl3+)))
5457
5458 (define-public emacs-inf-ruby
5459 (package
5460 (name "emacs-inf-ruby")
5461 (version "2.5.2")
5462 (source
5463 (origin
5464 (method git-fetch)
5465 (uri (git-reference
5466 (url "https://github.com/nonsequitur/inf-ruby")
5467 (commit version)))
5468 (file-name (git-file-name name version))
5469 (sha256
5470 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
5471 (build-system emacs-build-system)
5472 (home-page "https://github.com/nonsequitur/inf-ruby")
5473 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
5474 (description
5475 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
5476 for easy interaction with a ruby subprocess. Features include support for
5477 detecting specific uses of Ruby, e.g. when using rails, and using a
5478 appropriate console.")
5479 (license license:gpl3+)))
5480
5481 (define-public emacs-znc
5482 (package
5483 (name "emacs-znc")
5484 (version "0.4")
5485 (source
5486 (origin
5487 (method git-fetch)
5488 (uri (git-reference
5489 (url "https://github.com/sshirokov/ZNC.el")
5490 (commit version)))
5491 (file-name (git-file-name name version))
5492 (sha256
5493 (base32 "1ran86ycnays9s23wk3iczqqgnpbyx0lijiarx65am3jc1yzg5ia"))))
5494 (build-system emacs-build-system)
5495 (home-page "https://github.com/sshirokov/ZNC.el")
5496 (synopsis "Make ERC and ZNC get along better")
5497 (description
5498 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
5499 IRC bouncer with ERC.")
5500 (license license:expat)))
5501
5502 (define-public emacs-erc-status-sidebar
5503 (let ((commit "ea4189a1dbfe60117359c36e681ad7c389e2968c")
5504 (revision "1"))
5505 (package
5506 (name "emacs-erc-status-sidebar")
5507 (version (git-version "0.1" revision commit))
5508 (source
5509 (origin
5510 (method git-fetch)
5511 (uri (git-reference
5512 (url "https://github.com/drewbarbs/erc-status-sidebar")
5513 (commit commit)))
5514 (file-name (git-file-name name version))
5515 (sha256
5516 (base32 "1hwlhzgx03z8891sblz56zdp8zj0izh72kxykgcnz5rrkyc3vfi3"))))
5517 (build-system emacs-build-system)
5518 (home-page "https://github.com/drewbarbs/erc-status-sidebar")
5519 (synopsis "Hexchat-like activity overview for ERC channels")
5520 (description
5521 "This package provides a Hexchat-like status bar for joined channels in
5522 ERC, an Emacs client for IRC (Internet Relay Chat). It relies on the
5523 @code{erc-track} module, and displays all the same information
5524 @code{erc-track} does in the mode line, but in an alternative format.")
5525 (license license:gpl3+))))
5526
5527 (define-public emacs-shut-up
5528 (package
5529 (name "emacs-shut-up")
5530 (version "0.3.3")
5531 (source
5532 (origin
5533 (method git-fetch)
5534 (uri (git-reference
5535 (url "https://github.com/cask/shut-up")
5536 (commit (string-append "v" version))))
5537 (file-name (git-file-name name version))
5538 (sha256
5539 (base32 "1bnmrwrhra6cpc3jjgwwzrydj5ps7q2dlkh2ag4j7rkyv4dlk351"))))
5540 (build-system emacs-build-system)
5541 (home-page "https://github.com/cask/shut-up")
5542 (synopsis "Silence Emacs")
5543 (description "This package silences most output of Emacs when running an
5544 Emacs shell script.")
5545 (license license:expat)))
5546
5547 (define-public emacs-undercover
5548 (package
5549 (name "emacs-undercover")
5550 (version "0.8.1")
5551 (source
5552 (origin
5553 (method git-fetch)
5554 (uri (git-reference
5555 (url "https://github.com/sviridov/undercover.el")
5556 (commit (string-append "v" version))))
5557 (file-name (git-file-name name version))
5558 (sha256
5559 (base32 "0qmvyy3xg5qi7ws8zcs934d6afsappr1a6pgfp796xpa9vdr4y6j"))))
5560 (build-system emacs-build-system)
5561 (propagated-inputs
5562 (list emacs-dash emacs-shut-up))
5563 (home-page "https://github.com/sviridov/undercover.el")
5564 (synopsis "Test coverage library for Emacs Lisp")
5565 (description
5566 "Undercover is a test coverage library for software written in Emacs
5567 Lisp.")
5568 (license license:expat)))
5569
5570 (define-public emacs-paren-face
5571 (package
5572 (name "emacs-paren-face")
5573 (version "1.0.8")
5574 (source
5575 (origin
5576 (method git-fetch)
5577 (uri (git-reference
5578 (url "https://github.com/tarsius/paren-face")
5579 (commit version)))
5580 (file-name (git-file-name name version))
5581 (sha256
5582 (base32 "13d8psgd2j3vqmgwwf62gwyq7h6qlj8rrs31fxwjqmzzdblwqy1y"))))
5583 (build-system emacs-build-system)
5584 (home-page "https://github.com/tarsius/paren-face")
5585 (synopsis "Face for parentheses in Lisp modes")
5586 (description
5587 "This library defines a face named @code{parenthesis} used just for
5588 parentheses. The intended purpose of this face is to make parentheses less
5589 visible in Lisp code by dimming them. Lispers probably don't need to be
5590 constantly made aware of the existence of the parentheses. Dimming them might
5591 be even more useful for people new to Lisp who have not yet learned to
5592 subconsciously blend out the parentheses.")
5593 (license license:gpl3+)))
5594
5595 (define-public emacs-page-break-lines
5596 (package
5597 (name "emacs-page-break-lines")
5598 (version "0.14")
5599 (source
5600 (origin
5601 (method git-fetch)
5602 (uri (git-reference
5603 (url "https://github.com/purcell/page-break-lines")
5604 (commit version)))
5605 (file-name (git-file-name name version))
5606 (sha256
5607 (base32 "0plfyzmh93x1r3zgfjyx23cc7vi1pcniipclzlms1iwfkl7zsqvp"))))
5608 (build-system emacs-build-system)
5609 (home-page "https://github.com/purcell/page-break-lines")
5610 (synopsis "Display page breaks as tidy horizontal lines")
5611 (description
5612 "This library provides a global mode which displays form feed characters
5613 as horizontal rules.")
5614 (license license:gpl3+)))
5615
5616 (define-public emacs-simple-httpd
5617 (package
5618 (name "emacs-simple-httpd")
5619 (version "1.5.1")
5620 (source
5621 (origin
5622 (method git-fetch)
5623 (uri (git-reference
5624 (url "https://github.com/skeeto/emacs-web-server")
5625 (commit version)))
5626 (file-name (git-file-name name version))
5627 (sha256
5628 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
5629 (build-system emacs-build-system)
5630 (home-page "https://github.com/skeeto/emacs-web-server")
5631 (synopsis "HTTP server in pure Emacs Lisp")
5632 (description
5633 "This package provides a simple HTTP server written in Emacs Lisp to
5634 serve files and directory listings.")
5635 (license license:unlicense)))
5636
5637 (define-public emacs-skewer-mode
5638 (package
5639 (name "emacs-skewer-mode")
5640 (version "1.8.0")
5641 (source
5642 (origin
5643 (method git-fetch)
5644 (uri (git-reference
5645 (url "https://github.com/skeeto/skewer-mode")
5646 (commit version)))
5647 (file-name (git-file-name name version))
5648 (sha256
5649 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
5650 (build-system emacs-build-system)
5651 (propagated-inputs
5652 (list emacs-simple-httpd emacs-js2-mode))
5653 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
5654 (home-page "https://github.com/skeeto/skewer-mode")
5655 (synopsis "Live web development in Emacs")
5656 (description
5657 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
5658 a web browser. Expressions are sent on-the-fly from an editing buffer to be
5659 evaluated in the browser, just like Emacs does with an inferior Lisp process
5660 in Lisp modes.")
5661 (license license:unlicense)))
5662
5663 (define-public emacs-litable
5664 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
5665 (package
5666 (name "emacs-litable")
5667 (version (git-version "0.1" "0" commit))
5668 (source (origin
5669 (method git-fetch)
5670 (uri (git-reference
5671 (url "https://github.com/Fuco1/litable")
5672 (commit commit)))
5673 (file-name (git-file-name name version))
5674 (sha256
5675 (base32
5676 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
5677 (build-system emacs-build-system)
5678 (propagated-inputs
5679 (list emacs-dash))
5680 (home-page "https://github.com/Fuco1/litable/")
5681 (synopsis "Dynamic evaluation replacement with Emacs")
5682 (description "This package provides dynamic evaluation in Emacs.")
5683 (license license:gpl3+))))
5684
5685 (define-public emacs-literate-elisp
5686 (package
5687 (name "emacs-literate-elisp")
5688 (version "0.8")
5689 (source (origin
5690 (method git-fetch)
5691 (uri (git-reference
5692 (url "https://github.com/jingtaozf/literate-elisp")
5693 (commit version)))
5694 (file-name (git-file-name name version))
5695 (sha256
5696 (base32 "0i9468rh61l4xq918fgwk6li93lpm6zbn0lkpxr7pbvkgrl5xsr6"))))
5697 (build-system emacs-build-system)
5698 (home-page "https://github.com/jingtaozf/literate-elisp/tags")
5699 (synopsis "Load Emacs Lisp code blocks from Org files")
5700 (description
5701 "Literate-Elisp is an Emacs lisp library to provide an easy way to use
5702 literal programming in Emacs lisp. It extends the Emacs load mechanism so
5703 Emacs can load Org files as Lisp source files directly.")
5704 (license license:gpl3+)))
5705
5706 (define-public emacs-literate-calc-mode
5707 (let ((commit "ba7d22140a165b0fdd900a8d04916115ca6ab8ff")
5708 (revision "2"))
5709 (package
5710 (name "emacs-literate-calc-mode")
5711 (version (git-version "0.1" revision commit))
5712 (source
5713 (origin
5714 (method git-fetch)
5715 (uri (git-reference
5716 (url "https://github.com/sulami/literate-calc-mode.el")
5717 (commit commit)))
5718 (file-name (git-file-name name version))
5719 (sha256
5720 (base32 "1bdybw44pmhfpikdv1kg2sx88546xyncks5a4b2s0ak4p66r82k3"))))
5721 (build-system emacs-build-system)
5722 (propagated-inputs
5723 (list emacs-s))
5724 (home-page "https://github.com/sulami/literate-calc-mode.el")
5725 (synopsis "Literate programming for Emacs Calc")
5726 (description
5727 "This library provides literate programming for Calc. There is both
5728 a major and a minor mode. The major mode does some basic syntax highlighting,
5729 while the minor mode only evaluates all Calc statements while typing. In
5730 particular, the minor mode works quite well with Org or Markdown modes, or
5731 other markup language major modes.")
5732 (license license:gpl3+))))
5733
5734 (define-public emacs-standard-dirs
5735 (package
5736 (name "emacs-standard-dirs")
5737 (version "2.0.0")
5738 (home-page "https://github.com/lafrenierejm/standard-dirs.el")
5739 (source
5740 (origin
5741 (method git-fetch)
5742 (uri (git-reference
5743 (url home-page)
5744 (commit version)))
5745 (file-name (git-file-name name version))
5746 (sha256
5747 (base32 "0r814qcrhvx4qlx4sdzwdmrhiryslqclx0bnpp0qcrbx6g8qfl25"))))
5748 (build-system emacs-build-system)
5749 (propagated-inputs
5750 (list emacs-f emacs-s))
5751 (synopsis "Platform-specific paths for config, cache, and other data")
5752 (description
5753 "This package provides platform-specific paths for reading and writing
5754 configuration, cache, and other data.")
5755 (license license:gpl3+)))
5756
5757 (define-public emacs-string-inflection
5758 (package
5759 (name "emacs-string-inflection")
5760 (version "1.0.16")
5761 (source
5762 (origin
5763 (method git-fetch)
5764 (uri (git-reference
5765 (url "https://github.com/akicho8/string-inflection")
5766 (commit (string-append "v" version))))
5767 (file-name (git-file-name name version))
5768 (sha256
5769 (base32 "0wskrp3v5gi3b3s9471ijkdncnfd888qd50c72rv2p8846174paj"))))
5770 (build-system emacs-build-system)
5771 (native-inputs
5772 (list emacs-ert-runner))
5773 (arguments
5774 `(#:tests? #t
5775 #:test-command '("ert-runner")))
5776 (home-page "https://github.com/akicho8/string-inflection")
5777 (synopsis "Convert symbol names between different naming conventions")
5778 (description
5779 "This Emacs package provides convenient methods for manipulating the
5780 naming style of a symbol. It supports different naming conventions such as:
5781
5782 @enumerate
5783 @item camel case
5784 @item Pascal case
5785 @item all upper case
5786 @item lower case separated by underscore
5787 @item etc...
5788 @end enumerate\n")
5789 (license license:gpl2+)))
5790
5791 (define-public emacs-stripe-buffer
5792 (package
5793 (name "emacs-stripe-buffer")
5794 (version "0.2.5")
5795 (source
5796 (origin
5797 (method git-fetch)
5798 (uri (git-reference
5799 (url "https://github.com/sabof/stripe-buffer")
5800 (commit version)))
5801 (file-name (git-file-name name version))
5802 (sha256
5803 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
5804 (build-system emacs-build-system)
5805 (home-page "https://github.com/sabof/stripe-buffer/")
5806 (synopsis "Add stripes to list buffers")
5807 (description
5808 "This Emacs package adds faces to add stripes to list buffers and org
5809 tables.")
5810 (license license:gpl2+)))
5811
5812 (define-public emacs-org-beautify-theme
5813 ;; Latest release (0.4) is not tagged, use commit hash.
5814 (let ((commit "df6a1114fda313e1689363e196c8284fbe2a2738")
5815 (revision "0"))
5816 (package
5817 (name "emacs-org-beautify-theme")
5818 (version "0.4")
5819 (source
5820 (origin
5821 (method git-fetch)
5822 (uri (git-reference
5823 (url "https://github.com/jonnay/org-beautify-theme")
5824 (commit commit)))
5825 (file-name (git-file-name name version))
5826 (sha256
5827 (base32 "1lkz7736swimad12khwbbqc4gxjydgr1k45p4mx03s25pv1w920y"))))
5828 (build-system emacs-build-system)
5829 (home-page "https://github.com/jonnay/org-beautify-theme")
5830 (synopsis "Theme to make Org mode look more beautiful")
5831 (description
5832 "The theme adds padding between headings, increases the size of titles,
5833 strike through completed TODO headings, changes Org blocks, changes Org check
5834 boxes, and more.")
5835 (license license:gpl3+))))
5836
5837 (define-public emacs-org-books
5838 (package
5839 (name "emacs-org-books")
5840 (version "0.3.0")
5841 (source
5842 (origin
5843 (method git-fetch)
5844 (uri (git-reference
5845 (url "https://github.com/lepisma/org-books")
5846 (commit version)))
5847 (file-name (git-file-name name version))
5848 (sha256
5849 (base32
5850 "1sgckvpjdaig9r2clcvs6ckgf2kx7amikkpq26y30jbnfnbskf0v"))))
5851 (build-system emacs-build-system)
5852 (propagated-inputs
5853 (list emacs-dash
5854 emacs-enlive
5855 emacs-helm
5856 emacs-helm-org
5857 emacs-org
5858 emacs-s))
5859 (home-page "https://github.com/lepisma/org-books")
5860 (synopsis "Reading list management with Org mode and Helm")
5861 (description
5862 "Org Books is a tool for managing reading lists in an Org mode file.")
5863 (license license:gpl3+)))
5864
5865 (define-public emacs-org-chef
5866 ;; Upstream does not tag version bumps. Version is extracted from "Version"
5867 ;; keyword in main file.
5868 (let ((commit "87e9a6c4844ff32f47c8d1108ec0f087a3148a8e")
5869 (revision "0"))
5870 (package
5871 (name "emacs-org-chef")
5872 (version (git-version "0.1.3" revision commit))
5873 (source
5874 (origin
5875 (method git-fetch)
5876 (uri (git-reference
5877 (url "https://github.com/Chobbes/org-chef")
5878 (commit commit)))
5879 (sha256
5880 (base32 "0xdfaf3shl3iij7nnshb5ryccqq70rpk0zm0d3fdwdbfa8rf7fkp"))))
5881 (build-system emacs-build-system)
5882 (propagated-inputs (list emacs-org))
5883 (home-page "https://github.com/Chobbes/org-chef")
5884 (synopsis "Cookbook and recipe management with Emacs Org mode")
5885 (description
5886 "Org Chef is a package for managing recipes in Org mode. One of the
5887 main features is that it can automatically extract recipes from websites like
5888 allrecipes.com.")
5889 (license license:expat))))
5890
5891 (define-public emacs-org-inline-pdf
5892 (package
5893 (name "emacs-org-inline-pdf")
5894 (version "0.2")
5895 (source (origin
5896 (method git-fetch)
5897 (uri (git-reference
5898 (url "https://github.com/shg/org-inline-pdf.el")
5899 (commit version)))
5900 (file-name (git-file-name name version))
5901 (sha256
5902 (base32
5903 "1qc92xvgxmnwjixk8bxwbc1l1jj0qk9dg73jyaip6lk4g0wjk6xf"))))
5904 (build-system emacs-build-system)
5905 (inputs
5906 (list pdf2svg))
5907 (arguments
5908 `(#:phases
5909 (modify-phases %standard-phases
5910 (add-after 'unpack 'patch-exec-paths
5911 (lambda* (#:key inputs #:allow-other-keys)
5912 (let ((pdf2svg (assoc-ref inputs "pdf2svg")))
5913 (substitute* "org-inline-pdf.el"
5914 (("\"pdf2svg\"") (string-append "\"" pdf2svg "/bin/pdf2svg\"")))))))))
5915 (home-page "https://github.com/shg/org-inline-pdf.el")
5916 (synopsis "Inline PDF previewing for Org")
5917 (description "This package provides a minor mode that enables
5918 inline PDF preview in Org buffers by using pdf2svg.")
5919 (license license:gpl3+)))
5920
5921 (define-public emacs-org-rich-yank
5922 (package
5923 (name "emacs-org-rich-yank")
5924 (version "0.2.1")
5925 (source
5926 (origin
5927 (method git-fetch)
5928 (uri (git-reference
5929 (url "https://github.com/unhammer/org-rich-yank")
5930 (commit (string-append "v" version))))
5931 (file-name (git-file-name name version))
5932 (sha256
5933 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
5934 (build-system emacs-build-system)
5935 (home-page "https://github.com/unhammer/org-rich-yank")
5936 (synopsis "Automatically surround source code pasted into Org with
5937 @code{#+BEGIN_SRC} blocks")
5938 (description
5939 "This package provides a utility function for Org buffers that makes a
5940 @code{_SRC} block with the appropriate language annotation for code that has
5941 been copied from an Emacs major mode.")
5942 (license license:gpl2+)))
5943
5944 (define-public emacs-org-fancy-priorities
5945 (let ((commit "819bb993b71e7253cefef7047306ab4e0f9d0a86")
5946 (revision "1"))
5947 (package
5948 (name "emacs-org-fancy-priorities")
5949 (version (git-version "1.1" revision commit))
5950 (source
5951 (origin
5952 (method git-fetch)
5953 (uri (git-reference
5954 (url "https://github.com/harrybournis/org-fancy-priorities.git")
5955 (commit commit)))
5956 (file-name (git-file-name name version))
5957 (sha256
5958 (base32
5959 "13cyzlx0415i953prq6ch7r5iy23c1pz116bdxi5yqags4igh4wv"))))
5960 (build-system emacs-build-system)
5961 (home-page "https://github.com/harrybournis/org-fancy-priorities")
5962 (synopsis "Display org priorities as custom strings")
5963 (description
5964 "This package provides a minor mode that displays Org priorities as
5965 custom strings. This mode does not change your files in any way, it only
5966 displays the priority part of a heading as your preferred string value.")
5967 (license license:expat))))
5968
5969 (define-public emacs-org-fragtog
5970 (package
5971 (name "emacs-org-fragtog")
5972 (version "0.4.2")
5973 (source
5974 (origin
5975 (method git-fetch)
5976 (uri (git-reference
5977 (url "https://github.com/io12/org-fragtog")
5978 (commit version)))
5979 (file-name (git-file-name name version))
5980 (sha256
5981 (base32 "1xag0pdphigk0ilrj2hacai3p6xgl27jji08aa1zlhq7p3rbay7m"))))
5982 (build-system emacs-build-system)
5983 (propagated-inputs
5984 (list emacs-org))
5985 (home-page "https://github.com/io12/org-fragtog")
5986 (synopsis "Toggle Org mode LaTeX fragments preview at cursor")
5987 (description
5988 "Org mode supports inline image previews of LaTeX fragments. This
5989 package automates this, so fragment previews are disabled for editing when
5990 your cursor steps onto them, and re-enabled when the cursor leaves.")
5991 (license license:gpl3+)))
5992
5993 (define-public emacs-ob-erlang
5994 (let ((revision "1")
5995 (commit "a029c23902b4ad73b84f262a7fc5b98d87b63dfd"))
5996 (package
5997 (name "emacs-ob-erlang")
5998 (version (git-version "20210321" revision commit))
5999 (source (origin
6000 (method git-fetch)
6001 (uri (git-reference
6002 (url "https://github.com/xfwduke/ob-erlang")
6003 (commit commit)))
6004 (file-name (git-file-name name version))
6005 (sha256
6006 (base32
6007 "1dlb9qgmijff4giglwb358g5zzyjbnay0wkr5spks1bawvyxpiyl"))))
6008 (build-system emacs-build-system)
6009 (home-page "https://github.com/xfwduke/ob-erlang/")
6010 (synopsis "Org-babel support for Erlang")
6011 (description "This package adds support for working with Erlang code
6012 blocks with @code{org-babel} in @code{org-mode}.")
6013 (license license:gpl3+))))
6014
6015 (define-public emacs-ob-restclient
6016 (let ((commit "f7449b2068498fe9d8ab9589e0a638148861533f"))
6017 (package
6018 (name "emacs-ob-restclient")
6019 (version (git-version "0.02" "2" commit))
6020 (source
6021 (origin
6022 (method git-fetch)
6023 (uri (git-reference
6024 (url "https://github.com/alf/ob-restclient.el")
6025 (commit commit)))
6026 (file-name (git-file-name name version))
6027 (sha256
6028 (base32 "0s3931w9ab3yfml2pmq71rw21yf6hpg7m3vihxyy3vs6zli1cvmq"))))
6029 (propagated-inputs
6030 (list emacs-restclient))
6031 (build-system emacs-build-system)
6032 (home-page "https://github.com/alf/ob-restclient.el")
6033 (synopsis "Org-babel functionality for @code{restclient-mode}")
6034 (description
6035 "This package integrates @code{restclient-mode} with Org.")
6036 (license license:gpl3+))))
6037
6038 (define-public emacs-org-now
6039 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
6040 (package
6041 (name "emacs-org-now")
6042 (version (git-version "0.1-pre" "1" commit))
6043 (source
6044 (origin
6045 (method git-fetch)
6046 (uri (git-reference
6047 (url "https://github.com/alphapapa/org-now")
6048 (commit commit)))
6049 (file-name (git-file-name name version))
6050 (sha256
6051 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
6052 (propagated-inputs
6053 (list emacs-dash))
6054 (build-system emacs-build-system)
6055 (home-page "https://github.com/alphapapa/org-now")
6056 (synopsis "Show current Org tasks in a sidebar")
6057 (description
6058 "This package provides commands to show Org headings in a sidebar
6059 window while working on them. After defining one heading as the \"now\"
6060 heading, other headings can be refiled to it with one command, and back to
6061 their original location with another.")
6062 (license license:gpl3+))))
6063
6064 (define-public emacs-orgmdb
6065 (package
6066 (name "emacs-orgmdb")
6067 (version "0.5")
6068 (source
6069 (origin
6070 (method git-fetch)
6071 (uri (git-reference
6072 (url "https://github.com/isamert/orgmdb.el")
6073 (commit "66c13abdb84e0f0a31bae6cfda27478771d58d8e")))
6074 (sha256
6075 (base32
6076 "1hvxha0ih9jhvwj07l6jnpf2vzhgvb6ii73g49c8saxld61l0frf"))
6077 (file-name (git-file-name name version))))
6078 (build-system emacs-build-system)
6079 (arguments
6080 (list #:phases
6081 #~(modify-phases %standard-phases
6082 (add-after 'unpack 'configure
6083 (lambda* (#:key inputs #:allow-other-keys)
6084 (substitute* "orgmdb.el"
6085 (("\"fd ")
6086 (string-append "\""
6087 (search-input-file inputs "/bin/fd")
6088 " "))))))))
6089 (inputs
6090 (list fd))
6091 (propagated-inputs
6092 (list emacs-dash emacs-org emacs-s))
6093 (home-page "https://github.com/isamert/orgmdb.el")
6094 (synopsis "Emacs' Org mode watchlist manager and OMDb API client")
6095 (description "This package adds tools for managing your watchlist in Emacs'
6096 Org mode and some functions for interacting with the OMDb API.")
6097 (license license:gpl3+)))
6098
6099 (define-public emacs-rich-minority
6100 (package
6101 (name "emacs-rich-minority")
6102 (version "1.0.3")
6103 (source
6104 (origin
6105 (method git-fetch)
6106 (uri (git-reference
6107 (url "https://github.com/Malabarba/rich-minority")
6108 (commit version)))
6109 (file-name (git-file-name name version))
6110 (sha256
6111 (base32
6112 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
6113 (build-system emacs-build-system)
6114 (home-page "https://github.com/Malabarba/rich-minority")
6115 (synopsis "Clean-up and beautify the list of minor modes")
6116 (description
6117 "This Emacs package hides and/or highlights minor modes in the
6118 mode-line.")
6119 (license license:gpl2+)))
6120
6121 (define-public emacs-robe
6122 (package
6123 (name "emacs-robe")
6124 (version "0.8.3")
6125 (source
6126 (origin
6127 (method git-fetch)
6128 (uri (git-reference
6129 (url "https://github.com/dgutov/robe")
6130 (commit version)))
6131 (file-name (git-file-name name version))
6132 (sha256
6133 (base32 "1xbj7wi389n6pxfvxrakvhylkdlqg8ll9ad2zmxggcchygwah6nl"))))
6134 (build-system emacs-build-system)
6135 (arguments
6136 '(#:include (cons "^lib\\/" %default-include)))
6137 (propagated-inputs
6138 (list emacs-inf-ruby))
6139 (home-page "https://github.com/dgutov/robe")
6140 (synopsis "Ruby code assistance tool for Emacs")
6141 (description
6142 "Robe can provide information on loaded classes and modules in Ruby code,
6143 as well as where methods are defined. This allows the user to jump to method
6144 definitions, modules and classes, display method documentation and provide
6145 method and constant name completion.")
6146 (license license:gpl3+)))
6147
6148 (define-public emacs-robot-mode
6149 (package
6150 (name "emacs-robot-mode")
6151 (version "0.6.1")
6152 (source
6153 (origin
6154 (method git-fetch)
6155 (uri (git-reference
6156 (url "https://github.com/kopoli/robot-mode")
6157 (commit version)))
6158 (file-name (git-file-name name version))
6159 (sha256
6160 (base32 "127lydk66n90ih39q8gxzb44rss2xllb7bn3ygxrf5m5vvl9w5rj"))))
6161 (build-system emacs-build-system)
6162 (home-page "https://github.com/kopoli/robot-mode")
6163 (synopsis "Emacs mode for Robot Framework")
6164 (description
6165 "This major mode facilitates editing Robot Framework source files with
6166 features such as syntax highlighting, comments, finding keywords, completing
6167 keywords and smart indentation.")
6168 (license license:gpl3+)))
6169
6170 (define-public emacs-robot-log
6171 (package
6172 (name "emacs-robot-log")
6173 (version "0.1.4")
6174 (source (origin
6175 (method git-fetch)
6176 (uri (git-reference
6177 (url "https://git.sr.ht/~apteryx/emacs-robot-log")
6178 (commit version)))
6179 (file-name (git-file-name name version))
6180 (sha256
6181 (base32
6182 "1l9yxryrhvylh2x17cczd8v8978w1nv8173d4l9hv0cr26kp5b68"))))
6183 (build-system emacs-build-system)
6184 (native-inputs (list python-robotframework))
6185 (arguments (list #:tests? #t))
6186 (home-page "https://sr.ht/~apteryx/emacs-robot-log/")
6187 (synopsis "Emacs major mode for viewing RobotFramework debug log files")
6188 (description "@code{robot-log} is an Emacs major mode that allows more
6189 easily viewing and navigating RobotFramework debug log files. It provides
6190 syntax highlighting and convenient shortcuts to move from one keyword to the
6191 next, or locate errors.")
6192 (license license:gpl3+)))
6193
6194 (define-public emacs-robots-txt-mode
6195 (package
6196 (name "emacs-robots-txt-mode")
6197 (version "0.0.9")
6198 (source (origin
6199 (method git-fetch)
6200 (uri (git-reference
6201 (url "https://github.com/emacs-php/robots-txt-mode")
6202 (commit version)))
6203 (file-name (git-file-name name version))
6204 (sha256
6205 (base32
6206 "07255pn80w4742sz2h9vbmfxxd8ps2kcn73p7m2bgy02kgbzw42b"))))
6207 (build-system emacs-build-system)
6208 (home-page "https://github.com/emacs-php/robots-txt-mode")
6209 (synopsis "Syntax highlighting for @file{robots.txt} files")
6210 (description "This package provides an Emacs major mode for editing
6211 @file{robots.txt} files.")
6212 (license license:gpl3+)))
6213
6214 (define-public emacs-roguel-ike
6215 (package
6216 (name "emacs-roguel-ike")
6217 (version "0.1.1")
6218 (source
6219 (origin
6220 (method git-fetch)
6221 (uri (git-reference
6222 (url "https://github.com/stevenremot/roguel-ike")
6223 (commit version)))
6224 (file-name (git-file-name name version))
6225 (sha256
6226 (base32 "0rgv4y9aa5cc2ddz3y5z8d22xmr8kf5c60h0r3g8h91jmcw3rb4z"))))
6227 (build-system emacs-build-system)
6228 (propagated-inputs
6229 (list emacs-popup))
6230 (arguments
6231 (list
6232 #:include #~(cons* "^roguel-ike/" "^roguel-ike-lib/" %default-include)
6233 #:phases
6234 #~(modify-phases %standard-phases
6235 (add-before 'check 'set-test-environment
6236 (lambda _
6237 (setenv "HOME" "/tmp"))))))
6238 (home-page "https://github.com/stevenremot/roguel-ike.git")
6239 (synopsis "Coffee-break roguelike for Emacs")
6240 (description
6241 "Roguel-ike is an attempt to develop a coffee-break roguelike for
6242 Emacs. The complete game would allow the player to create various characters
6243 and to make them fulfill challenges like arena fight and short dungeon
6244 explorations.")
6245 (license license:gpl3+)))
6246
6247 (define-public emacs-rspec
6248 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
6249 (revision "1"))
6250 (package
6251 (name "emacs-rspec")
6252 (version (git-version "1.11" revision commit))
6253 (source
6254 (origin
6255 (method git-fetch)
6256 (uri (git-reference
6257 (url "https://github.com/pezra/rspec-mode")
6258 (commit commit)))
6259 (file-name (git-file-name name version))
6260 (sha256
6261 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
6262 (build-system emacs-build-system)
6263 (arguments
6264 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
6265 #:tests? #t
6266 #:test-command '("make" "test")))
6267 (home-page "https://github.com/pezra/rspec-mode")
6268 (synopsis "Provides a rspec mode for working with RSpec")
6269 (description
6270 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
6271 verify the spec associated with the current buffer, or entire project, as well
6272 as moving between the spec files, and corresponding code files.
6273
6274 Also included are keybindings for spec files and Dired buffers, as well as
6275 snippets for yasnippet.")
6276 (license license:gpl3+))))
6277
6278 (define-public emacs-mode-line-idle
6279 ;; Package has no release. Version is extracted from "Version:" keyword in
6280 ;; main file.
6281 (let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241")
6282 (revision "1"))
6283 (package
6284 (name "emacs-mode-line-idle")
6285 (version (git-version "0.1" revision commit))
6286 (source
6287 (origin
6288 (method git-fetch)
6289 (file-name (git-file-name name version))
6290 (uri (git-reference
6291 (url "https://gitlab.com/ideasman42/emacs-mode-line-idle")
6292 (commit commit)))
6293 (sha256
6294 (base32 "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8"))))
6295 (build-system emacs-build-system)
6296 (home-page "https://gitlab.com/ideasman42/emacs-mode-line-idle")
6297 (synopsis "Simple delayed text evaluation for the mode-line")
6298 (description
6299 "Mode Line Idle provides a convenient way to defer text evaluation
6300 which integrates into existing mode-line without requiring a minor mode or
6301 configuration.")
6302 (license license:gpl3+))))
6303
6304 (define-public emacs-nyan-mode
6305 (package
6306 (name "emacs-nyan-mode")
6307 (version "1.1.3")
6308 (source
6309 (origin
6310 (method git-fetch)
6311 (uri (git-reference
6312 (url "https://github.com/TeMPOraL/nyan-mode/")
6313 (commit (string-append "v" version))))
6314 (sha256
6315 (base32 "0d0hdjliad8afz4br38gwidph9zhmm5s09y45n95kqlazq62jfsx"))))
6316 (build-system emacs-build-system)
6317 (arguments
6318 (list
6319 #:include #~(cons* "img/" "mus/" %default-include)
6320 #:phases
6321 #~(modify-phases %standard-phases
6322 (add-after 'unpack 'patch-sources
6323 (lambda* (#:key inputs #:allow-other-keys)
6324 (substitute* "nyan-mode.el"
6325 (("mplayer ")
6326 (string-append (search-input-file inputs "bin/mplayer")
6327 " "))))))))
6328 (inputs (list mplayer))
6329 (home-page "https://github.com/TeMPOraL/nyan-mode/")
6330 (synopsis "Nyan Cat as buffer position indicator")
6331 (description
6332 "Nyan mode is an analog indicator of your position in the buffer. The cat
6333 should go from left to right in your mode-line, as you move your point from 0%
6334 to 100%. You can click on the rainbow or the empty space to scroll backwards
6335 and forwards and also animate it.")
6336 (license license:gpl3+)))
6337
6338 (define-public emacs-smart-mode-line
6339 (package
6340 (name "emacs-smart-mode-line")
6341 (version "2.14")
6342 (source
6343 (origin
6344 (method git-fetch)
6345 (uri (git-reference
6346 (url "https://github.com/Malabarba/smart-mode-line")
6347 (commit version)))
6348 (file-name (git-file-name name version))
6349 (sha256
6350 (base32 "1h5w5lrgrmhpaqwppg5msylh7z78mvwy9mm8xiiv8w4wxvncxxl2"))))
6351 (build-system emacs-build-system)
6352 (propagated-inputs
6353 (list emacs-rich-minority))
6354 (home-page "https://github.com/Malabarba/smart-mode-line")
6355 (synopsis "Color-coded smart mode-line")
6356 (description
6357 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
6358 read from small to large monitors by using colors, a prefix feature, and smart
6359 truncation.")
6360 (license license:gpl2+)))
6361
6362 (define-public emacs-sqlite
6363 ;; XXX: There is no tagged commit.
6364 (let ((commit "dad42b8bbca4994be1871343dd18fd6528ee5797")
6365 (revision "0"))
6366 (package
6367 (name "emacs-sqlite")
6368 (build-system emacs-build-system)
6369 (version (git-version "1.0" revision commit))
6370 (source
6371 (origin
6372 (method git-fetch)
6373 (uri (git-reference
6374 (url "https://gitlab.com/cnngimenez/sqlite.el")
6375 (commit commit)))
6376 (file-name (git-file-name name version))
6377 (sha256
6378 (base32 "06ln4vijl8kii3nzc5cscgsadx1fqgxksflijd3ain83bn8g4wrd"))))
6379 (home-page "https://gitlab.com/cnngimenez/sqlite.el")
6380 (synopsis "SQLite interface for Emacs Lisp")
6381 (description "Emacs SQLite is a simple SQLite interface for connecting
6382 and retrieving information using the SQLite program through Elisp programming.
6383 It is not intended as a user interface.")
6384 (license license:gpl3+))))
6385
6386 (define-public emacs-sqlite3-api
6387 (package
6388 (name "emacs-sqlite3-api")
6389 (version "0.16")
6390 (source (origin
6391 (method git-fetch)
6392 (uri (git-reference
6393 (url "https://github.com/pekingduck/emacs-sqlite3-api")
6394 (commit (string-append "v" version))))
6395 (file-name (git-file-name name version))
6396 (sha256
6397 (base32
6398 "0yrfwb3yvhp1ib4izxh1ds68b3zw8gjkjhlk1kivarxnfjnjnly2"))))
6399 (build-system emacs-build-system)
6400 (arguments
6401 (list
6402 #:tests? (not (%current-target-system))
6403 #:test-command #~(list "make" "test" "EMACS=emacs")
6404 #:modules '((guix build emacs-build-system)
6405 (guix build emacs-utils)
6406 (guix build utils))
6407 #:phases
6408 #~(modify-phases %standard-phases
6409 (add-after 'unpack 'patch-module-load
6410 (lambda _
6411 (make-file-writable "sqlite3.el")
6412 (emacs-substitute-sexps "sqlite3.el"
6413 ("(require 'sqlite3-api nil t)"
6414 (string-append
6415 "(module-load \"" #$output "/lib/sqlite3-api.so\")")))))
6416 (add-before 'check 'build-emacs-module
6417 (lambda _
6418 ;; Remove code that fetches constants from the SQLite website
6419 ;; and the call to generate a timestamp.
6420 (invoke "sed" "--in-place" "3,4d;24,28d;31d" "tools/gen-consts.sh")
6421 ;; Remove filter logic from the script that generates the constants.
6422 (invoke "sed" "--in-place" "7,11d;18,22d" "tools/gen-consts.py")
6423 ;; Generate the consts.c file.
6424 (invoke "make" "--directory=tools")
6425 ;; Remove the SQLITE_STATIC and SQLITE_TRANSIENT
6426 ;; constants. They cause a compilation warning and would have
6427 ;; been removed by the original script.
6428 (invoke "sed" "--in-place" "/ifdef SQLITE_STATIC/,+2d" "consts.c")
6429 (invoke "sed" "--in-place" "/ifdef SQLITE_TRANSIENT/,+2d" "consts.c")
6430 ;; Compile the shared object file.
6431 (invoke "make" #$(string-append "CC=" (cc-for-target)))
6432 ;; Move the shared object file into /lib.
6433 (install-file "sqlite3-api.so"
6434 (string-append #$output "/lib")))))))
6435 (native-inputs (list python sed))
6436 (inputs (list sqlite))
6437 (home-page "https://github.com/pekingduck/emacs-sqlite3-api")
6438 (synopsis "Dynamic module for Emacs to access the SQLite C interface")
6439 (description "This package provides a dynamic module for Emacs that allows
6440 direct access to the SQLite C interface. It only exposes a subset of the full
6441 SQLite C interface, but should satisfy most user's needs.")
6442 (license license:gpl3+)))
6443
6444 (define-public emacs-sr-speedbar
6445 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
6446 (revision "0"))
6447 (package
6448 (name "emacs-sr-speedbar")
6449 (version (git-version "20161025" revision commit))
6450 (source
6451 (origin
6452 (method git-fetch)
6453 (uri (git-reference
6454 (url "https://github.com/emacsorphanage/sr-speedbar")
6455 (commit commit)))
6456 (file-name (git-file-name name version))
6457 (sha256
6458 (base32
6459 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
6460 (build-system emacs-build-system)
6461 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
6462 (synopsis "Same frame Emacs @code{speedbar}")
6463 (description
6464 "This Emacs package allows you to show @code{M-x speedbar} in the
6465 same frame (in an extra window). You can customize the initial width of
6466 the speedbar window.")
6467 (license license:gpl3+))))
6468
6469 (define-public emacs-shell-switcher
6470 (package
6471 (name "emacs-shell-switcher")
6472 (version "1.0.1")
6473 (source
6474 (origin
6475 (method git-fetch)
6476 (uri (git-reference
6477 (url "https://github.com/DamienCassou/shell-switcher")
6478 (commit (string-append "v" version))))
6479 (file-name (git-file-name name version))
6480 (sha256
6481 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
6482 (build-system emacs-build-system)
6483 (home-page "https://github.com/DamienCassou/shell-switcher")
6484 (synopsis "Provide fast switching between shell buffers")
6485 (description
6486 "This package provides commands to quickly switch between shell buffers.")
6487 (license license:gpl3+)))
6488
6489 (define-public emacs-shx
6490 (package
6491 (name "emacs-shx")
6492 (version "1.5.0")
6493 (source (origin
6494 (method git-fetch)
6495 (uri (git-reference
6496 (url "https://github.com/riscy/shx-for-emacs")
6497 (commit (string-append "v" version))))
6498 (file-name (git-file-name name version))
6499 (sha256
6500 (base32 "1cb5w6p9gnfxgh8qp7yj2f5ibpk1b4b5af3ynldaaj6yfpa8hqzn"))))
6501 (build-system emacs-build-system)
6502 (arguments
6503 `(#:tests? #t
6504 #:test-command
6505 '("emacs" "--batch" "--quiet"
6506 "--script" "test/script.el")))
6507 (home-page "https://github.com/riscy/shx-for-emacs")
6508 (synopsis "Extras for the comint-mode shell")
6509 (description
6510 "This package extends @code{comint-mode}: it parses markup in the output
6511 stream, enabling plots and graphics to be embedded, and adds command-line
6512 functions which plug into Emacs (e.g. use @code{:e <filename>} to edit a
6513 file).")
6514 (license license:gpl3+)))
6515
6516 (define-public emacs-names
6517 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
6518 (version "20151201.0")
6519 (revision "8"))
6520 (package
6521 (name "emacs-names")
6522 (version (git-version version revision commit))
6523 (source
6524 (origin
6525 (method git-fetch)
6526 (uri (git-reference
6527 (url "https://github.com/Malabarba/names")
6528 (commit commit)))
6529 (file-name (git-file-name name version))
6530 (sha256
6531 (base32
6532 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
6533 (build-system emacs-build-system)
6534 (home-page "https://github.com/Malabarba/names/")
6535 (synopsis "Namespace implementation for Emacs Lisp")
6536 (description
6537 "This package provides a macro that writes your namespaces for you.")
6538 (license license:gpl3+))))
6539
6540 (define-public emacs-nameless
6541 (package
6542 (name "emacs-nameless")
6543 (version "1.0.2")
6544 (source
6545 (origin
6546 (method git-fetch)
6547 (uri (git-reference
6548 (url "https://github.com/Malabarba/Nameless")
6549 (commit version)))
6550 (file-name (git-file-name name version))
6551 (sha256
6552 (base32 "107q1rximjnag9r9vgwh0iv687i3rsscbdnjc46f8l16j6vi4n7d"))))
6553 (build-system emacs-build-system)
6554 (home-page "https://github.com/Malabarba/nameless")
6555 (synopsis "Hide package namespace in your Emacs-lisp code")
6556 (description
6557 "This package provides a @code{nameless-mode} minor mode in which the
6558 package namespace prefix is ​​hidden by a colon.")
6559 (license license:gpl2+)))
6560
6561 (define-public emacs-evil-leader
6562 (package
6563 (name "emacs-evil-leader")
6564 (version "0.4.3")
6565 (source
6566 (origin
6567 (method git-fetch)
6568 (uri
6569 (git-reference
6570 (url "https://github.com/cofi/evil-leader")
6571 (commit version)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5"))))
6575 (inputs
6576 (list emacs-evil))
6577 (build-system emacs-build-system)
6578 (home-page "https://github.com/cofi/evil-leader")
6579 (synopsis "Implement <leader> feature from Vim")
6580 (description
6581 "Evil Leader provides the @code{<leader>} feature from Vim that provides
6582 an easy way to bind keys under a configurable prefix key.")
6583 (license license:gpl3+)))
6584
6585 (define-public emacs-evil-tex
6586 (package
6587 (name "emacs-evil-tex")
6588 (version "1.0.2")
6589 (source
6590 (origin
6591 (method git-fetch)
6592 (uri (git-reference
6593 (url "https://github.com/iyefrat/evil-tex")
6594 (commit version)))
6595 (file-name (git-file-name name version))
6596 (sha256
6597 (base32 "1wrx8ihimn1sx3vzzfppcwv0yfh3x95jrkxqvzj0ykckipm3zk0b"))))
6598 (build-system emacs-build-system)
6599 (arguments
6600 `(#:phases
6601 (modify-phases %standard-phases
6602 (add-before 'build 'set-home
6603 (lambda _ (setenv "HOME" "/tmp"))))))
6604 (propagated-inputs
6605 (list emacs-auctex emacs-evil))
6606 (home-page "https://github.com/iyefrat/evil-tex")
6607 (synopsis "Evil oriented additions for editing LaTeX")
6608 (description "This package is a toolbox for LaTeX editing with Evil. It
6609 provides many text objects fully utilizing @code{evil-surround}, some useful
6610 movements, and keymaps for quickly entering environments or
6611 @code{cdlatex}-like accents.")
6612 (license license:gpl3+)))
6613
6614 (define-public emacs-evil-textobj-syntax
6615 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
6616 (version "0")
6617 (revision "1"))
6618 (package
6619 (name "emacs-evil-textobj-syntax")
6620 (version (git-version version revision commit))
6621 (source
6622 (origin
6623 (method git-fetch)
6624 (uri (git-reference
6625 (url "https://github.com/laishulu/evil-textobj-syntax/")
6626 (commit commit)))
6627 (file-name (git-file-name name version))
6628 (sha256
6629 (base32
6630 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
6631 (build-system emacs-build-system)
6632 (propagated-inputs (list emacs-evil emacs-names))
6633 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
6634 (synopsis "Text objects based on syntax highlighting")
6635 (description
6636 "This package provides text objects for @code{evil-mode} with
6637 boundaries defined by syntax highlighting.")
6638 (license license:gpl3+))))
6639
6640 (define-public emacs-flycheck-flow
6641 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
6642 (version "1.1")
6643 (revision "1"))
6644 (package
6645 (name "emacs-flycheck-flow")
6646 (version (git-version version revision commit))
6647 (source
6648 (origin
6649 (method git-fetch)
6650 (uri (git-reference
6651 (url "https://github.com/lbolla/emacs-flycheck-flow")
6652 (commit commit)))
6653 (file-name (git-file-name name version))
6654 (sha256
6655 (base32
6656 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
6657 (build-system emacs-build-system)
6658 (propagated-inputs
6659 (list emacs-flycheck))
6660 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
6661 (synopsis "Flow support for @code{flycheck-mode}")
6662 (description
6663 "This package allows @code{flycheck-mode} to provide syntax-checking
6664 for Flow files.")
6665 (license license:gpl3+))))
6666
6667 (define-public emacs-flycheck-grammalecte
6668 (package
6669 (name "emacs-flycheck-grammalecte")
6670 (version "2.0")
6671 (source
6672 (origin
6673 (method git-fetch)
6674 (uri (git-reference
6675 (url "https://git.umaneti.net/flycheck-grammalecte/")
6676 (commit (string-append "v" version))))
6677 (file-name (git-file-name name version))
6678 (sha256
6679 (base32 "040mb9djj4cxpjsjch9i30pi36a2z7grkhnsnfdi5qyh341p4pq0"))))
6680 (build-system emacs-build-system)
6681 (arguments
6682 `(#:include (cons "\\.py$" %default-include)
6683 #:exclude '("^test-profile.el$")
6684 #:emacs ,emacs ;need libxml support
6685 #:phases
6686 (modify-phases %standard-phases
6687 (add-after 'unpack 'specify-python-location
6688 ;; Hard-code python3 executable location in the library.
6689 (lambda* (#:key inputs #:allow-other-keys)
6690 (let ((python3 (search-input-file inputs "/bin/python3")))
6691 (substitute* '("flycheck-grammalecte.el" "grammalecte.el")
6692 (("\"python3") (string-append "\"" python3)))
6693 (substitute* '("conjugueur.py" "flycheck_grammalecte.py")
6694 (("/usr/bin/env python3?") python3)))))
6695 (add-after 'unpack 'specify-grammalecte-location
6696 ;; Use our own Grammalecte.
6697 (lambda* (#:key inputs #:allow-other-keys)
6698 (make-file-writable "grammalecte.el")
6699 (emacs-substitute-variables "grammalecte.el"
6700 ("grammalecte-python-package-directory"
6701 (search-input-directory
6702 inputs
6703 (string-append "lib/python"
6704 ,(version-major+minor (package-version python))
6705 "/site-packages/grammalecte"))))))
6706 (add-after 'unpack 'do-not-phone-home
6707 ;; Do not check for Grammalecte updates, ever.
6708 (lambda _
6709 (make-file-writable "grammalecte.el")
6710 (emacs-substitute-variables "grammalecte.el"
6711 ("grammalecte-check-upstream-version-delay" 0)))))))
6712 (inputs
6713 (list grammalecte python))
6714 (propagated-inputs
6715 (list emacs-flycheck))
6716 (home-page "https://git.umaneti.net/flycheck-grammalecte/")
6717 (synopsis "Integrate Grammalecte with Flycheck")
6718 (description
6719 "Integrate the French grammar and typography checker Grammalecte with
6720 Flycheck to automatically look for mistakes in your writings. It also
6721 provides an easy way to find synonyms and antonyms for a given word (to avoid
6722 repetitions for example).")
6723 (license license:gpl3+)))
6724
6725 (define-public emacs-flycheck-guile
6726 (package
6727 (name "emacs-flycheck-guile")
6728 (version "0.4")
6729 (source
6730 (origin
6731 (method git-fetch)
6732 (uri
6733 (git-reference
6734 (url "https://github.com/flatwhatson/flycheck-guile")
6735 (commit version)))
6736 (file-name (git-file-name name version))
6737 (sha256
6738 (base32 "0hkj3y7xlbbnwagmccav620r3qngpc909pj3n5b876r8gp6rm87p"))))
6739 (propagated-inputs
6740 (list emacs-flycheck emacs-geiser emacs-geiser-guile))
6741 (build-system emacs-build-system)
6742 (home-page "https://github.com/flatwhatson/flycheck-guile")
6743 (synopsis "GNU Guile support for Flycheck")
6744 (description
6745 "This package provides a Flycheck checker for GNU Guile using @code{guild
6746 compile}.")
6747 (license license:gpl3+)))
6748
6749 (define-public emacs-flycheck-ledger
6750 (package
6751 (name "emacs-flycheck-ledger")
6752 (version "0.5")
6753 (source
6754 (origin
6755 (method git-fetch)
6756 (uri (git-reference
6757 (url "https://github.com/purcell/flycheck-ledger")
6758 (commit version)))
6759 (file-name (git-file-name name version))
6760 (sha256
6761 (base32 "1djrj3is0dzrl2703bw7bclf33dp4xqmy144q7xj5pvpb9v3kf50"))))
6762 (arguments
6763 (list
6764 #:phases
6765 #~(modify-phases %standard-phases
6766 (add-after 'unpack 'configure
6767 (lambda _
6768 (let ((ledger #$(this-package-input "ledger")))
6769 ;; Specify the absolute executable location of ledger.
6770 (substitute* "flycheck-ledger.el"
6771 (("\"ledger\"") (string-append "\"" ledger "\"")))))))))
6772 (inputs (list ledger))
6773 (propagated-inputs
6774 (list emacs-flycheck))
6775 (build-system emacs-build-system)
6776 (home-page "https://github.com/purcell/flycheck-ledger")
6777 (synopsis "Ledger support for Flycheck")
6778 (description
6779 "This Flycheck checker uses the output of @code{ledger balance} on the
6780 current file to find errors such as unbalanced transactions and syntax
6781 errors.")
6782 (license license:gpl3+)))
6783
6784 (define-public emacs-flycheck-rust
6785 (package
6786 (name "emacs-flycheck-rust")
6787 (version "1.1")
6788 (source
6789 (origin
6790 (method git-fetch)
6791 (uri
6792 (git-reference
6793 (url "https://github.com/flycheck/flycheck-rust")
6794 (commit version)))
6795 (file-name (git-file-name name version))
6796 (sha256
6797 (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"))))
6798 (propagated-inputs
6799 (list emacs-dash emacs-flycheck emacs-let-alist))
6800 (build-system emacs-build-system)
6801 (home-page "https://github.com/flycheck/flycheck-rust")
6802 (synopsis "Rust/Cargo support for Flycheck")
6803 (description
6804 "This Flycheck extension configures Flycheck automatically for
6805 the current Cargo project.")
6806 (license license:gpl3+)))
6807
6808 (define-public emacs-flycheck-package
6809 (package
6810 (name "emacs-flycheck-package")
6811 (version "0.14")
6812 (source
6813 (origin
6814 (method git-fetch)
6815 (uri (git-reference
6816 (url "https://github.com/purcell/flycheck-package")
6817 (commit version)))
6818 (file-name (git-file-name name version))
6819 (sha256
6820 (base32
6821 "00py39n1383761wq6wp194pvyk94ydqdbxj9kl64g9jnipkp7849"))))
6822 (build-system emacs-build-system)
6823 (propagated-inputs
6824 (list emacs-flycheck emacs-package-lint))
6825 (home-page "https://github.com/purcell/flycheck-package")
6826 (synopsis "Flycheck checker for elisp package metadata")
6827 (description
6828 "This library provides a flycheck checker for the metadata in Emacs Lisp
6829 files which are intended to be packages.")
6830 (license license:gpl3+)))
6831
6832 (define-public emacs-flymake-proselint
6833 (let ((commit "6a99865c7ac6474b8c5d1f9a1ae2384667f06d36")
6834 (revision "0"))
6835 (package
6836 (name "emacs-flymake-proselint")
6837 (version (git-version "0.2.3" revision commit))
6838 (source (origin
6839 (method git-fetch)
6840 (uri (git-reference
6841 (url "https://git.sr.ht/~manuel-uberti/flycheck-proselint")
6842 (commit commit)))
6843 (file-name (git-file-name name version))
6844 (sha256
6845 (base32
6846 "028ilp9h22rlawlh5ydiykvi8pryyknwi019sjyxkk2h0fza9jan"))))
6847 (build-system emacs-build-system)
6848 (arguments
6849 (list
6850 #:phases
6851 #~(modify-phases %standard-phases
6852 (add-after 'unpack 'patch-exec-paths
6853 (lambda* (#:key inputs #:allow-other-keys)
6854 (substitute* "flymake-proselint.el"
6855 (("\"proselint\"")
6856 (string-append
6857 "\"" (search-input-file inputs "/bin/proselint") "\""))))))))
6858 (propagated-inputs
6859 (list emacs-flycheck))
6860 (inputs
6861 (list python-proselint))
6862 (home-page "https://git.sr.ht/~manuel-uberti/flycheck-proselint")
6863 (synopsis "Flymake backend for @code{proselint}")
6864 (description "This package adds support for @code{proselint} in Flymake.")
6865 (license license:gpl3+))))
6866
6867 (define-public emacs-elisp-demos
6868 (package
6869 (name "emacs-elisp-demos")
6870 (version "2020.02.19")
6871 (source
6872 (origin
6873 (method git-fetch)
6874 (uri (git-reference
6875 (url "https://github.com/xuchunyang/elisp-demos")
6876 (commit version)))
6877 (file-name (git-file-name name version))
6878 (sha256
6879 (base32
6880 "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc"))))
6881 (build-system emacs-build-system)
6882 (arguments
6883 `(#:include '("\\.el$" "\\.org$")
6884 #:tests? #t
6885 #:test-command '("make" "test")))
6886 (home-page "https://github.com/xuchunyang/elisp-demos/")
6887 (synopsis "Enhance @code{*Help*} buffers with additional examples")
6888 (description
6889 "This package injects example uses of Elisp functions into their
6890 respective @code{*Help*} buffers.")
6891 (license license:gpl3+)))
6892
6893 (define-public emacs-docker-compose-mode
6894 (package
6895 (name "emacs-docker-compose-mode")
6896 (version "1.1.0")
6897 (source
6898 (origin
6899 (method git-fetch)
6900 (uri (git-reference
6901 (url "https://github.com/meqif/docker-compose-mode")
6902 (commit version)))
6903 (file-name (git-file-name name version))
6904 (sha256
6905 (base32
6906 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
6907 (build-system emacs-build-system)
6908 (propagated-inputs
6909 (list emacs-dash emacs-f emacs-yaml-mode))
6910 (home-page "https://github.com/meqif/docker-compose-mode/")
6911 (synopsis "Major mode for editing @file{docker-compose} files")
6912 (description
6913 "This is a major mode for @file{docker-compose} files that provides
6914 completion of relevant keywords.")
6915 (license license:expat)))
6916
6917 (define-public emacs-dvc
6918 (let ((revision "591") ;no tags or official releases
6919 (guix-revision "1"))
6920 (package
6921 (name "emacs-dvc")
6922 (version (string-append "0.0.0-" guix-revision "." revision))
6923 (source
6924 (origin
6925 (method bzr-fetch)
6926 (uri (bzr-reference
6927 (url "lp:dvc")
6928 (revision revision)))
6929 (sha256
6930 (base32 "03pqn493w70wcpgaxvqnfgynxghw114l9pyiv3r414d84vzhan6h"))
6931 (file-name (string-append name "-" version "-checkout"))))
6932 (build-system gnu-build-system)
6933 (arguments
6934 (list
6935 #:modules `((guix build gnu-build-system)
6936 ((guix build emacs-build-system) #:prefix emacs:)
6937 (guix build utils))
6938 #:imported-modules `(,@%gnu-build-system-modules
6939 (guix build emacs-build-system)
6940 (guix build emacs-utils))
6941 #:configure-flags
6942 #~(list (string-append "--with-lispdir="
6943 (emacs:elpa-directory #$output)))
6944 #:tests? #f ;no test suite
6945 #:phases
6946 #~(modify-phases %standard-phases
6947 (add-before 'build 'set-home
6948 ;; Something in dvc-bookmarks.el attempts to write config files
6949 ;; in $HOME during the autoload generation.
6950 (lambda _ (setenv "HOME" (getenv "TMPDIR"))))
6951 (add-before 'build 'fix-texinfo
6952 ;; See https://bugs.launchpad.net/dvc/+bug/1264383.
6953 (lambda _
6954 (substitute* "texinfo/dvc-intro.texinfo"
6955 (("@itemx update ``to''") "@item update ``to''")
6956 (("@itemx brief") "@item brief")
6957 (("@itemx full") "@item full")
6958 (("@itemx drop") "@item drop")
6959 (("@itemx left file") "@item left file")))))))
6960 (native-inputs
6961 (list autoconf automake emacs-minimal texinfo))
6962 (home-page "http://xsteve.at/prg/emacs_dvc/index.html")
6963 (synopsis "Emacs front-end for various distributed version control systems")
6964 (description "DVC is a legacy Emacs front-end for a number of
6965 distributed version control systems. It currently supports GNU Arch, GNU
6966 Bazaar, git, Mercurial, and Monotone. It also provides some integration with
6967 Gnus, e.g., for applying patches received by email.")
6968 (license license:gpl2+))))
6969
6970 (define-public emacs-sudo-edit
6971 (package
6972 (name "emacs-sudo-edit")
6973 (version "0.1.1")
6974 (source
6975 (origin
6976 (method git-fetch)
6977 (uri (git-reference
6978 (url "https://github.com/nflath/sudo-edit")
6979 (commit (string-append "v" version))))
6980 (file-name (git-file-name name version))
6981 (sha256
6982 (base32 "1hncxbg5lvywzkwvdmzvrz71midy4samjq2vvxxhz90z1y5l8l29"))))
6983 (build-system emacs-build-system)
6984 (native-inputs
6985 (list emacs-undercover))
6986 (arguments
6987 (list
6988 #:emacs emacs
6989 #:phases
6990 #~(modify-phases %standard-phases
6991 (add-before 'check 'fix-makefile
6992 (lambda _
6993 (substitute* "Makefile"
6994 (("\\$\\(CASK\\) exec ") "")))))
6995 #:tests? #t
6996 #:test-command #~(list "make" "test")))
6997 (home-page "https://github.com/nflath/sudo-edit/")
6998 (synopsis "Open files as another user")
6999 (description
7000 "This package allows editing files as another user, including the root
7001 user.")
7002 (license license:gpl3+)))
7003
7004 (define-public emacs-subed
7005 (package
7006 (name "emacs-subed")
7007 (version "1.0.12")
7008 (source (origin
7009 (method url-fetch)
7010 (uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
7011 version ".tar"))
7012 (sha256
7013 (base32
7014 "175bvnya6sbf4ikvcv4knb7mkn42wzp0jhnz9dns7y0s2f6d8fhd"))))
7015 (arguments
7016 (list
7017 #:tests? #t
7018 #:test-command #~(list "make" "test-only")))
7019 (native-inputs
7020 (list emacs-buttercup))
7021 (build-system emacs-build-system)
7022 (home-page "https://elpa.nongnu.org/nongnu/subed.html")
7023 (synopsis "Major mode for editing subtitles")
7024 (description
7025 "@code{subed} is an Emacs major mode for editing subtitles while playing
7026 the corresponding video with @code{mpv}. At the moment, the only supported
7027 formats are SubRip (@file{.srt}), WebVTT (@file{.vtt}), and Advanced
7028 SubStation Alpha (@file{.ass}).")
7029 (license license:gpl3+)))
7030
7031 (define-public emacs-miniedit
7032 (package
7033 (name "emacs-miniedit")
7034 (version "2.0")
7035 (source
7036 (origin
7037 (method git-fetch)
7038 (uri (git-reference
7039 (url "https://github.com/emacsmirror/miniedit")
7040 (commit version)))
7041 (file-name (git-file-name name version))
7042 (sha256
7043 (base32
7044 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
7045 (build-system emacs-build-system)
7046 (home-page "https://github.com/emacsmirror/miniedit/")
7047 (synopsis "Enhanced editing for minibuffer fields")
7048 (description
7049 "This package provides a function that can be called from the
7050 minibuffer to enable editing the minibuffer input in another buffer with
7051 @code{text-mode} enabled.")
7052 (license license:gpl2+)))
7053
7054 (define-public emacs-ob-ipython
7055 (package
7056 (name "emacs-ob-ipython")
7057 (version "20180224")
7058 (source (origin
7059 (method git-fetch)
7060 (uri (git-reference
7061 (commit "7147455230841744fb5b95dcbe03320313a77124")
7062 (url "https://github.com/gregsexton/ob-ipython")))
7063 (file-name (git-file-name name version))
7064 (sha256
7065 (base32
7066 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
7067 (build-system emacs-build-system)
7068 (propagated-inputs
7069 (list emacs-f))
7070 (home-page "http://www.gregsexton.org")
7071 (synopsis "Org-Babel functions for IPython evaluation")
7072 (description "This package adds support to Org-Babel for evaluating Python
7073 source code using IPython.")
7074 (license license:gpl3+)))
7075
7076 (define-public emacs-ob-async
7077 (package
7078 (name "emacs-ob-async")
7079 (version "1.0.0")
7080 (source
7081 (origin
7082 (method git-fetch)
7083 (uri (git-reference
7084 (url "https://github.com/astahlman/ob-async")
7085 (commit (string-append "v" version))))
7086 (file-name (git-file-name name version))
7087 (sha256
7088 (base32 "10x4hxrjm4pr6vg42a961h9ilqzyd0l0fv7fsbq9clxi439f1nd6"))))
7089 (build-system emacs-build-system)
7090 (propagated-inputs
7091 (list emacs-async emacs-dash))
7092 (home-page "https://github.com/astahlman/ob-async")
7093 (synopsis "Asynchronous src_block execution for org-babel")
7094 (description "@code{ob-async} enables asynchronous execution of org-babel
7095 src blocks.")
7096 (license license:gpl3+)))
7097
7098 (define-public emacs-ol-notmuch
7099 (let ((commit "1a53d6c707514784cabf33d865b577bf77f45913")
7100 (revision "0"))
7101 (package
7102 (name "emacs-ol-notmuch")
7103 (version (git-version "2.0.0" revision commit))
7104 (source
7105 (origin
7106 (method git-fetch)
7107 (uri (git-reference
7108 (url "https://git.sr.ht/~tarsius/ol-notmuch")
7109 (commit commit)))
7110 (sha256
7111 (base32
7112 "16p7j51z8r047alwn2hkb6944f7ds29ckb97b4k8ia00vwch0d67"))
7113 (file-name (git-file-name name version))))
7114 (build-system emacs-build-system)
7115 (propagated-inputs
7116 (list emacs-compat emacs-notmuch emacs-org))
7117 (home-page "https://git.sr.ht/~tarsius/ol-notmuch")
7118 (synopsis "Links to notmuch messages for Emacs' Org mode")
7119 (description
7120 "This package implements links to Notmuch messages and searches for
7121 Emacs' Org mode. A search is a query to be performed by Notmuch; it is the
7122 equivalent to folders in other mail clients. Similarly, mails are referred to
7123 by a query, so both a link can refer to several mails.")
7124 (license license:gpl3+))))
7125
7126 (define-public emacs-debbugs
7127 (package
7128 (name "emacs-debbugs")
7129 (version "0.34")
7130 (source
7131 (origin
7132 (method url-fetch)
7133 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
7134 version ".tar"))
7135 (sha256
7136 (base32 "06nxia4myhysiw12vsflgllrp9nyhmjnybrrcl1vyf4pw0fc6yrx"))))
7137 (build-system emacs-build-system)
7138 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
7139 (propagated-inputs
7140 (list emacs-soap-client))
7141 (home-page "https://elpa.gnu.org/packages/debbugs.html")
7142 (synopsis "Access the Debbugs bug tracker in Emacs")
7143 (description
7144 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
7145 Tracker} from within Emacs.
7146
7147 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
7148 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
7149 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
7150 @code{M-x debbugs-org} and related commands.
7151
7152 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
7153 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
7154 (license license:gpl3+)))
7155
7156 (define-public emacs-piem
7157 (package
7158 (name "emacs-piem")
7159 (version "0.4.0")
7160 (source
7161 (origin
7162 (method git-fetch)
7163 (uri (git-reference
7164 (url "https://git.kyleam.com/piem")
7165 (commit (string-append "v" version))))
7166 (file-name (string-append name "-" version "-checkout"))
7167 (sha256
7168 (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
7169 (build-system emacs-build-system)
7170 (arguments
7171 (list #:phases
7172 #~(modify-phases %standard-phases
7173 (add-after 'unpack 'configure
7174 (lambda* (#:key inputs #:allow-other-keys)
7175 (emacs-substitute-variables "piem-b4.el"
7176 ("piem-b4-b4-executable"
7177 (search-input-file inputs "/bin/b4"))))))))
7178 (inputs
7179 (list b4))
7180 (propagated-inputs
7181 (list emacs-elfeed
7182 emacs-notmuch
7183 emacs-transient))
7184 (home-page "https://docs.kyleam.com/piem")
7185 (synopsis "Glue for working with public-inbox archives")
7186 (description "This package provides a collection of Emacs libraries for
7187 working with public-inbox archives. As much of the hard work here is already
7188 done by other Emacs libraries—things like mail clients, news readers, Git
7189 interfaces, and even web browsers—piem is mostly about bridging some of these
7190 parts for convenience.")
7191 (license license:gpl3+)))
7192
7193 (define-public emacs-ert-expectations
7194 (package
7195 (name "emacs-ert-expectations")
7196 (version "0.2")
7197 (source
7198 (origin
7199 (method url-fetch)
7200 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
7201 (sha256
7202 (base32
7203 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
7204 (build-system emacs-build-system)
7205 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
7206 (synopsis "Simple unit test framework for Emacs Lisp")
7207 (description "@code{emacs-ert-expectations} is a simple unit test
7208 framework for Emacs Lisp to be used with @code{ert}.")
7209 (license license:gpl3+)))
7210
7211 (define-public emacs-deferred
7212 (package
7213 (name "emacs-deferred")
7214 (version "0.5.1")
7215 (home-page "https://github.com/kiwanami/emacs-deferred")
7216 (source
7217 (origin
7218 (method git-fetch)
7219 (uri (git-reference
7220 (url home-page)
7221 (commit (string-append "v" version))))
7222 (file-name (git-file-name name version))
7223 (sha256
7224 (base32 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))
7225 (patches
7226 (search-patches "emacs-deferred-fix-number-of-arguments.patch"))))
7227 (build-system emacs-build-system)
7228 (arguments
7229 `(#:phases
7230 (modify-phases %standard-phases
7231 (add-after 'unpack 'set-shell
7232 ;; Setting the SHELL environment variable is required for the tests
7233 ;; to find sh.
7234 (lambda _
7235 (setenv "SHELL" (which "sh"))))
7236 (add-before 'check 'fix-makefile
7237 (lambda _
7238 (substitute* "Makefile"
7239 (("\\$\\(CASK\\) exec ") "")))))
7240 #:tests? #t
7241 #:test-command '("make" "test")))
7242 (native-inputs
7243 (list emacs-ert-expectations emacs-ert-runner emacs-undercover))
7244 (synopsis "Simple asynchronous functions for Emacs Lisp")
7245 (description
7246 "The @code{deferred.el} library provides support for asynchronous tasks.
7247 The API is almost the same as that of
7248 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
7249 for asynchronous tasks.")
7250 (license license:gpl3+)))
7251
7252 (define-public emacs-butler
7253 (package
7254 (name "emacs-butler")
7255 (version "0.2.6")
7256 (home-page "https://github.com/AshtonKem/Butler")
7257 (source (origin
7258 (method git-fetch)
7259 (uri (git-reference
7260 (url home-page)
7261 (commit version)))
7262 (file-name (git-file-name name version))
7263 (sha256
7264 (base32
7265 "1wsk5isza8xqr84w6haal95ssifz6j2lrr5phbsdc90jb9hicbff"))))
7266 (build-system emacs-build-system)
7267 (propagated-inputs
7268 (list emacs-deferred))
7269 (synopsis "Emacs client for Jenkins")
7270 (description
7271 "Butler provides an interface to connect to Jenkins continuous
7272 integration servers. Users can specify a list of server in the
7273 @code{butler-server-list} variable and then use @code{M-x butler-status} to
7274 view the build status of those servers' build jobs, and possibly to trigger
7275 build jobs.")
7276 (license license:gpl3+)))
7277
7278 (define-public emacs-zmq
7279 (package
7280 (name "emacs-zmq")
7281 (version "0.10.10")
7282 (source
7283 (origin
7284 (method git-fetch)
7285 (uri (git-reference
7286 (url "https://github.com/nnicandro/emacs-zmq")
7287 (commit (string-append "v" version))))
7288 (file-name (git-file-name name version))
7289 (sha256
7290 (base32 "0ngxm5mm0kqgvn8977ryrngamx0khzlw86d8vz5s0jhm2kgwnqp8"))))
7291 (build-system emacs-build-system)
7292 (arguments
7293 `(#:tests? #f ; no tests
7294 #:phases
7295 (modify-phases %standard-phases
7296 (add-after 'unpack 'configure
7297 (lambda _
7298 (invoke "make" "src/configure")
7299 (substitute* "src/configure"
7300 (("/bin/sh") (which "sh"))
7301 (("/usr/bin/file") (which "file")))
7302 (invoke "make")))
7303 (add-after 'install 'install-shared-object
7304 (lambda* (#:key inputs outputs #:allow-other-keys)
7305 (let* ((out (assoc-ref outputs "out"))
7306 (site-lisp (string-append out "/share/emacs/site-lisp"))
7307 (libdir (string-append site-lisp "/zmq-0.10.10")))
7308 (copy-file "emacs-zmq.so"
7309 (string-append libdir "/emacs-zmq.so"))))))))
7310 (native-inputs
7311 (list autoconf automake libtool pkg-config))
7312 (inputs
7313 (list zeromq))
7314 (home-page "https://github.com/nnicandro/emacs-zmq")
7315 (synopsis "Emacs bindings to ØMQ")
7316 (description "This package provides Emacs bindings to ØMQ.")
7317 (license (list license:gpl2+ ;zmq.el
7318 license:gpl3+)))) ;src/emacs-module.h
7319
7320 (define-public emacs-tup-mode
7321 (package
7322 (name "emacs-tup-mode")
7323 (version "1.3.1")
7324 (source
7325 (origin
7326 (method git-fetch)
7327 (uri (git-reference
7328 (url "https://github.com/ejmr/tup-mode")
7329 (commit (string-append "v" version))))
7330 (file-name (git-file-name name version))
7331 (sha256
7332 (base32 "0asd024n5v23wdsg1959sszq568wg3a1bp4jrk0cllfji1z0n78y"))))
7333 (build-system emacs-build-system)
7334 (home-page "https://github.com/ejmr/tup-mode")
7335 (synopsis "Major mode for editing ``tupfiles'' used by the Tup build system")
7336 (description
7337 "Tup mode provides syntax highlighting for all of the elements of
7338 tupfiles, such as rule definitions, user-defined variables, macros, flags, bin
7339 variables, and so on. The mode also allows you to execute Tup commands.")
7340 (license license:gpl3+)))
7341
7342 (define-public emacs-compat
7343 (package
7344 (name "emacs-compat")
7345 (version "28.1.1.2")
7346 (source (origin
7347 (method git-fetch)
7348 (uri (git-reference
7349 (url "https://git.sr.ht/~pkal/compat")
7350 (commit version)))
7351 (file-name (git-file-name name version))
7352 (sha256
7353 (base32
7354 "19abp29rnbkw91q0h2yqm2z7awzzjhci8h6v875g5ahvplrp6337"))))
7355 (build-system emacs-build-system)
7356 (propagated-inputs (list emacs-nadvice))
7357 (home-page "https://git.sr.ht/~pkal/compat")
7358 (synopsis "Emacs Lisp Compatibility Library")
7359 (description
7360 "To allow for the usage of Emacs functions and macros that are defined
7361 in newer versions of Emacs, @code{compat.el} provides definitions that
7362 are installed ONLY if necessary. These reimplementations of functions
7363 and macros are at least subsets of the actual implementations. Be
7364 sure to read the documentation string to make sure.
7365
7366 Not every function provided in newer versions of Emacs is provided
7367 here. Some depend on new features from the core, others cannot be
7368 implemented to a meaningful degree. The main audience for this
7369 library are not regular users, but package maintainers. Therefore
7370 commands and user options are usually not implemented here.")
7371 (license license:gpl3+)))
7372
7373 (define-public emacs-company
7374 (package
7375 (name "emacs-company")
7376 (version "0.9.13")
7377 (source
7378 (origin
7379 (method url-fetch)
7380 (uri (string-append "https://elpa.gnu.org/packages/"
7381 "company-" version ".tar"))
7382 (sha256
7383 (base32 "1c9x9wlzzsn7vrsm57l2l44nqx455saa6wrm853szzg09qn8dlnw"))))
7384 (build-system emacs-build-system)
7385 (home-page "https://company-mode.github.io/")
7386 (synopsis "Modular text completion framework")
7387 (description
7388 "Company is a modular completion mechanism. Modules for retrieving
7389 completion candidates are called back-ends, modules for displaying them are
7390 front-ends. Company comes with many back-ends, e.g., @code{company-elisp}.
7391 These are distributed in separate files and can be used individually.")
7392 (license license:gpl3+)))
7393
7394 (define-public emacs-company-box
7395 ;; There is no release yet. Version is extracted from the main
7396 ;; file.
7397 (let ((version "0.0.1")
7398 (revision "0")
7399 (commit "be37a9a30dc112ab172af21af694e2cb04a74f85"))
7400 (package
7401 (name "emacs-company-box")
7402 (version (git-version version revision commit))
7403 (source
7404 (origin
7405 (method git-fetch)
7406 (uri (git-reference
7407 (url "https://github.com/sebastiencs/company-box")
7408 (commit commit)))
7409 (file-name (git-file-name name version))
7410 (sha256
7411 (base32 "13fgmdy51gqdwijqfvb784pirx4lgva0y7ysi0c3fcx8f82cdj59"))))
7412 (build-system emacs-build-system)
7413 (propagated-inputs
7414 (list emacs-company emacs-dash emacs-frame-local))
7415 (home-page "https://github.com/sebastiencs/company-box")
7416 (synopsis "Company front-end with icons")
7417 (description
7418 "Company box is a Company front-end. It supports different
7419 colors for different backends, associates icons to functions,
7420 variables... and their backends, and displays candidate's
7421 documentation. It is not limited by the current window size or
7422 buffer's text properties.
7423
7424 This package is not compatible with a TTY.")
7425 (license license:gpl3+))))
7426
7427 (define-public emacs-company-posframe
7428 (package
7429 (name "emacs-company-posframe")
7430 (version "0.5.0")
7431 (source (origin
7432 (method git-fetch)
7433 (uri (git-reference
7434 (url "https://github.com/tumashu/company-posframe")
7435 (commit (string-append "v" version))))
7436 (file-name (git-file-name name version))
7437 (sha256
7438 (base32
7439 "05ays6xkqbxcfplvx7wfc2slflmwc3aw7vkixvabk0ilvisndvgm"))))
7440 (build-system emacs-build-system)
7441 (propagated-inputs
7442 (list emacs-company emacs-posframe))
7443 (home-page "https://github.com/tumashu/company-posframe")
7444 (synopsis "Use a posframe for @code{emacs-company}'s candidate menu")
7445 (description
7446 "Allows @code{emacs-company} to use child frames for its candidate menus.
7447
7448 @code{emacs-company-posframe} is fast enough for daily use and supports CJK
7449 languages.")
7450 (license license:gpl3+)))
7451
7452 (define-public emacs-irony-mode
7453 (package
7454 (name "emacs-irony-mode")
7455 (version "1.5.0")
7456 (home-page "https://github.com/Sarcasm/irony-mode")
7457 (source
7458 (origin
7459 (method git-fetch)
7460 (uri (git-reference
7461 (url (string-append home-page ".git"))
7462 (commit (string-append "v" version))))
7463 (file-name (git-file-name name version))
7464 (sha256
7465 (base32 "1ilvfqn7hzrjjy2zrv08dbdnmgksdgsmrdcvx05s8704430ag0pb"))))
7466 (build-system emacs-build-system)
7467 (arguments
7468 (list
7469 #:phases
7470 #~(modify-phases %standard-phases
7471 (add-after 'unpack 'configure
7472 (lambda _
7473 (chmod "irony.el" #o644)
7474 (emacs-substitute-variables "irony.el"
7475 ("irony-server-install-prefix" #$emacs-irony-mode-server)))))))
7476 (inputs (list emacs-irony-mode-server))
7477 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
7478 (description "Irony-mode provides Clang-assisted syntax checking and
7479 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
7480 provide syntax checking and autocompletion on compiler level which is very
7481 resistant against false positives. It also integrates well with other
7482 packages like @code{eldoc-mode} and especially @code{company-mode} as
7483 described on the homepage.")
7484 (license license:gpl3+)))
7485
7486 (define-public emacs-irony-mode-server
7487 (package
7488 (inherit emacs-irony-mode)
7489 (name "emacs-irony-mode-server")
7490 (arguments
7491 `(#:phases
7492 (modify-phases %standard-phases
7493 (replace 'configure
7494 (lambda* (#:key outputs #:allow-other-keys)
7495 (let ((out (assoc-ref outputs "out")))
7496 (invoke "cmake"
7497 "server"
7498 (string-append "-DCMAKE_INSTALL_PREFIX=" out))))))))
7499 (inputs
7500 (list clang))
7501 (build-system cmake-build-system)
7502 (synopsis "Server for the Emacs @dfn{irony mode}")))
7503
7504 (define-public emacs-company-irony
7505 (package
7506 (name "emacs-company-irony")
7507 (version "1.1.1")
7508 (source
7509 (origin
7510 (method git-fetch)
7511 (uri (git-reference
7512 (url "https://github.com/Sarcasm/company-irony")
7513 (commit (string-append "v" version))))
7514 (sha256
7515 (base32 "1d3jw0d4zymznri86a5iixyxnw16jzkkrbhrh657ys73189c1c73"))
7516 (file-name (git-file-name name version))))
7517 (build-system emacs-build-system)
7518 (inputs
7519 (list emacs-company emacs-irony-mode))
7520 (synopsis "C++ completion backend for Company using Irony mode")
7521 (description "This backend for Company allows for C++ code completion
7522 with Irony mode using Clang tooling.")
7523 (home-page "https://github.com/Sarcasm/company-irony")
7524 (license license:gpl3+)))
7525
7526 (define-public emacs-flycheck-irony
7527 (package
7528 (name "emacs-flycheck-irony")
7529 (version "0.1.0")
7530 (source (origin
7531 (method git-fetch)
7532 (uri (git-reference
7533 (url "https://github.com/Sarcasm/flycheck-irony")
7534 (commit (string-append "v" version))))
7535 (file-name (git-file-name name version))
7536 (sha256
7537 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
7538 (build-system emacs-build-system)
7539 (inputs
7540 (list emacs-irony-mode emacs-flycheck emacs-company))
7541 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
7542 (description "This package provides a frontend for Flycheck that lets
7543 irony-mode do the syntax checking.")
7544 (home-page "https://github.com/Sarcasm/flycheck-irony")
7545 (license license:gpl3+)))
7546
7547 (define-public emacs-irony-eldoc
7548 (package
7549 (name "emacs-irony-eldoc")
7550 (version (package-version emacs-irony-mode))
7551 (source
7552 (origin
7553 (method git-fetch)
7554 (uri (git-reference
7555 (url "https://github.com/ikirill/irony-eldoc")
7556 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
7557 (file-name (git-file-name name version))
7558 (sha256
7559 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
7560 (build-system emacs-build-system)
7561 (inputs
7562 (list emacs-irony-mode))
7563 (synopsis "Eldoc integration for irony-mode")
7564 (description "Irony-eldoc is an eldoc extension that shows documentation
7565 for the current function or variable in the minibuffer.")
7566 (home-page "https://github.com/ikirill/irony-eldoc")
7567 (license license:gpl3+)))
7568
7569 (define-public emacs-company-quickhelp
7570 (package
7571 (name "emacs-company-quickhelp")
7572 (version "2.3.0")
7573 (source
7574 (origin
7575 (method git-fetch)
7576 (uri (git-reference
7577 (url "https://github.com/expez/company-quickhelp")
7578 (commit version)))
7579 (file-name (git-file-name name version))
7580 (sha256
7581 (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr"))))
7582 (build-system emacs-build-system)
7583 (propagated-inputs
7584 (list emacs-pos-tip emacs-company))
7585 (home-page "https://github.com/expez/company-quickhelp")
7586 (synopsis "Popup documentation for completion candidates")
7587 (description "@code{company-quickhelp} shows documentation for the
7588 completion candidate when using the Company text completion framework.")
7589 (license license:gpl3+)))
7590
7591 (define-public emacs-math-symbol-lists
7592 (package
7593 (name "emacs-math-symbol-lists")
7594 (version "1.3")
7595 (source
7596 (origin
7597 (method git-fetch)
7598 (uri (git-reference
7599 (url "https://github.com/vspinu/math-symbol-lists")
7600 (commit (string-append "v" version))))
7601 (file-name (git-file-name name version))
7602 (sha256
7603 (base32 "1r2i600356k8g0l53s4b5xc24flpka664i8f23zbj4h7gk1g2787"))))
7604 (build-system emacs-build-system)
7605 (home-page "https://github.com/vspinu/math-symbol-lists")
7606 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
7607 (description "This is a storage package used by completion engines like
7608 @code{company-math}.")
7609 (license license:gpl3+)))
7610
7611 (define-public emacs-company-coq
7612 (package
7613 (name "emacs-company-coq")
7614 (version "1.0.1")
7615 (source
7616 (origin
7617 (method git-fetch)
7618 (uri
7619 (git-reference
7620 (url "https://github.com/cpitclaudel/company-coq")
7621 (commit version)))
7622 (file-name (git-file-name name version))
7623 (sha256
7624 (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b"))))
7625 (inputs
7626 (list emacs-company emacs-company-math emacs-dash emacs-yasnippet))
7627 (build-system emacs-build-system)
7628 (home-page "https://github.com/cpitclaudel/company-coq")
7629 (synopsis "Emacs extensions for Proof General's Coq mode")
7630 (description "This package includes a collection of Company mode backends
7631 for Proof-General's Coq mode, and many useful extensions to Proof-General. It
7632 features:
7633
7634 @itemize
7635 @item Prettification of operators, types, and subscripts,
7636 @item Auto-completion,
7637 @item Insertion of cases,
7638 @item Fully explicit intros,
7639 @item Outlines, code folding, and jumping to definition,
7640 @item Help with errors,
7641 @item and more.
7642 @end itemize")
7643 (license license:gpl3+)))
7644
7645 (define-public emacs-company-math
7646 (package
7647 (name "emacs-company-math")
7648 (version "1.4")
7649 (source
7650 (origin
7651 (method git-fetch)
7652 (uri (git-reference
7653 (url "https://github.com/vspinu/company-math")
7654 (commit (string-append "v" version))))
7655 (file-name (git-file-name name version))
7656 (sha256
7657 (base32 "1y1fw926insgdl7ib9ynxjrxf3p6wfjkfxvf5vgdca7267cvcll1"))))
7658 (build-system emacs-build-system)
7659 (propagated-inputs
7660 (list emacs-math-symbol-lists emacs-company))
7661 (home-page "https://github.com/vspinu/company-math")
7662 (synopsis "Completion backends for math symbols and @code{LaTeX} tags")
7663 (description
7664 "This package provides a backend for use with Company mode allowing for
7665 completion of common math symbols.")
7666 (license license:gpl3+)))
7667
7668 (define-public emacs-compdef
7669 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
7670 (revision "2"))
7671 (package
7672 (name "emacs-compdef")
7673 (version (git-version "0.2" revision commit))
7674 (source
7675 (origin
7676 (method git-fetch)
7677 (uri (git-reference
7678 (url "https://gitlab.com/jjzmajic/compdef.git")
7679 (commit commit)))
7680 (file-name (git-file-name name version))
7681 (sha256
7682 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
7683 (build-system emacs-build-system)
7684 (home-page "https://gitlab.com/jjzmajic/compdef")
7685 (synopsis "Set local completion backends")
7686 (description "This package provides a function to cleanly set local
7687 completion backends according to mode, and integrates with
7688 @code{use-package}.")
7689 (license license:gpl3+))))
7690
7691 (define-public emacs-icomplete-vertical
7692 (package
7693 (name "emacs-icomplete-vertical")
7694 (version "0.3")
7695 (source
7696 (origin
7697 (method git-fetch)
7698 (uri (git-reference
7699 (url "https://github.com/oantolin/icomplete-vertical")
7700 (commit version)))
7701 (file-name (git-file-name name version))
7702 (sha256
7703 (base32 "02v190pb802vck7di39jyf5prvmfsgcxln8mgwsls2b4clx9da97"))))
7704 (build-system emacs-build-system)
7705 (home-page "https://github.com/oantolin/icomplete-vertical")
7706 (synopsis "Display Icomplete candidates vertically")
7707 (description
7708 "This package defines a global minor mode to display Icomplete
7709 completion candidates vertically.")
7710 (license license:gpl3+)))
7711
7712 (define-public emacs-handle
7713 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
7714 (revision "2"))
7715 (package
7716 (name "emacs-handle")
7717 (version (git-version "0.1" revision commit))
7718 (source
7719 (origin
7720 (method git-fetch)
7721 (uri (git-reference
7722 (url "https://gitlab.com/jjzmajic/handle.git")
7723 (commit commit)))
7724 (file-name (git-file-name name version))
7725 (sha256
7726 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
7727 (build-system emacs-build-system)
7728 (propagated-inputs
7729 (list emacs-parent-mode))
7730 (home-page "https://gitlab.com/jjzmajic/handle")
7731 (synopsis "Handle generic functions across related major modes")
7732 (description "This package provides generic functions that specialize on
7733 major modes and intended purpose rather than on arguments. Different
7734 callables for tasks like expression evaluation, definition-jumping, and more
7735 can now be grouped accordingly and tried in sequence until one of them
7736 succeeds.")
7737 (license license:gpl3+))))
7738
7739 (define-public emacs-nswbuff
7740 (package
7741 (name "emacs-nswbuff")
7742 (version "1.3")
7743 (source
7744 (origin
7745 (method git-fetch)
7746 (uri (git-reference
7747 (url "https://github.com/joostkremers/nswbuff")
7748 (commit version)))
7749 (file-name (git-file-name name version))
7750 (sha256
7751 (base32 "0bkx7mwy3zbb0ixawvn4cysxk3jjc7ahssvdprvw19ls9xx3wbsp"))))
7752 (build-system emacs-build-system)
7753 (home-page "https://github.com/joostkremers/nswbuff")
7754 (synopsis "Quickly switch between buffers")
7755 (description "This package allows for navigating between buffers within
7756 a customizable list.")
7757 (license license:gpl3+)))
7758
7759 (define-public emacs-phi-search
7760 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
7761 (revision "1"))
7762 (package
7763 (name "emacs-phi-search")
7764 (version (git-version "20160630" revision commit))
7765 (source
7766 (origin
7767 (method git-fetch)
7768 (uri (git-reference
7769 (url "https://github.com/zk-phi/phi-search")
7770 (commit commit)))
7771 (file-name (git-file-name name version))
7772 (sha256
7773 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
7774 (build-system emacs-build-system)
7775 (home-page "https://github.com/zk-phi/phi-search")
7776 (synopsis "Interactive search compatible with @code{multiple-cursors}")
7777 (description "This package can be used with @code{multiple-cursors} to
7778 provide an incremental search that moves all fake cursors in sync.")
7779 (license license:gpl2+))))
7780
7781 (define-public emacs-phi-search-mc
7782 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
7783 (revision "1"))
7784 (package
7785 (name "emacs-phi-search-mc")
7786 (version (git-version "2.2.1" revision commit))
7787 (source
7788 (origin
7789 (method git-fetch)
7790 (uri (git-reference
7791 (url "https://github.com/knu/phi-search-mc.el")
7792 (commit commit)))
7793 (file-name (git-file-name name version))
7794 (sha256
7795 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
7796 (build-system emacs-build-system)
7797 (propagated-inputs
7798 (list emacs-phi-search emacs-multiple-cursors))
7799 (home-page "https://github.com/knu/phi-search-mc.el")
7800 (synopsis "Extend @code{phi-search} with additional
7801 @code{multiple-cursors} functionality")
7802 (description "This package provides further integration between
7803 @code{multiple-cursors} and @code{phi-search}, a package that allows for
7804 interactive searches to move multiple fake cursors.")
7805 (license license:bsd-2))))
7806
7807 (define-public emacs-multiple-cursors
7808 (package
7809 (name "emacs-multiple-cursors")
7810 (version "1.4.0")
7811 (source
7812 (origin
7813 (method git-fetch)
7814 (uri (git-reference
7815 (url "https://github.com/magnars/multiple-cursors.el")
7816 (commit version)))
7817 (file-name (git-file-name name version))
7818 (sha256
7819 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
7820 (build-system emacs-build-system)
7821 (home-page "https://github.com/magnars/multiple-cursors.el")
7822 (synopsis "Multiple cursors for Emacs")
7823 (description
7824 "This package adds support to Emacs for editing text with multiple
7825 simultaneous cursors.")
7826 (license license:gpl3+)))
7827
7828 (define-public emacs-multifiles
7829 ;; There is no tag and no "Version:" keyword. Using the latest release
7830 ;; instead.
7831 (let ((commit "dddfe64b8e1c1cd1f9ccc1f03405477fc0d53897")
7832 (revision "1"))
7833 (package
7834 (name "emacs-multifiles")
7835 (version (git-version "0" revision commit))
7836 (source
7837 (origin
7838 (method git-fetch)
7839 (uri (git-reference
7840 (url "https://github.com/magnars/multifiles.el")
7841 (commit commit)))
7842 (file-name (git-file-name name version))
7843 (sha256
7844 (base32 "065l04ylplng1vgykkbn2vnkcs3sn1k2cikx1ha2q8wmgx6bkvai"))))
7845 (build-system emacs-build-system)
7846 (propagated-inputs
7847 (list emacs-dash))
7848 (home-page "https://github.com/magnars/multifiles.el")
7849 (synopsis "Edit multiple files in a single Emacs buffer")
7850 (description
7851 "This package allows one to view and edit parts of multiple files in
7852 one Emacs buffer.")
7853 (license license:gpl3+))))
7854
7855 (define-public emacs-mc-extras
7856 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
7857 (revision "1"))
7858 (package
7859 (name "emacs-mc-extras")
7860 (version (git-version "1.2.4" revision commit))
7861 (source
7862 (origin
7863 (method git-fetch)
7864 (uri (git-reference
7865 (url "https://github.com/knu/mc-extras.el")
7866 (commit commit)))
7867 (file-name (git-file-name name version))
7868 (sha256
7869 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
7870 (build-system emacs-build-system)
7871 (propagated-inputs
7872 (list emacs-multiple-cursors))
7873 (home-page "https://github.com/knu/mc-extras.el")
7874 (synopsis "Extra functions for manipulating multiple cursors")
7875 (description
7876 "This package provides additional functions for
7877 @code{multiple-cursors}, including functions for marking s-expressions,
7878 comparing characters, removing cursors, and more.")
7879 (license license:bsd-2))))
7880
7881 (define-public emacs-typo
7882 (package
7883 (name "emacs-typo")
7884 (version "1.1")
7885 (home-page "https://github.com/jorgenschaefer/typoel")
7886 (source (origin
7887 (method git-fetch)
7888 (uri (git-reference
7889 (url home-page)
7890 (commit (string-append "v" version))))
7891 (file-name (git-file-name name version))
7892 (sha256
7893 (base32
7894 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
7895 (build-system emacs-build-system)
7896 (synopsis "Minor mode for typographic editing")
7897 (description
7898 "This package provides two Emacs modes, @code{typo-mode} and
7899 @code{typo-global-mode}. These modes automatically insert Unicode characters
7900 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
7901 automatically inserts a Unicode opening or closing quotation mark, depending
7902 on context.")
7903 (license license:gpl3+)))
7904
7905 (define-public emacs-company-lsp
7906 (package
7907 (name "emacs-company-lsp")
7908 (version "2.1.0")
7909 (source (origin
7910 (method git-fetch)
7911 (uri (git-reference
7912 (url "https://github.com/tigersoldier/company-lsp")
7913 (commit version)))
7914 (file-name (git-file-name name version))
7915 (sha256
7916 (base32
7917 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
7918 (build-system emacs-build-system)
7919 (propagated-inputs
7920 (list emacs-dash emacs-lsp-mode emacs-company emacs-s emacs-dash))
7921 (native-inputs
7922 (list emacs-buttercup))
7923 (arguments
7924 `(#:tests? #t
7925 #:test-command '("buttercup" "-L" ".")))
7926 (home-page "https://github.com/tigersoldier/company-lsp")
7927 (synopsis "Completion for @code{lsp-mode}")
7928 (description
7929 "This package provides completion features that are not possible with
7930 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
7931 characters and asynchronous fetching of completion candidates.")
7932 (license license:gpl3+)))
7933
7934 (define-public emacs-scala-mode
7935 (package
7936 (name "emacs-scala-mode")
7937 (version "1.1.0")
7938 (source
7939 (origin
7940 (method git-fetch)
7941 (uri (git-reference
7942 (url "https://github.com/hvesalai/emacs-scala-mode")
7943 (commit (string-append "v" version))))
7944 (file-name (git-file-name name version))
7945 (sha256
7946 (base32 "1072lsin7dxadc0xyhy42wd0cw549axbbd4dy95wfmfcc1xbzjwv"))))
7947 (build-system emacs-build-system)
7948 (home-page "https://github.com/hvesalai/emacs-scala-mode")
7949 (synopsis "Emacs major mode for Scala")
7950 (description
7951 "This package provides basic Emacs support for the Scala language,
7952 including: local indenting of code, comments and multi-line strings, motion
7953 commands and highlighting.")
7954 ;; There are no copyright headers in the source code. The LICENSE file
7955 ;; indicates GPL3.
7956 (license license:gpl3)))
7957
7958 (define-public emacs-sbt-mode
7959 (package
7960 (name "emacs-sbt-mode")
7961 (version "2.0.0")
7962 (source
7963 (origin
7964 (method git-fetch)
7965 (uri (git-reference
7966 (url "https://github.com/hvesalai/emacs-sbt-mode")
7967 (commit (string-append "v" version))))
7968 (file-name (git-file-name name version))
7969 (sha256
7970 (base32 "0lv9ridzk9x6rkf7lj21srnszypyq04vqg05vl10zhpz1yqlnbjd"))))
7971 (build-system emacs-build-system)
7972 (home-page "https://github.com/hvesalai/emacs-sbt-mode")
7973 (synopsis "Basic functionality for interacting with sbt inside Emacs")
7974 (description
7975 "This mode provides basic functionality required for successfully
7976 interacting with sbt inside Emacs. The core functionality includes
7977 interacting with the sbt shell and Scala console, compiling code and
7978 navigation to errors.")
7979 (license license:gpl3+)))
7980
7981 (define-public emacs-scheme-complete
7982 ;; Upstream does not provide tags. The commit below corresponds to the
7983 ;; exact version update. Version is extracted from main file.
7984 (let ((commit "5c0a16684a3be7021d67067b2955f1c3e17a320a"))
7985 (package
7986 (name "emacs-scheme-complete")
7987 (version "0.9.9")
7988 (source
7989 (origin
7990 (method git-fetch)
7991 (uri (git-reference
7992 (url "https://github.com/ashinn/scheme-complete")
7993 (commit commit)))
7994 (file-name (git-file-name name version))
7995 (sha256
7996 (base32 "1smxr5bkzbfrjx21vhrj1wagmqx5yd92i997dbgs16iaqbzzr7cz"))))
7997 (build-system emacs-build-system)
7998 (home-page "https://github.com/ashinn/scheme-complete")
7999 (synopsis "Smart tab completion for Scheme in Emacs")
8000 (description
8001 "This file provides a single function, @code{scheme-smart-complete},
8002 which you can use for intelligent, context-sensitive completion for any Scheme
8003 implementation in Emacs. To use it just load this file and bind that function
8004 to a key in your preferred mode.")
8005 (license license:public-domain))))
8006
8007 (define-public emacs-scel
8008 (let ((version "20170629")
8009 (revision "1")
8010 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
8011 (package
8012 (name "emacs-scel")
8013 (version (git-version version revision commit))
8014 (source
8015 (origin
8016 (method git-fetch)
8017 (uri (git-reference
8018 (url "https://github.com/supercollider/scel")
8019 (commit commit)))
8020 (file-name (git-file-name name version))
8021 (sha256
8022 (base32
8023 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
8024 (build-system emacs-build-system)
8025 (arguments
8026 (list
8027 #:modules '((guix build emacs-build-system)
8028 ((guix build cmake-build-system) #:prefix cmake:)
8029 (guix build utils))
8030 #:imported-modules `(,@%emacs-build-system-modules
8031 (guix build cmake-build-system))
8032 #:phases
8033 #~(modify-phases %standard-phases
8034 (add-after 'unpack 'configure
8035 (lambda* (#:key outputs #:allow-other-keys)
8036 (substitute* "el/CMakeLists.txt"
8037 (("share/emacs/site-lisp/SuperCollider")
8038 (elpa-directory #$output)))
8039 ((assoc-ref cmake:%standard-phases 'configure)
8040 #:outputs outputs
8041 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
8042 (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path
8043 (lambda _
8044 (setenv "EMACSLOADPATH"
8045 (string-append (getcwd)
8046 "/el:"
8047 (getenv "EMACSLOADPATH")))))
8048 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
8049 (inputs
8050 (list supercollider))
8051 (native-inputs
8052 (list cmake-minimal))
8053 (home-page "https://github.com/supercollider/scel")
8054 (synopsis "SuperCollider Emacs interface")
8055 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
8056 SuperCollider is a platform for audio synthesis and algorithmic composition.")
8057 (license license:gpl2+))))
8058
8059 (define-public emacs-soothe-theme
8060 ;; There is no named branch.
8061 (let ((commit "0786fe70c6c1b4ddcfb932fdc6862b9611cfc09b")
8062 (revision "0"))
8063 (package
8064 (name "emacs-soothe-theme")
8065 (version (git-version "20141027.2233" revision commit))
8066 (source
8067 (origin
8068 (method git-fetch)
8069 (uri (git-reference
8070 (url "https://github.com/emacsfodder/emacs-soothe-theme")
8071 (commit commit)))
8072 (file-name (git-file-name name version))
8073 (sha256
8074 (base32 "10gh1hvxq9gm29r6qzlnva7vjidd7n4kih4z2ihyvbvy9za20xqw"))))
8075 (build-system emacs-build-system)
8076 (home-page "https://github.com/emacsfodder/emacs-soothe-theme")
8077 (synopsis "Colorful, but muted theme for Emacs, dark background with light text")
8078 (description
8079 "Soothe theme is an amalgam of muted color tones and highlighted
8080 backgrounds. It has builtin support for Rainbow delimiters, Org mode,
8081 Whitespace mode, ECB, Flyspell, Ido, Linum, highlight indentation, Show Paren
8082 mode.")
8083 (license license:gpl3))))
8084
8085 (define-public emacs-company-auctex
8086 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
8087 (revision "1"))
8088 (package
8089 (name "emacs-company-auctex")
8090 (version (git-version "0.1" revision commit))
8091 (source
8092 (origin
8093 (method git-fetch)
8094 (uri (git-reference
8095 (url "https://github.com/alexeyr/company-auctex")
8096 (commit commit)))
8097 (file-name (git-file-name name version))
8098 (sha256
8099 (base32 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
8100 (build-system emacs-build-system)
8101 (arguments
8102 `(#:phases
8103 (modify-phases %standard-phases
8104 (add-before 'build 'set-home
8105 (lambda _ (setenv "HOME" "/tmp"))))))
8106 (propagated-inputs
8107 (list emacs-auctex emacs-company emacs-yasnippet))
8108 (home-page "https://github.com/alexeyr/company-auctex/")
8109 (synopsis "Completion for @code{AUCTeX}")
8110 (description
8111 "This package provides a group of backends permitting auto-completion
8112 for @code{AUCTeX}.")
8113 (license license:gpl3+))))
8114
8115 (define-public emacs-mit-scheme-doc
8116 (package
8117 (name "emacs-mit-scheme-doc")
8118 (version "20140203")
8119 (source
8120 (origin
8121 (modules '((guix build utils)))
8122 (snippet
8123 ;; keep only file of interest
8124 '(begin
8125 (for-each delete-file '("dot-emacs.el" "Makefile"))
8126 (install-file "6.945-config/mit-scheme-doc.el" ".")
8127 (delete-file-recursively "6.945-config")))
8128 (file-name (string-append name "-" version ".tar.bz2"))
8129 (method url-fetch)
8130 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
8131 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
8132 (sha256
8133 (base32
8134 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
8135 (build-system emacs-build-system)
8136 (inputs (list mit-scheme))
8137 (arguments
8138 `(#:phases
8139 (modify-phases %standard-phases
8140 (add-after 'unpack 'configure-doc
8141 (lambda* (#:key inputs #:allow-other-keys)
8142 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
8143 (doc-dir (string-append mit-scheme-dir "/share/doc/"
8144 "mit-scheme-"
8145 ,(package-version mit-scheme))))
8146 (substitute* "mit-scheme-doc.el"
8147 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
8148 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
8149 (home-page "https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
8150 (synopsis "MIT-Scheme documentation lookup for Emacs")
8151 (description
8152 "This package provides a set of Emacs functions to search definitions of
8153 identifiers in the MIT-Scheme documentation.")
8154 (license license:gpl2+)))
8155
8156 (define-public emacs-constants
8157 (package
8158 (name "emacs-constants")
8159 (version "2.6")
8160 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
8161 (source
8162 (origin
8163 (method git-fetch)
8164 (uri (git-reference
8165 (url "https://github.com/fedeinthemix/emacs-constants")
8166 (commit (string-append "v" version))))
8167 (file-name (git-file-name name version))
8168 (sha256
8169 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
8170 (build-system emacs-build-system)
8171 (synopsis "Enter definition of constants into an Emacs buffer")
8172 (description
8173 "This package provides functions for inserting the definition of natural
8174 constants and units into an Emacs buffer.")
8175 (license license:gpl2+)))
8176
8177 (define-public emacs-tagedit
8178 (package
8179 (name "emacs-tagedit")
8180 (version "1.4.0")
8181 (source
8182 (origin
8183 (method git-fetch)
8184 (uri (git-reference
8185 (url "https://github.com/magnars/tagedit")
8186 (commit version)))
8187 (file-name (git-file-name name version))
8188 (sha256
8189 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
8190 (build-system emacs-build-system)
8191 (propagated-inputs
8192 (list emacs-s emacs-dash))
8193 (home-page "https://github.com/magnars/tagedit")
8194 (synopsis "Some paredit-like features for html-mode")
8195 (description
8196 "This package provides a collection of paredit-like functions for editing
8197 in @code{html-mode}.")
8198 (license license:gpl3+)))
8199
8200 (define-public emacs-slime
8201 (package
8202 (name "emacs-slime")
8203 (version "2.27")
8204 (source
8205 (origin
8206 (method git-fetch)
8207 (uri (git-reference
8208 (url "https://github.com/slime/slime")
8209 (commit (string-append "v" version))))
8210 (file-name (git-file-name name version))
8211 (sha256
8212 (base32 "1s5mbljlz22pb90gwbd380nighkz6gdxl77hc08gri7wwr5gy5n2"))))
8213 (build-system emacs-build-system)
8214 (native-inputs
8215 (list texinfo))
8216 (arguments
8217 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
8218 #:exclude '("^slime-tests.el" "^contrib/test/"
8219 "^contrib/Makefile$" "^contrib/README.md$")
8220 #:phases
8221 (modify-phases %standard-phases
8222 (add-after 'unpack 'make-git-checkout-writable
8223 (lambda _
8224 (for-each make-file-writable (find-files "."))))
8225 (add-before 'install 'configure
8226 (lambda* _
8227 (emacs-substitute-variables "slime.el"
8228 ("inferior-lisp-program" "sbcl"))))
8229 (add-before 'install 'install-doc
8230 (lambda* (#:key outputs #:allow-other-keys)
8231 (let* ((out (assoc-ref outputs "out"))
8232 (info-dir (string-append out "/share/info"))
8233 (doc-dir (string-append out "/share/doc/"
8234 ,name "-" ,version))
8235 (doc-files '("doc/slime-refcard.pdf"
8236 "README.md" "NEWS" "PROBLEMS"
8237 "CONTRIBUTING.md")))
8238 (with-directory-excursion "doc"
8239 (substitute* "Makefile"
8240 (("infodir=/usr/local/info")
8241 (string-append "infodir=" info-dir)))
8242 (invoke "make" "html/index.html")
8243 (invoke "make" "slime.info")
8244 (install-file "slime.info" info-dir)
8245 (copy-recursively "html" (string-append doc-dir "/html")))
8246 (for-each (lambda (f)
8247 (install-file f doc-dir)
8248 (delete-file f))
8249 doc-files)
8250 (delete-file-recursively "doc")))))))
8251 (home-page "https://github.com/slime/slime")
8252 (synopsis "Superior Lisp Interaction Mode for Emacs")
8253 (description
8254 "SLIME extends Emacs with support for interactive programming in
8255 Common Lisp. The features are centered around @command{slime-mode},
8256 an Emacs minor mode that complements the standard @command{lisp-mode}.
8257 While lisp-mode supports editing Lisp source files, @command{slime-mode}
8258 adds support for interacting with a running Common Lisp process
8259 for compilation, debugging, documentation lookup, and so on.")
8260 (license (list license:gpl2+ license:public-domain))))
8261
8262 (define-public emacs-popup
8263 (package
8264 (name "emacs-popup")
8265 (version "0.5.9")
8266 (source
8267 (origin
8268 (method git-fetch)
8269 (uri (git-reference
8270 (url "https://github.com/auto-complete/popup-el")
8271 (commit (string-append "v" version))))
8272 (file-name (git-file-name name version))
8273 (sha256
8274 (base32 "13ww7hld5pa32myj9krr6prmc99s7hnpsw8mw9krpxffykkblj2f"))))
8275 (build-system emacs-build-system)
8276 (home-page "https://github.com/auto-complete/popup-el")
8277 (synopsis "Visual Popup User Interface for Emacs")
8278 (description
8279 "Popup.el is a visual popup user interface library for Emacs.
8280 This provides a basic API and common UI widgets such as popup tooltips
8281 and popup menus.")
8282 (license license:gpl3+)))
8283
8284 (define-public emacs-popup-kill-ring
8285 (let ((commit "a45c9cf79c4e1207fdbdd662e161154ef224ad61")
8286 (revision "0"))
8287 (package
8288 (name "emacs-popup-kill-ring")
8289 (version (git-version "0.2.8" revision commit))
8290 (source (origin
8291 (method git-fetch)
8292 (uri (git-reference
8293 (url "https://github.com/waymondo/popup-kill-ring")
8294 (commit commit)))
8295 (file-name (git-file-name name version))
8296 (sha256
8297 (base32
8298 "0bpnsc4agy6mcnc79d9a6gi79jiiqrhf3a55pw0p4z16m86vwyqr"))))
8299 (build-system emacs-build-system)
8300 (propagated-inputs (list emacs-pos-tip emacs-popup))
8301 (home-page "https://github.com/waymondo/popup-kill-ring")
8302 (synopsis "Interactively insert item from kill-ring")
8303 (description "This Emacs package manages your Emacs kill-ring in an
8304 autocomplete style popup menu.")
8305 (license license:gpl3+))))
8306
8307 (define-public emacs-popper
8308 ;; No tagged release upstream for version 0.45. The commit below matches
8309 ;; version bump.
8310 (let ((commit "851d83882192ac9599ac5b053614a42d683b3fab"))
8311 (package
8312 (name "emacs-popper")
8313 (version "0.45")
8314 (source (origin
8315 (method git-fetch)
8316 (uri (git-reference
8317 (url "https://github.com/karthink/popper")
8318 (commit commit)))
8319 (file-name (git-file-name name version))
8320 (sha256
8321 (base32
8322 "0pk5wzqlz7n6v8rb1957i3ql0wjx578l68a3rp2m9pxr7a8a03h4"))))
8323 (build-system emacs-build-system)
8324 (home-page "https://github.com/karthink/popper")
8325 (synopsis "Emacs minor-mode to summon and dismiss buffers easily")
8326 (description
8327 "Popper is a minor-mode to tame the flood of ephemeral
8328 windows Emacs produces, while still keeping them within arm’s reach.")
8329 (license license:gpl3+))))
8330
8331 (define-public emacs-python-black
8332 (package
8333 (name "emacs-python-black")
8334 (version "1.1.0")
8335 (source
8336 (origin
8337 (method git-fetch)
8338 (uri (git-reference
8339 (url "https://github.com/wbolster/emacs-python-black")
8340 (commit version)))
8341 (file-name (git-file-name name version))
8342 (sha256
8343 (base32
8344 "1cmzc0fa3jj7ajxbqhbsc8jx47k6g223sfd42c4lrqdnmh95760m"))))
8345 (build-system emacs-build-system)
8346 (propagated-inputs
8347 (list emacs-dash emacs-reformatter python-black-macchiato))
8348 (arguments `(#:tests? #f))
8349 (home-page "https://github.com/wbolster/emacs-python-black")
8350 (synopsis "Reformat Python code via @code{python-black}")
8351 (description
8352 "This package makes it easy to reformat Python code using
8353 @code{python-black} and @code{python-black-macchiato} for entire and partial
8354 buffers, respectively.")
8355 (license license:bsd-3)))
8356
8357 (define-public emacs-py-isort
8358 (package
8359 (name "emacs-py-isort")
8360 (version "2016.1")
8361 (source
8362 (origin
8363 (method git-fetch)
8364 (uri (git-reference
8365 (url "https://github.com/paetzke/py-isort.el")
8366 (commit (string-append "v" version))))
8367 (file-name (git-file-name name version))
8368 (sha256
8369 (base32 "08i55gv392wc12x8v3dca0dmz8a8p9ljsqhyajsb6qv1k120wqhx"))))
8370 (build-system emacs-build-system)
8371 (arguments
8372 `(#:tests? #f)) ;tests fail with "emacs: standard input is not a tty"
8373 (propagated-inputs
8374 (list python-isort))
8375 (home-page "https://github.com/paetzke/py-isort.el")
8376 (synopsis "Sort the imports in Python buffers")
8377 (description
8378 "This package provides commands and a minor mode to sort Python imports
8379 using @code{python-isort}.")
8380 (license license:gpl3+)))
8381
8382 (define-public emacs-python-environment
8383 (package
8384 (name "emacs-python-environment")
8385 (version "0.0.2")
8386 (source
8387 (origin
8388 (method git-fetch)
8389 (uri (git-reference
8390 (url "https://github.com/tkf/emacs-python-environment/")
8391 (commit version)))
8392 (file-name (git-file-name name version))
8393 (sha256
8394 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
8395 (build-system emacs-build-system)
8396 (propagated-inputs
8397 (list emacs-deferred))
8398 (home-page "https://github.com/tkf/emacs-python-environment")
8399 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
8400 (description
8401 "This package permits automated installation of tools written in Python.")
8402 (license license:gpl3+)))
8403
8404 (define-public emacs-jedi
8405 (package
8406 (name "emacs-jedi")
8407 (version "0.2.8")
8408 (source (origin
8409 (method git-fetch)
8410 (uri (git-reference
8411 (url "https://github.com/tkf/emacs-jedi/")
8412 (commit (string-append "v" version))))
8413 (file-name (git-file-name name version))
8414 (sha256
8415 (base32
8416 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
8417 (build-system emacs-build-system)
8418 (arguments
8419 (list
8420 #:imported-modules `(,@%emacs-build-system-modules
8421 (guix build python-build-system))
8422 #:modules '((guix build emacs-build-system)
8423 ((guix build python-build-system) #:prefix python:)
8424 (guix build emacs-utils)
8425 (guix build utils))
8426 #:phases
8427 #~(modify-phases %standard-phases
8428 (add-after 'unpack 'ensure-no-mtimes-pre-1980
8429 (assoc-ref python:%standard-phases
8430 'ensure-no-mtimes-pre-1980))
8431 (add-after 'ensure-no-mtimes-pre-1980 'relax-python-requirements
8432 (lambda _
8433 ;; Argparse should only be required for Python < 3.2
8434 ;; (see: https://github.com/tkf/emacs-jedi/issues/365).
8435 (substitute* "setup.py"
8436 ((".*argparse.*") ""))))
8437 (add-after 'relax-python-requirements 'python:add-install-to-pythonpath
8438 (assoc-ref python:%standard-phases 'add-install-to-pythonpath))
8439 (add-after 'python:add-install-to-pythonpath 'python:install
8440 ;; This is needed to get the Python-built 'jediepcserver' command.
8441 (assoc-ref python:%standard-phases 'install))
8442 (add-after 'python:install 'python:wrap
8443 (assoc-ref python:%standard-phases 'wrap))
8444 (add-after 'python:wrap 'patch-jedi:server-command
8445 (lambda* (#:key outputs #:allow-other-keys)
8446 (emacs-substitute-variables "jedi-core.el"
8447 ("jedi:server-command"
8448 (search-input-file outputs "bin/jediepcserver"))))))))
8449 (native-inputs (list emacs-mocker python-wrapper))
8450 (inputs (list python-wrapper python-epc python-jedi)) ;wrapped
8451 (propagated-inputs
8452 (list emacs-auto-complete emacs-python-environment emacs-epc))
8453 (home-page "https://github.com/tkf/emacs-jedi")
8454 (synopsis "Provides Python completion in Emacs")
8455 (description
8456 "This package provides completion in Python buffers and also helps find
8457 the locations of docstrings, arguments, and functions.")
8458 (license license:gpl3+)))
8459
8460 (define-public emacs-company-jedi
8461 (package
8462 (name "emacs-company-jedi")
8463 (version "0.04")
8464 (source (origin
8465 (method git-fetch)
8466 (uri (git-reference
8467 (url "https://github.com/syohex/emacs-company-jedi")
8468 (commit version)))
8469 (file-name (git-file-name name version))
8470 (sha256
8471 (base32
8472 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
8473 (build-system emacs-build-system)
8474 (propagated-inputs
8475 (list emacs-jedi emacs-company))
8476 (home-page "https://github.com/syohex/emacs-company-jedi")
8477 (synopsis "Provides Python completion in @code{company-mode}")
8478 (description
8479 "This package provides a Company backend for Python.")
8480 (license license:gpl3+)))
8481
8482 (define-public emacs-elquery
8483 (package
8484 (name "emacs-elquery")
8485 (version "1.1.0")
8486 (source
8487 (origin
8488 (method git-fetch)
8489 (uri
8490 (git-reference
8491 (url "https://github.com/AdamNiederer/elquery")
8492 (commit version)))
8493 (file-name (git-file-name name version))
8494 (sha256
8495 (base32 "035zjzmd7yfw0rsjpaklc2wwiqw6brkjadch9x8n8n2gjyxg05mn"))))
8496 (build-system emacs-build-system)
8497 (arguments
8498 (list
8499 #:emacs emacs-no-x
8500 #:tests? #t
8501 #:test-command #~(list "ert-runner")
8502 #:phases #~(modify-phases %standard-phases
8503 (add-after 'unpack 'fix-native-compilation
8504 (lambda _
8505 (substitute* "elquery.el"
8506 (("\\(1- \\(/ length \\(match-data\\)\\) 2\\)")
8507 "(1- (/ (length (match-data)) 2))"))))
8508 (add-before 'check 'disable-failing-tests
8509 (lambda _
8510 (substitute* "test/elquery-test.el"
8511 (("\\(ert-deftest elquery--write-test .*" all)
8512 (string-append all "(skip-unless nil)\n"))))))))
8513 (native-inputs
8514 (list emacs-ert-runner emacs-undercover))
8515 (propagated-inputs
8516 (list emacs-dash))
8517 (home-page "https://github.com/AdamNiederer/elquery/")
8518 (synopsis "Read and manipulate HTML in Emacs")
8519 (description
8520 "Elquery is a library that lets you parse, query, set, and format HTML using
8521 Emacs Lisp. It implements most of the @code{querySelector} API, and can get
8522 and set HTML attributes.")
8523 (license license:gpl3+)))
8524
8525 (define-public emacs-cov
8526 ;; XXX: Upstream made no release nor any tag so far.
8527 (let ((commit "cd3e1995c596cc227124db9537792d8329ffb696")
8528 (revision "0"))
8529 (package
8530 (name "emacs-cov")
8531 (version (git-version "0.1.0" revision commit))
8532 (source
8533 (origin
8534 (method git-fetch)
8535 (uri
8536 (git-reference
8537 (url "https://github.com/AdamNiederer/cov")
8538 (commit commit)))
8539 (file-name (git-file-name name version))
8540 (sha256
8541 (base32 "1gyc0si60czhgrkm7kink1p1zj1h5j5nzif4ivm5bg78l28skmpm"))))
8542 (build-system emacs-build-system)
8543 (arguments
8544 (list
8545 #:emacs emacs-no-x ;for libxml
8546 #:tests? #t
8547 #:test-command #~(list "ert-runner")
8548 #:phases
8549 #~(modify-phases %standard-phases
8550 (add-before 'check 'disable-failing-tests
8551 (lambda _
8552 (substitute* "test/cov-test.el"
8553 (("\\(ert-deftest cov--load-coverage-test-mtime-check .*" all)
8554 (string-append all "(skip-unless nil)\n"))))))))
8555 (native-inputs
8556 (list emacs-ert-runner emacs-mocker emacs-undercover))
8557 (propagated-inputs
8558 (list emacs-elquery emacs-f emacs-s))
8559 (home-page "https://github.com/AdamNiederer/cov/")
8560 (synopsis "Emacs extension for displaying coverage data")
8561 (description
8562 "Cov shows code coverage data for your program in Emacs. It supports
8563 currently @code{gcov}, @code{lcov}, @code{coverage.py}, and @code{clover}
8564 output, as well as the Coveralls format produced by Undercover.")
8565 (license license:gpl3+))))
8566
8567 (define-public emacs-puppet-mode
8568 (package
8569 (name "emacs-puppet-mode")
8570 (version "0.4")
8571 (source
8572 (origin
8573 (method git-fetch)
8574 (uri (git-reference
8575 (url "https://github.com/voxpupuli/puppet-mode")
8576 (commit version)))
8577 (file-name (git-file-name name version))
8578 (sha256
8579 (base32
8580 "0c5q8qmbligzjsn05di4wh6ggpd3944j4yqb78vzd441b8ssq70i"))))
8581 (build-system emacs-build-system)
8582 (home-page "https://github.com/voxpupuli/puppet-mode")
8583 (synopsis "Emacs major mode for the Puppet configuration language")
8584 (description
8585 "This package provides support for the Puppet configuration language,
8586 including syntax highlighting, indentation of expressions and statements,
8587 linting of manifests and integration with Puppet Debugger.")
8588 ;; Also incorporates work covered by the Apache License, Version 2.0
8589 (license license:gpl3+)))
8590
8591 (define-public emacs-purescript-mode
8592 ;; Retrieved on 2021-05-18.
8593 (let ((revision "0")
8594 (commit "0acd1af446424ba855153161fe07a20f67dc0a89"))
8595 (package
8596 (name "emacs-purescript-mode")
8597 (version (git-version "0.0.0" revision commit))
8598 (source
8599 (origin
8600 (method git-fetch)
8601 (uri (git-reference
8602 (url "https://github.com/purescript-emacs/purescript-mode")
8603 (commit commit)))
8604 (file-name (git-file-name name version))
8605 (sha256
8606 (base32
8607 "0rxdsmx8826az4blhnnvqrx7bjky9hwph6gkyrh33sck26xhh3g5"))))
8608 (build-system emacs-build-system)
8609 (arguments
8610 `(#:phases
8611 (modify-phases %standard-phases
8612 (add-before 'install 'make-info
8613 (lambda _
8614 (invoke "makeinfo" "--no-split"
8615 "-o" "purescript-mode.info" "purescript-mode.texi"))))))
8616 (native-inputs
8617 (list texinfo))
8618 (home-page "https://github.com/purescript-emacs/purescript-mode")
8619 (synopsis "Emacs major mode and related tools for Purescript")
8620 (description "This package provides an Emacs major mode for writing Purescript.")
8621 (license license:gpl3+))))
8622
8623 (define-public emacs-new-purescript-mode
8624 (let ((commit "9f7bb73e26340fcd2ea1946dbad165f0406eb3e1")
8625 (revision "0"))
8626 (package
8627 (name "emacs-new-purescript-mode")
8628 (version (git-version "0.0.1" revision commit))
8629 (source
8630 (origin
8631 (method git-fetch)
8632 (uri
8633 (git-reference
8634 (url "https://github.com/justinwoo/new-purescript-mode")
8635 (commit commit)))
8636 (file-name (git-file-name name version))
8637 (sha256
8638 (base32 "0b3499df0gfz8yrdxz9dpgwal21h50sciigwz25ri1hwv1c1i7k0"))))
8639 (build-system emacs-build-system)
8640 (home-page "https://github.com/justinwoo/new-purescript-mode/")
8641 (synopsis "Simple PureScript mode for cheap syntax highlighting")
8642 (description "New PureScript mode is a simple PureScript Emacs mode that
8643 just provides syntax highlighting.")
8644 (license license:expat))))
8645
8646 (define-public emacs-god-mode
8647 (package
8648 (name "emacs-god-mode")
8649 (version "2.17.3")
8650 (source
8651 (origin
8652 (method git-fetch)
8653 (uri (git-reference
8654 (url "https://github.com/chrisdone/god-mode")
8655 (commit version)))
8656 (file-name (git-file-name name version))
8657 (sha256
8658 (base32
8659 "1wsc04l5j5a9y5439qx85pcchxjnjgcgwbffw3l30q9zlblvc58b"))))
8660 (build-system emacs-build-system)
8661 (home-page "https://github.com/chrisdone/god-mode")
8662 (synopsis "Minor mode for entering commands without modifier keys")
8663 (description
8664 "This package provides a global minor mode for entering Emacs commands
8665 without modifier keys. It's similar to Vim's separation of commands and
8666 insertion mode. When enabled all keys are implicitly prefixed with
8667 @samp{C-} (among other helpful shortcuts).")
8668 (license license:gpl3+)))
8669
8670 (define-public emacs-jinja2-mode
8671 (package
8672 (name "emacs-jinja2-mode")
8673 (version "0.2")
8674 (source
8675 (origin
8676 (method git-fetch)
8677 (uri (git-reference
8678 (url "https://github.com/paradoxxxzero/jinja2-mode")
8679 (commit (string-append "v" version))))
8680 (file-name (git-file-name name version))
8681 (sha256
8682 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
8683 (build-system emacs-build-system)
8684 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
8685 (synopsis "Major mode for jinja2")
8686 (description
8687 "Emacs major mode for jinja2 with: syntax highlighting,
8688 sgml/html integration, and indentation (working with sgml).")
8689 (license license:gpl3+)))
8690
8691 (define-public emacs-company-cabal
8692 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
8693 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
8694 (revision "1"))
8695 (package
8696 (name "emacs-company-cabal")
8697 (version (git-version "0.3.0" revision commit))
8698 (source (origin
8699 (method git-fetch)
8700 (uri (git-reference
8701 (url "https://github.com/iquiw/company-cabal/")
8702 (commit commit)))
8703 (file-name (git-file-name name version))
8704 (sha256
8705 (base32
8706 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
8707 (build-system emacs-build-system)
8708 (propagated-inputs
8709 (list emacs-company))
8710 (arguments
8711 `(#:include (cons "^tools\\/" %default-include)))
8712 (home-page "https://github.com/iquiw/company-cabal/")
8713 (synopsis "Company completion for Haskell Cabal files")
8714 (description
8715 "This package allows for completion of field names, section names,
8716 field values, and more within @code{haskell-cabal-mode}.")
8717 (license license:gpl3+))))
8718
8719 (define-public emacs-rfcview
8720 (package
8721 (name "emacs-rfcview")
8722 (version "0.13")
8723 (home-page "http://www.loveshack.ukfsn.org/emacs")
8724 (source (origin
8725 (method url-fetch)
8726 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
8727 (sha256
8728 (base32
8729 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
8730 (build-system emacs-build-system)
8731 (synopsis "Prettify Request for Comments (RFC) documents")
8732 (description "The Internet Engineering Task Force (IETF) and the Internet
8733 Society (ISOC) publish various Internet-related protocols and specifications
8734 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
8735 documents. RFCs and STDs are published in a simple text form. This package
8736 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
8737 read these documents in Emacs. It prettifies the text and adds
8738 hyperlinks/menus for easier navigation. It also provides functions for
8739 browsing the index of RFC documents and fetching them from remote servers or
8740 local directories.")
8741 (license license:gpl3+)))
8742
8743 (define-public emacs-ffap-rfc-space
8744 (package
8745 (name "emacs-ffap-rfc-space")
8746 (version "12")
8747 (home-page "https://user42.tuxfamily.org/ffap-rfc-space/index.html")
8748 (source (origin
8749 (method url-fetch)
8750 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
8751 (sha256
8752 (base32
8753 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
8754 (build-system emacs-build-system)
8755 (synopsis "Make ffap recognize an RFC with a space before its number")
8756 (description "The Internet Engineering Task Force (IETF) and the
8757 Internet Society (ISOC) publish various Internet-related protocols and
8758 specifications as \"Request for Comments\" (RFC) documents. The
8759 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
8760 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
8761 and load the appropriate RFC from a remote server. However, it fails
8762 to recognize a name like \"RFC 1234\". This package enhances ffap so
8763 that it correctly finds RFCs even when a space appears before the
8764 number.")
8765 (license license:gpl3+)))
8766
8767 (define-public emacs-feature-mode
8768 (let ((version "20190801")
8769 (revision "1")
8770 (commit "11ae1671629bfedaa553c7b819676d64eb320992"))
8771 (package
8772 (name "emacs-feature-mode")
8773 (version (git-version version revision commit))
8774 (source (origin
8775 (method git-fetch)
8776 (uri (git-reference
8777 (url "https://github.com/michaelklishin/cucumber.el")
8778 (commit commit)))
8779 (file-name (git-file-name name version))
8780 (sha256
8781 (base32
8782 "0yd4gkxz9xcbgibfgr8apsid3f83nmg5jgqk5nql0linj5gymc28"))))
8783 (build-system emacs-build-system)
8784 (arguments
8785 `(#:include (cons* "^features\\/" "snippets\\/" "^support\\/"
8786 %default-include)))
8787 (home-page "https://github.com/michaelklishin/cucumber.el/")
8788 (synopsis "Emacs mode for editing Gherkin plain text user stories")
8789 (description "Major mode for editing Gherkin (popularized by the
8790 Cucumber tool) user stories. Also known by the name @code{cucumber.el}.")
8791 (license license:gpl2+))))
8792
8793 (define-public emacs-org-bullets
8794 (package
8795 (name "emacs-org-bullets")
8796 (version "0.2.4")
8797 (source
8798 (origin
8799 (method git-fetch)
8800 (uri (git-reference
8801 (url "https://github.com/sabof/org-bullets")
8802 (commit version)))
8803 (file-name (git-file-name name version))
8804 (sha256
8805 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
8806 (build-system emacs-build-system)
8807 (home-page "https://github.com/sabof/org-bullets")
8808 (synopsis "Show bullets in org-mode as UTF-8 characters")
8809 (description
8810 "This package provides an Emacs minor mode causing bullets in
8811 @code{org-mode} to be rendered as UTF-8 characters.")
8812 (license license:gpl3+)))
8813
8814 (define-public emacs-org-appear
8815 (package
8816 (name "emacs-org-appear")
8817 (version "0.3.0")
8818 (source
8819 (origin
8820 (method git-fetch)
8821 (uri (git-reference
8822 (url "https://github.com/awth13/org-appear")
8823 (commit version)))
8824 (file-name (git-file-name name version))
8825 (sha256
8826 (base32 "1pdf16agcjfzpjvz8kv39abir35rip93nkawxcpjjh4ywsdsbnm6"))))
8827 (build-system emacs-build-system)
8828 (home-page "https://github.com/awth13/org-appear")
8829 (synopsis "Make invisible parts of Org fragments appear visible")
8830 (description "This package enables automatic visibility toggling of
8831 org-mode elements depending on cursor position. Hidden fragment parts appear
8832 when the cursor enters a fragment and disappear when it leaves.")
8833 (license license:expat)))
8834
8835 (define-public emacs-org-drill
8836 (package
8837 (name "emacs-org-drill")
8838 (version "2.7.0")
8839 (source
8840 (origin
8841 (method git-fetch)
8842 (uri (git-reference
8843 (url "https://gitlab.com/phillord/org-drill")
8844 (commit version)))
8845 (file-name (git-file-name name version))
8846 (sha256
8847 (base32 "13y302lyscdqrba1sfx60yf5ji2xi7fbsvjsjbw7hiz63kg6rccy"))))
8848 (build-system emacs-build-system)
8849 (propagated-inputs
8850 (list emacs-org emacs-persist))
8851 (home-page "https://gitlab.com/phillord/org-drill")
8852 (synopsis "Flash card memorization system using Org mode")
8853 (description
8854 "This package uses spaced repetition algorithms to conduct interactive
8855 drill sessions to aid in memorization. In these sessions you are shown flash
8856 cards created in Org mode.")
8857 (license license:gpl3+)))
8858
8859 (define-public emacs-anki-editor
8860 ;; Last release was in 2018.
8861 (let ((commit "546774a453ef4617b1bcb0d1626e415c67cc88df")
8862 (revision "0")
8863 (version "0.3.3"))
8864 (package
8865 (name "emacs-anki-editor")
8866 (version (git-version version revision commit))
8867 (source
8868 (origin
8869 (method git-fetch)
8870 (uri (git-reference
8871 (url "https://github.com/louietan/anki-editor")
8872 (commit commit)))
8873 (file-name (git-file-name name version))
8874 (sha256
8875 (base32 "1if610hq5j8rbjh1caw5bwbgnsn231awwxqbpwvrh966kdxzl4qf"))))
8876 (build-system emacs-build-system)
8877 (propagated-inputs
8878 (list emacs-dash emacs-request))
8879 (home-page "https://github.com/louietan/anki-editor")
8880 (synopsis "Minor mode for making Anki cards with Org mode")
8881 (description
8882 "This package is for people who use Anki as a spaced repetition system
8883 (SRS) but would like to make cards in Org mode.")
8884 (license license:gpl3+))))
8885
8886 (define-public emacs-org-mime
8887 (package
8888 (name "emacs-org-mime")
8889 (version "0.3.2")
8890 (source
8891 (origin
8892 (method git-fetch)
8893 (uri (git-reference
8894 (url "https://github.com/org-mime/org-mime")
8895 (commit version)))
8896 (file-name (git-file-name name version))
8897 (sha256
8898 (base32 "1w5z9irzk918mj75z5m0j2h8mms8v27x50kp7r3b01wblf0jd2zc"))))
8899 (build-system emacs-build-system)
8900 (home-page "https://github.com/org-mime/org-mime")
8901 (synopsis "Send HTML email using Org mode HTML export")
8902 (description
8903 "This program sends HTML email using Org-mode HTML export.
8904 This approximates a WYSiWYG HTML mail editor from within Emacs, and can be
8905 useful for sending tables, fontified source code, and inline images in
8906 email.")
8907 (license license:gpl3+)))
8908
8909 (define-public emacs-org-msg
8910 ;; No git tags. The commit below corresponds to the release of version 3.3.
8911 (let ((commit "89e746c0a864031eef940758230bc7263a6f2289"))
8912 (package
8913 (name "emacs-org-msg")
8914 (version "3.3")
8915 (source
8916 (origin
8917 (method git-fetch)
8918 (uri (git-reference
8919 (url "https://github.com/jeremy-compostella/org-msg")
8920 (commit commit)))
8921 (file-name (git-file-name name version))
8922 (sha256
8923 (base32 "15gd5zbxvdallyra9lmpb9i1r2mmwz0j0i0ra7j9imnbfiz3ln9r"))))
8924 (build-system emacs-build-system)
8925 (propagated-inputs
8926 (list emacs-htmlize))
8927 (home-page "https://github.com/jeremy-compostella/org-msg")
8928 (synopsis "Mix Org mode and Message mode to compose emails")
8929 (description
8930 "OrgMsg is a GNU Emacs global minor mode mixing up Org mode and your
8931 Mail User Agent Mode (Message, mu4e, or Notmuch) to compose and reply to
8932 emails in a Outlook HTML friendly style.")
8933 (license license:gpl3+))))
8934
8935 (define-public emacs-org-superstar
8936 (package
8937 (name "emacs-org-superstar")
8938 (version "1.5.0")
8939 (source
8940 (origin
8941 (method git-fetch)
8942 (uri (git-reference
8943 (url "https://github.com/integral-dw/org-superstar-mode")
8944 (commit (string-append "v" version))))
8945 (file-name (git-file-name name version))
8946 (sha256
8947 (base32 "12inin2p6pm6vbv3yc06fx343dsp0vp07fjb35w088akhikmqh2a"))))
8948 (build-system emacs-build-system)
8949 (propagated-inputs
8950 (list emacs-org))
8951 (home-page "https://github.com/integral-dw/org-superstar-mode")
8952 (synopsis "Prettify headings and plain lists in Org mode")
8953 (description "This package prettifies headings and plain lists in
8954 Org mode. It is a direct descendant of @code{org-bullets}, with most
8955 of the code base completely rewritten.
8956
8957 Currently, this package prettifies Org heading lines by:
8958 @itemize
8959 @item replacing trailing bullets by UTF-8 bullets,
8960 @item hiding leading stars, customizing their look or removing them from vision,
8961 @item applying a custom face to the header bullet,
8962 @item applying a custom face to the leading bullets,
8963 @item using double-bullets for inline tasks,
8964 @item (optional) using special bullets for TODO keywords.
8965 @end itemize
8966
8967 It also prettifies Org plain list bullets by:
8968 @itemize
8969 @item replacing each bullet type (*, + and -) with UTF-8 bullets,
8970 @item applying a custom face to item bullets.
8971 @end itemize
8972
8973 Features degrade gracefully when viewed from terminal.")
8974 (license license:gpl3+)))
8975
8976 (define-public emacs-org-pandoc-import
8977 (package
8978 (name "emacs-org-pandoc-import")
8979 (version "1.0")
8980 (source
8981 (origin
8982 (method git-fetch)
8983 (uri (git-reference
8984 (url "https://github.com/tecosaur/org-pandoc-import/")
8985 (commit (string-append "v" version))))
8986 (file-name (git-file-name name version))
8987 (sha256
8988 (base32 "00z9bpm975mlyqlxbyib3j547br6kvcam04b70qkmq22vh8yf341"))))
8989 (build-system emacs-build-system)
8990 (arguments
8991 `(#:include
8992 (cons* "^filters\\/" "^preprocessors" %default-include)
8993 #:phases
8994 (modify-phases %standard-phases
8995 (add-after 'unpack 'patch-exec-paths
8996 (lambda* (#:key inputs #:allow-other-keys)
8997 (let ((pandoc (assoc-ref inputs "pandoc")))
8998 (substitute* "org-pandoc-import.el"
8999 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))))))))
9000 (inputs
9001 (list pandoc))
9002 (home-page "https://github.com/tecosaur/org-pandoc-import/")
9003 (synopsis "Read and edit non-Org file types in Org")
9004 (description
9005 "This package uses Pandoc to convert selected file types to Org. It can
9006 convert supported non-Org files to an Org file with Pandoc.
9007
9008 It can also intercept requests for non-Org files it knows it can convert,
9009 convert the file to a temporary Org file, and open this file instead. On
9010 save, it exports back to the original non-Org file.")
9011 (license license:gpl3+)))
9012
9013 (define-public emacs-org-pomodoro
9014 ;; Last release version was from 2016.
9015 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
9016 (revision "1"))
9017 (package
9018 (name "emacs-org-pomodoro")
9019 (version (git-version "2.1.0" revision commit))
9020 (source
9021 (origin
9022 (method git-fetch)
9023 (uri (git-reference
9024 (url "https://github.com/marcinkoziej/org-pomodoro")
9025 (commit commit)))
9026 (file-name (git-file-name name version))
9027 (sha256
9028 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
9029 (build-system emacs-build-system)
9030 (propagated-inputs
9031 (list emacs-alert))
9032 (arguments
9033 (list
9034 #:include #~(cons "^resources\\/" %default-include)
9035 #:tests? #t
9036 #:test-command
9037 #~(list "emacs" "--batch"
9038 "-l" "org-pomodoro-tests.el"
9039 "-f" "ert-run-tests-batch-and-exit")
9040 #:phases
9041 #~(modify-phases %standard-phases
9042 (add-before 'check 'make-tests-writable
9043 (lambda _
9044 (make-file-writable "org-pomodoro-tests.el")))
9045 (add-before 'check 'add-require
9046 (lambda _
9047 (emacs-batch-edit-file "org-pomodoro-tests.el"
9048 `(progn (progn (goto-char (point-min))
9049 (re-search-forward "ert-deftest")
9050 (beginning-of-line)
9051 (forward-line -1)
9052 (insert "(require 'org-pomodoro)"))
9053 (basic-save-buffer))))))))
9054 (home-page "https://github.com/marcinkoziej/org-pomodoro")
9055 (synopsis "Pomodoro technique for org-mode")
9056 (description "@code{emacs-org-pomodoro} adds very basic support for
9057 Pomodoro technique in Emacs org-mode.
9058
9059 Run @code{M-x org-pomodoro} for the task at point or select one of the
9060 last tasks that you clocked time for. Each clocked-in pomodoro starts
9061 a timer of 25 minutes and after each pomodoro a break timer of 5
9062 minutes is started automatically. Every 4 breaks a long break is
9063 started with 20 minutes. All values are customizable.")
9064 (license license:gpl3+))))
9065
9066 (define-public emacs-org-sidebar
9067 (package
9068 (name "emacs-org-sidebar")
9069 (version "0.3.2")
9070 (source
9071 (origin
9072 (method git-fetch)
9073 (uri (git-reference
9074 (url "https://github.com/alphapapa/org-sidebar")
9075 (commit version)))
9076 (file-name (git-file-name name version))
9077 (sha256
9078 (base32 "1r8kp954ciin4j7j7j8ihdkryf5x09s3ryl7bi9h2j6xqc1ij4wq"))))
9079 (build-system emacs-build-system)
9080 (propagated-inputs
9081 (list emacs-dash emacs-org-super-agenda emacs-org emacs-org-ql
9082 emacs-s))
9083 (home-page "https://github.com/alphapapa/org-sidebar")
9084 (synopsis "Helpful sidebar for Org buffers")
9085 (description "This package provides a sidebar for Org buffers. At the
9086 top is a chronological list of scheduled and deadlined tasks in the current
9087 buffer (similar to the Org agenda ,but without all its features), and below
9088 that is a list of all other non-done to-do items. If the buffer is narrowed,
9089 the sidebar only shows items in the narrowed portion; this allows seeing an
9090 overview of tasks in a subtree.")
9091 (license license:gpl3+)))
9092
9093 (define-public emacs-org-trello
9094 (package
9095 (name "emacs-org-trello")
9096 (version "0.8.2")
9097 (source
9098 (origin
9099 (method git-fetch)
9100 (uri (git-reference
9101 (url "https://github.com/org-trello/org-trello")
9102 (commit version)))
9103 (file-name (git-file-name name version))
9104 (sha256
9105 (base32
9106 "18y5zdjc7zh4jlwz6k1nl13i721rknqm0vp4mxfnmq0sc5a0qva0"))))
9107 (build-system emacs-build-system)
9108 (propagated-inputs
9109 (list emacs-dash
9110 emacs-deferred
9111 emacs-f
9112 emacs-helm
9113 emacs-request
9114 emacs-s))
9115 (home-page "https://org-trello.github.io")
9116 (synopsis "Emacs minor mode for interacting with Trello")
9117 (description "This package provides an Emacs minor mode to extend
9118 @code{org-mode} with Trello abilities. Trello is an online project
9119 organizer.")
9120 (license license:gpl3+)))
9121
9122 (define-public emacs-org-tanglesync
9123 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
9124 (revision "2"))
9125 (package
9126 (name "emacs-org-tanglesync")
9127 (version (git-version "0.6" revision commit))
9128 (source
9129 (origin
9130 (method git-fetch)
9131 (uri (git-reference
9132 (url "https://github.com/mtekman/org-tanglesync.el")
9133 (commit commit)))
9134 (file-name (git-file-name name version))
9135 (sha256
9136 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
9137 (build-system emacs-build-system)
9138 (propagated-inputs
9139 (list emacs-org))
9140 (home-page "https://github.com/mtekman/org-tanglesync.el")
9141 (synopsis "Sync Org source blocks with tangled external files")
9142 (description "This package automatically pulls changes from source code
9143 to their corresponding tangled blocks.")
9144 (license license:gpl3+))))
9145
9146 (define-public emacs-company-flow
9147 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
9148 (revision "1"))
9149 (package
9150 (name "emacs-company-flow")
9151 (version (git-version "0.1.0" revision commit))
9152 (source (origin
9153 (method git-fetch)
9154 (uri (git-reference
9155 (url "https://github.com/aaronjensen/company-flow/")
9156 (commit commit)))
9157 (file-name (git-file-name name version))
9158 (sha256
9159 (base32
9160 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
9161 (build-system emacs-build-system)
9162 (propagated-inputs
9163 (list emacs-company emacs-dash))
9164 (home-page "https://github.com/aaronjensen/company-flow/")
9165 (synopsis "Flow backend for @code{company-mode}")
9166 (description
9167 "This package provides completion for JavaScript files utilizing Flow.")
9168 (license license:gpl3+))))
9169
9170 (define-public emacs-habitica
9171 (let ((commit "c45c602ddf9d6cbb0e3baf5cb3e1b7ef90f2759d")
9172 (revision "1"))
9173 (package
9174 (name "emacs-habitica")
9175 (version (git-version "1.0" revision commit))
9176 (source
9177 (origin
9178 (method git-fetch)
9179 (uri (git-reference
9180 (url "https://github.com/abrochard/emacs-habitica")
9181 (commit commit)))
9182 (file-name (git-file-name name version))
9183 (sha256
9184 (base32
9185 "0wgnzn3z98bl28jgqi7xklw9fwx2wwgihj3mq0jb8ah4vn70d0j3"))))
9186 (build-system emacs-build-system)
9187 (home-page "https://github.com/abrochard/emacs-habitica")
9188 (synopsis "Emacs interface for Habitica")
9189 (description "Emacs extension for @uref{https://habitica.com/, Habitica},
9190 a RPG style habit tracker and todo list.")
9191 (license license:gpl3+))))
9192
9193 (define-public emacs-atom-one-dark-theme
9194 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
9195 (revision "0"))
9196 (package
9197 (name "emacs-atom-one-dark-theme")
9198 (version (git-version "0.4.0" revision commit))
9199 (source (origin
9200 (method git-fetch)
9201 (uri (git-reference
9202 (url "https://github.com/jonathanchu/atom-one-dark-theme")
9203 (commit commit)))
9204 (sha256
9205 (base32
9206 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
9207 (file-name (git-file-name name version))))
9208 (build-system emacs-build-system)
9209 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
9210 (synopsis "Atom One Dark color theme for Emacs")
9211 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
9212 (license license:gpl3+))))
9213
9214 (define-public emacs-zenburn-theme
9215 (package
9216 (name "emacs-zenburn-theme")
9217 (version "2.7.0")
9218 (source
9219 (origin
9220 (method git-fetch)
9221 (uri (git-reference
9222 (url "https://github.com/bbatsov/zenburn-emacs")
9223 (commit (string-append "v" version))))
9224 (file-name (git-file-name name version))
9225 (sha256
9226 (base32 "1991s1gz2i3jchf0yvcsjjb5flwn13ifbnnfkqqrxxvy2imfh18q"))))
9227 (build-system emacs-build-system)
9228 (home-page "https://github.com/bbatsov/zenburn-emacs")
9229 (synopsis "Low contrast color theme for Emacs")
9230 (description
9231 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
9232 It is built on top of the custom theme support in Emacs 24 or later.")
9233 (license license:gpl3+)))
9234
9235 (define-public emacs-moe-theme-el
9236 (package
9237 (name "emacs-moe-theme-el")
9238 (version "1.0.1")
9239 (source
9240 (origin
9241 (method git-fetch)
9242 (uri (git-reference
9243 (url "https://github.com/kuanyui/moe-theme.el")
9244 (commit (string-append "v" version))))
9245 (file-name (git-file-name name version))
9246 (sha256
9247 (base32 "14higsv6h0pka90gr25a3yxh95xn65l6qxb39mmdzkfdlnzsg664"))))
9248 (build-system emacs-build-system)
9249 (home-page "https://github.com/kuanyui/moe-theme.el")
9250 (synopsis "Anime-inspired color themes")
9251 (description
9252 "This package provides vibrant color schemes with light and dark
9253 variants.")
9254 (license license:gpl3+)))
9255
9256 (define-public emacs-solarized-theme
9257 (package
9258 (name "emacs-solarized-theme")
9259 (version "2.0.0")
9260 (source
9261 (origin
9262 (method git-fetch)
9263 (uri (git-reference
9264 (url "https://github.com/bbatsov/solarized-emacs/")
9265 (commit (string-append "v" version))))
9266 (file-name (git-file-name name version))
9267 (sha256
9268 (base32 "17z6cj8ids88xj2i6zs1s0mxs0fhn3gr7g5nhhy8s8khnzmyy2vj"))))
9269 (build-system emacs-build-system)
9270 (propagated-inputs
9271 (list emacs-dash))
9272 (home-page "https://github.com/bbatsov/solarized-emacs")
9273 (synopsis "Port of the Solarized theme for Emacs")
9274 (description
9275 "Solarized for Emacs is a port of the Solarized theme for Vim. This
9276 package provides a light and a dark variant.")
9277 (license license:gpl3+)))
9278
9279 (define-public emacs-color-theme-solarized
9280 ;; From 2017-10-24. No releases available.
9281 (let ((commit "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee")
9282 (revision "0"))
9283 (package
9284 (name "emacs-color-theme-solarized")
9285 (version (git-version "0" revision commit))
9286 (source (origin
9287 (method git-fetch)
9288 (uri (git-reference
9289 (url
9290 "https://github.com/sellout/emacs-color-theme-solarized")
9291 (commit commit)))
9292 (file-name (git-file-name name version))
9293 (sha256
9294 (base32
9295 "16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3"))))
9296 (build-system emacs-build-system)
9297 (arguments
9298 (list #:phases
9299 #~(modify-phases %standard-phases
9300 ;; These are intended for old versions of Emacs and do not
9301 ;; compile with emacs>=24.
9302 (add-before 'install 'remove-color-theme
9303 (lambda _
9304 (delete-file "./color-theme-solarized.el")
9305 (delete-file "./color-theme-solarized-pkg.el"))))))
9306 (home-page "https://github.com/sellout/emacs-color-theme-solarized")
9307 (synopsis "Solarized color scheme for Emacs")
9308 (description
9309 "This package provides Emacs highlighting using Ethan Schoonover’s
9310 Solarized color scheme.")
9311 (license license:expat))))
9312
9313 (define-public emacs-poet-theme
9314 (let ((commit "16eb694f0755c04c4db98614d0eca1199fddad70")
9315 (revision "1"))
9316 (package
9317 (name "emacs-poet-theme")
9318 (version (git-version "0" revision commit))
9319 (source
9320 (origin
9321 (method git-fetch)
9322 (uri (git-reference
9323 (url "https://github.com/kunalb/poet")
9324 (commit commit)))
9325 (file-name (git-file-name name version))
9326 (sha256
9327 (base32
9328 "0zm8jbviddyj7jnyssh77jx43jghbpjwr77n9s3cjp3bmadwkrv5"))))
9329 (build-system emacs-build-system)
9330 (home-page "https://github.com/kunalb/poet/")
9331 (synopsis "Emacs theme for prose")
9332 (description
9333 "Emacs has very good support for multiple fonts in a single file. Poet
9334 uses this support to make it much more convenient to write prose within Emacs,
9335 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
9336 Code blocks, tables, etc are formatted in monospace text with the appropriate
9337 backgrounds.")
9338 (license license:expat))))
9339
9340 (define-public emacs-ahungry-theme
9341 (package
9342 (name "emacs-ahungry-theme")
9343 (version "1.10.0")
9344 (source
9345 (origin (method url-fetch)
9346 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
9347 version ".tar"))
9348 (sha256
9349 (base32
9350 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
9351 (build-system emacs-build-system)
9352 (home-page "https://github.com/ahungry/color-theme-ahungry")
9353 (synopsis "Ahungry color theme for Emacs")
9354 (description "Ahungry theme for Emacs provides bright and bold colors.
9355 If you load it from a terminal, you will be able to make use of the
9356 transparent background. If you load it from a GUI, it will default to a
9357 dark background.")
9358 (license license:gpl3+)))
9359
9360 (define-public emacs-color-theme-modern
9361 ;; No release since October 2019
9362 (let ((commit "74ad69bbca6fcfff3c0960d888c7c9c1f9f3e2e8")
9363 (revision "1"))
9364 (package
9365 (name "emacs-color-theme-modern")
9366 (version (git-version "0.0.3" revision commit))
9367 (source (origin
9368 (method git-fetch)
9369 (uri (git-reference
9370 (url "https://github.com/emacs-jp/replace-colorthemes.git")
9371 (commit commit)))
9372 (file-name (git-file-name name version))
9373 (sha256
9374 (base32
9375 "13ff4s372wsl5x13vh4vywhi6qcc54gybhp6rxl0r1l4wxidanwn"))))
9376 (build-system emacs-build-system)
9377 (home-page "https://github.com/emacs-jp/replace-colorthemes")
9378 (synopsis "Emacs color themes implemented via built-in customization")
9379 (description "This package contains several themes that were originally
9380 implemented with the venerable @code{color-themes} package, ported to Emacs'
9381 built-in custom themes.")
9382 (license license:gpl3+))))
9383
9384 (define-public emacs-gruvbox-theme
9385 (package
9386 (name "emacs-gruvbox-theme")
9387 (version "1.30.1")
9388 (source (origin
9389 (method git-fetch)
9390 (uri (git-reference
9391 (url "https://github.com/greduan/emacs-theme-gruvbox")
9392 (commit version)))
9393 (file-name (git-file-name name version))
9394 (sha256
9395 (base32
9396 "0dgjf86i8179l1nsjyc20chysqmy8yhphpd5lzv2ypx79l4z3jka"))))
9397 (build-system emacs-build-system)
9398 (propagated-inputs
9399 (list emacs-autothemer))
9400 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
9401 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
9402 (description
9403 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
9404
9405 Designed as a bright theme with pastel 'retro groove' colors and light/dark
9406 mode switching in the way of solarized. The main focus when developing gruvbox
9407 is to keep colors easily distinguishable, contrast enough and still pleasant
9408 for the eyes.")
9409 (license license:expat))) ; MIT license
9410
9411 (define-public emacs-spacegray-theme
9412 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
9413 (revision "0"))
9414 (package
9415 (name "emacs-spacegray-theme")
9416 (version (git-version "0" revision commit))
9417 (source (origin
9418 (method git-fetch)
9419 (uri (git-reference
9420 (url "https://github.com/bruce/emacs-spacegray-theme")
9421 (commit commit)))
9422 (file-name (git-file-name name version))
9423 (sha256
9424 (base32
9425 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
9426 (build-system emacs-build-system)
9427 (home-page "https://github.com/bruce/emacs-spacegray-theme")
9428 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
9429 (description
9430 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
9431 Sublime Text. It features a dark blue/gray background and soft blue, green,
9432 orange and red as accent colors.")
9433 (license license:expat)))) ; MIT license
9434
9435 (define-public emacs-org-cv
9436 ;; There are no tagged releases.
9437 (let ((commit "24bcd82348d441d95c2c80fb8ef8b5d6d4b80d95")
9438 (revision "0"))
9439 (package
9440 (name "emacs-org-cv")
9441 (version (git-version "0" revision commit))
9442 (source
9443 (origin
9444 (method git-fetch)
9445 (uri (git-reference
9446 (url "https://gitlab.com/Titan-C/org-cv")
9447 (commit commit)))
9448 (file-name (git-file-name name version))
9449 (sha256
9450 (base32 "0zcnbxvlwi4d6vzsm3ag7z74qphdigmx303gppb9d614jnsfsdg2"))))
9451 (build-system emacs-build-system)
9452 (propagated-inputs
9453 (list emacs-ox-hugo))
9454 (home-page "https://titan-c.gitlab.io/org-cv/")
9455 (synopsis "Collection of export backends for Org to generate a CV")
9456 (description
9457 "This project exports an Org file with reasonably structured items into
9458 a LaTeX file, which compiles into a nice CV. In the same spirit, the Org file
9459 may export to Markdown so that it can be used for a web based CV.")
9460 (license license:gpl3+))))
9461
9462 (define-public emacs-ox-gfm
9463 (package
9464 (name "emacs-ox-gfm")
9465 (version "1.0")
9466 (source (origin
9467 (method git-fetch)
9468 (uri (git-reference
9469 (url "https://github.com/larstvei/ox-gfm")
9470 (commit (string-append "v" version))))
9471 (sha256
9472 (base32
9473 "0drdypmgxk3238hmkqw9s3cw9wv94cyfqar5ar0bv0k69s92pxj8"))))
9474 (build-system emacs-build-system)
9475 (home-page "https://github.com/larstvei/ox-gfm")
9476 (synopsis "Github Flavored Markdown Back-End for Org Export Engine")
9477 (description "This package is a small exporter based on the Markdown
9478 exporter already existing in Org mode. It supports the Github flavored
9479 markdown features.")
9480 (license license:gpl3+)))
9481
9482 (define-public emacs-2048-game
9483 (package
9484 (name "emacs-2048-game")
9485 (version "20151026.1233")
9486 (source
9487 (origin
9488 (method url-fetch)
9489 (uri (string-append "https://melpa.org/packages/2048-game-"
9490 version ".el"))
9491 (sha256
9492 (base32
9493 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
9494 (build-system emacs-build-system)
9495 (home-page "https://hg.sr.ht/~zck/game-2048")
9496 (synopsis "Implementation of the game 2048 in Emacs Lisp")
9497 (description
9498 "This program is an implementation of 2048 for Emacs.
9499 The goal of this game is to create a tile with value 2048. The size of the
9500 board and goal value can be customized.")
9501 (license license:gpl3+)))
9502
9503 (define-public emacs-chess
9504 (package
9505 (name "emacs-chess")
9506 (version "2.0.5")
9507 (source
9508 (origin
9509 (method url-fetch)
9510 (uri (string-append "https://elpa.gnu.org/packages/"
9511 "chess-" version ".tar"))
9512 (sha256
9513 (base32 "1a4iwjdh6k348df6qywjws9z9f862d62m0b2sz57z4xhywiyxpr7"))))
9514 (build-system emacs-build-system)
9515 (arguments
9516 (list
9517 #:phases
9518 #~(modify-phases %standard-phases
9519 (add-after 'install 'install-pieces
9520 (lambda _
9521 (let ((pieces
9522 (string-append #$output "/share/emacs/site-lisp/chess-"
9523 #$version "/pieces")))
9524 (mkdir-p pieces)
9525 (copy-recursively "pieces" pieces)))))))
9526 (home-page "https://elpa.gnu.org/packages/chess.html")
9527 (synopsis "Play chess in GNU Emacs")
9528 (description
9529 "Chess is an Emacs Lisp library and several clients on top of the
9530 underlying library functionality for performing various activities related to
9531 the game of chess.")
9532 (license license:gpl3+)))
9533
9534 (define-public emacs-4clojure
9535 ;; There is no release. Base version is extracted from Version keyword in
9536 ;; the main file.
9537 (let ((commit "4eccf8c7d4341a36c269451838114b27836699f9")
9538 (revision "1"))
9539 (package
9540 (name "emacs-4clojure")
9541 (version (git-version "0.2.1" revision commit))
9542 (source
9543 (origin
9544 (method git-fetch)
9545 (uri (git-reference
9546 (url "https://github.com/emacsorphanage/4clojure")
9547 (commit commit)))
9548 (file-name (git-file-name name version))
9549 (sha256
9550 (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk"))))
9551 (build-system emacs-build-system)
9552 (propagated-inputs
9553 (list emacs-request))
9554 (home-page "https://github.com/emacsorphanage/4clojure/")
9555 (synopsis "Open and evaluate 4clojure questions in Emacs")
9556 (description "Emacs 4clojure interacts with
9557 @url{http://www.4clojure.com, 4clojure} problems. You can open a specific
9558 question and move to the next or previous one. You can also verify your
9559 answers.")
9560 (license license:gpl3+))))
9561
9562 (define-public emacs-base16-theme
9563 (package
9564 (name "emacs-base16-theme")
9565 (version "3.0")
9566 (source
9567 (origin
9568 (method git-fetch)
9569 (uri (git-reference
9570 (url "https://github.com/belak/base16-emacs")
9571 (commit version)))
9572 (file-name (git-file-name name version))
9573 (sha256
9574 (base32 "0qp71j77zg8gippcn277s0j5a9n6dbwv3kdp2nya6li4b412vgba"))))
9575 (build-system emacs-build-system)
9576 (arguments
9577 (list #:include #~(cons "^build\\/.*\\.el$" %default-include)
9578 #:phases
9579 #~(modify-phases %standard-phases
9580 (add-after 'install 'mv-themes
9581 (lambda _
9582 (use-modules (ice-9 regex))
9583 (let ((theme-dir (string-append (elpa-directory #$output)
9584 "/build")))
9585 (for-each (lambda (theme)
9586 (rename-file
9587 theme
9588 (regexp-substitute #f
9589 (string-match "build\\/"
9590 theme)
9591 'pre 'post)))
9592 (find-files theme-dir "\\.el$"))
9593 (delete-file-recursively theme-dir)))))))
9594 (home-page "https://github.com/belak/base16-emacs")
9595 (synopsis "Base16 color themes for Emacs")
9596 (description
9597 "Base16 provides carefully chosen syntax highlighting and a default set
9598 of sixteen colors suitable for a wide range of applications. Base16 is not a
9599 single theme but a set of guidelines with numerous implementations.")
9600 (license license:expat)))
9601
9602 (define-public emacs-solaire-mode
9603 (package
9604 (name "emacs-solaire-mode")
9605 (version "2.0.4")
9606 (source
9607 (origin
9608 (method git-fetch)
9609 (uri (git-reference
9610 (url "https://github.com/hlissner/emacs-solaire-mode")
9611 (commit (string-append "v" version))))
9612 (file-name (git-file-name name version))
9613 (sha256
9614 (base32 "1lkm09wznal0grpz61ikc77mjrri1x1bi79qwyf1cah9s0wv3isq"))))
9615 (build-system emacs-build-system)
9616 (home-page "https://github.com/hlissner/emacs-solaire-mode")
9617 (synopsis "Change background of file-visiting buffers in Emacs")
9618 (description
9619 "@code{solaire-mode} is inspired by editors which visually distinguish
9620 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
9621 background of file-visiting buffers (and certain aspects of the UI) to make
9622 them easier to distinguish from other, less important buffers.")
9623 (license license:expat)))
9624
9625 (define-public emacs-embark
9626 (package
9627 (name "emacs-embark")
9628 (version "0.17")
9629 (source
9630 (origin
9631 (method git-fetch)
9632 (uri (git-reference
9633 (url "https://github.com/oantolin/embark")
9634 (commit version)))
9635 (sha256
9636 (base32 "1s0ssf4q9kg4c5w87h2ypyvrhi31mz3s6k4h7pxi9a47lkccq8n1"))
9637 (file-name (git-file-name name version))))
9638 (build-system emacs-build-system)
9639 (propagated-inputs
9640 (list emacs-avy emacs-consult))
9641 (home-page "https://github.com/oantolin/embark")
9642 (synopsis "Emacs mini-buffer actions rooted in keymaps")
9643 (description
9644 "This package provides a sort of right-click contextual menu for Emacs
9645 offering you relevant @emph{actions} to use on a @emph{target} determined by
9646 the context.
9647
9648 In the minibuffer, the target is the current best completion candidate. In
9649 the @code{*Completions*} buffer the target is the completion at point. In
9650 a regular buffer, the target is the region if active, or else the file, symbol
9651 or URL at point.
9652
9653 The type of actions offered depend on the type of the target. For files you
9654 get offered actions like deleting, copying, renaming, visiting in another
9655 window, running a shell command on the file, etc. For buffers the actions
9656 include switching to or killing the buffer. For package names the actions
9657 include installing, removing or visiting the homepage.")
9658 (license license:gpl3+)))
9659
9660 (define-public emacs-prescient
9661 (package
9662 (name "emacs-prescient")
9663 (version "5.2.1")
9664 (source
9665 (origin
9666 (method git-fetch)
9667 (uri (git-reference
9668 (url "https://github.com/raxod502/prescient.el")
9669 (commit (string-append "v" version))))
9670 (file-name (git-file-name name version))
9671 (sha256
9672 (base32 "0z97d7nnl1hgxj4fsvgw3hb3j4dc9wkdq2vq3dw607f29lwqiadk"))))
9673 (build-system emacs-build-system)
9674 (propagated-inputs
9675 (list emacs-company emacs-ivy emacs-selectrum))
9676 (home-page "https://github.com/raxod502/prescient.el/")
9677 (synopsis "Emacs library for sorting and filtering candidates")
9678 (description
9679 "Prescient is a library for sorting and filtering, as well as extensions
9680 for Ivy and Company that make use of the library.")
9681 (license license:expat)))
9682
9683 (define-public emacs-selectrum
9684 (package
9685 (name "emacs-selectrum")
9686 (version "3.1")
9687 (source
9688 (origin
9689 (method git-fetch)
9690 (uri (git-reference
9691 (url "https://github.com/raxod502/selectrum")
9692 (commit (string-append "v" version))))
9693 (file-name (git-file-name name version))
9694 (sha256
9695 (base32 "02jrki6vzyfyi1bbslki5pk2348flh9dz18jkc4y7p60bvbr52cb"))))
9696 (build-system emacs-build-system)
9697 (home-page "https://github.com/raxod502/selectrum/")
9698 (synopsis "Incremental narrowing in Emacs")
9699 (description "Selectrum is a solution for incremental narrowing in
9700 Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based
9701 on choosing the right abstractions and prioritizing consistency and
9702 predictability over special-cased improvements for particular cases.
9703 As such, Selectrum follows existing Emacs conventions where they exist
9704 and are reasonable, and it declines to implement features which have
9705 marginal benefit compared to the additional complexity of a new
9706 interface.")
9707 (license license:expat)))
9708
9709 (define-public emacs-orderless
9710 (package
9711 (name "emacs-orderless")
9712 (version "0.7")
9713 (source
9714 (origin
9715 (method git-fetch)
9716 (uri (git-reference
9717 (url "https://github.com/oantolin/orderless")
9718 (commit version)))
9719 (sha256
9720 (base32 "0m9nyz80j0qnn14drbgk8vn5yr7sv0z6yiz8w95ahcw2qwlgyjs7"))
9721 (file-name (git-file-name name version))))
9722 (build-system emacs-build-system)
9723 (arguments
9724 `(#:phases
9725 (modify-phases %standard-phases
9726 (add-after 'install 'makeinfo
9727 (lambda* (#:key outputs #:allow-other-keys)
9728 (invoke "makeinfo" "orderless.texi")
9729 (install-file "orderless.info"
9730 (string-append (assoc-ref outputs "out")
9731 "/share/info")))))))
9732 (native-inputs
9733 (list texinfo))
9734 (home-page "https://github.com/oantolin/orderless")
9735 (synopsis "Emacs completion style that matches multiple regexps in any order")
9736 (description "This package provides an orderless completion style that
9737 divides the pattern into space-separated components, and matches candidates
9738 that match all of the components in any order. Each component can match in
9739 any one of several ways: literally, as a regexp, as an initialism, in the flex
9740 style, or as multiple word prefixes.")
9741 (license license:gpl3+)))
9742
9743 (define-public emacs-consult
9744 (package
9745 (name "emacs-consult")
9746 (version "0.20")
9747 (source
9748 (origin
9749 (method git-fetch)
9750 (uri (git-reference
9751 (url "https://github.com/minad/consult")
9752 (commit version)))
9753 (sha256
9754 (base32 "1rm53sqfl8hnb1l1fr0s8kxgp03prc2ggywqs5ssiqx87vhyn70w"))
9755 (file-name (git-file-name name version))))
9756 (build-system emacs-build-system)
9757 (propagated-inputs (list emacs-compat))
9758 (home-page "https://github.com/minad/consult")
9759 (synopsis "Consulting completing-read")
9760 (description "This package provides various handy commands based on the
9761 Emacs completion function completing-read, which allows quickly selecting from a
9762 list of candidates.")
9763 (license license:gpl3+)))
9764
9765 (define-public emacs-consult-bibtex
9766 ;; XXX: Upstream contains a single commit, which matches the version below.
9767 (let ((commit "2f870d6eefb54a53216d90a82cff0ff97ba54725"))
9768 (package
9769 (name "emacs-consult-bibtex")
9770 (version "0.1")
9771 (source (origin
9772 (method git-fetch)
9773 (uri (git-reference
9774 (url "https://github.com/mohkale/consult-bibtex")
9775 (commit commit)))
9776 (sha256
9777 (base32
9778 "0jxjvpg3j8zk77sfhyy27fd1zbj2zz7xayavan3hhj4853q92kwq"))))
9779 (build-system emacs-build-system)
9780 (inputs (list emacs-consult emacs-embark emacs-org-roam-bibtex))
9781 (home-page "https://github.com/mohkale/consult-bibtex")
9782 (synopsis "Consulting-read interface for BibTeX completion")
9783 (description "This package provides a read interface for BibTeX
9784 completion using Consult.")
9785 (license license:gpl3+))))
9786
9787 (define-public emacs-consult-dir
9788 (package
9789 (name "emacs-consult-dir")
9790 (version "0.1")
9791 (source (origin
9792 (method git-fetch)
9793 (uri (git-reference
9794 (url "https://github.com/karthink/consult-dir")
9795 (commit (string-append "v" version))))
9796 (sha256
9797 (base32 "1cff4ssrn1mw2s5n090pdmwdirnfih8idg5f0ll2bi2djc4hq5kn"))
9798 (file-name (git-file-name name version))))
9799 (build-system emacs-build-system)
9800 (propagated-inputs (list emacs-consult))
9801 (home-page "https://github.com/karthink/consult-dir")
9802 (synopsis "Insert paths into minibuffer prompts in Emacs")
9803 (description "Consult-dir allows you to easily insert directory
9804 paths into the minibuffer prompt in Emacs.
9805
9806 When using the minibuffer, you can switch---with completion and filtering
9807 provided by your completion setup---to any directory you’ve visited recently,
9808 or to a project or bookmarked directory. The minibuffer prompt will be
9809 replaced with the directory you choose.")
9810 (license license:gpl3+)))
9811
9812 (define-public emacs-consult-notmuch
9813 (package
9814 (name "emacs-consult-notmuch")
9815 (version "0.7")
9816 (source
9817 (origin
9818 (method git-fetch)
9819 (uri (git-reference
9820 (url "https://codeberg.org/jao/consult-notmuch")
9821 (commit version)))
9822 (file-name (git-file-name name version))
9823 (sha256
9824 (base32 "0xzpkpf2sb89qkbqcrwddp4pgnzdjp40bc5da22jq9r4pf67y7qs"))))
9825 (build-system emacs-build-system)
9826 (propagated-inputs
9827 (list emacs-consult emacs-notmuch))
9828 (home-page "https://codeberg.org/jao/consult-notmuch")
9829 (synopsis "Search and preview Notmuch emails using Consult")
9830 (description
9831 "This package provides two commands using consult to query Notmuch emails
9832 and present results either as single emails or full trees.")
9833 (license license:gpl3+)))
9834
9835 (define-public emacs-consult-org-roam
9836 (let* ((commit "9572c5bc194a583dc9e86ea7d2751959d86b5c78")
9837 (revision "0"))
9838 (package
9839 (name "emacs-consult-org-roam")
9840 (version (git-version "0.1" revision commit))
9841 (source
9842 (origin
9843 (method git-fetch)
9844 (uri (git-reference
9845 (url "https://github.com/jgru/consult-org-roam")
9846 (commit commit)))
9847 (sha256
9848 (base32
9849 "0c2hjd2gw77h77487fzdqfybg0ricsvlnwwfxai9baawz37bcn7q"))))
9850 (build-system emacs-build-system)
9851 (propagated-inputs (list emacs-consult emacs-org-roam))
9852 (home-page "https://github.com/jgru/consult-org-roam")
9853 (synopsis "Consult integration for Org Roam")
9854 (description
9855 "This is a set of functions to use Org Roam with Consult. This
9856 packages replaces Org Roam's own completing read functions with equivalent
9857 versions utilizing Consult's internal API.")
9858 (license license:gpl3+))))
9859
9860 (define-public emacs-consult-eglot
9861 (package
9862 (name "emacs-consult-eglot")
9863 (version "0.2.0")
9864 (source (origin
9865 (method git-fetch)
9866 (uri (git-reference
9867 (url "https://github.com/mohkale/consult-eglot")
9868 (commit (string-append "v" version))))
9869 (sha256
9870 (base32 "1qxk1npxbf8m3g9spikgdxcf6mzjx6cwy3f5vn6zz5ksh14xw3sd"))
9871 (file-name (git-file-name name version))))
9872 (build-system emacs-build-system)
9873 (propagated-inputs (list emacs-consult emacs-eglot))
9874 (home-page "https://github.com/mohkale/consult-eglot")
9875 (synopsis "Consulting-read interface for eglot")
9876 (description "This package acts as a parallel of consult-lsp for eglot and
9877 provides a front-end interface for the workspace/symbols LSP procedure
9878 call.")
9879 (license license:gpl3+)))
9880
9881 (define-public emacs-consult-yasnippet
9882 (let ((commit "ae0450889484f23dc4ec37518852a2c61b89f184")
9883 (revision "0"))
9884 (package
9885 (name "emacs-consult-yasnippet")
9886 (version (git-version "0.2" revision commit))
9887 (source
9888 (origin
9889 (method git-fetch)
9890 (uri (git-reference
9891 (url "https://github.com/mohkale/consult-yasnippet")
9892 (commit commit)))
9893 (file-name (git-file-name name version))
9894 (sha256
9895 (base32 "13hmmsnmh32vafws61sckzzy354rq0nslqpyzhw97iwvn0fpsa35"))))
9896 (build-system emacs-build-system)
9897 (propagated-inputs (list emacs-consult emacs-yasnippet))
9898 (home-page "https://github.com/mohkale/consult-yasnippet")
9899 (synopsis "Consulting-read interface for Yasnippet")
9900 (description
9901 "This package allows you to expand Yasnippet' snippets through
9902 a completing-read interface. It supports previewing the current snippet
9903 expansion and overwriting the marked region with a new snippet completion.")
9904 (license license:gpl3+))))
9905
9906 (define-public emacs-marginalia
9907 (package
9908 (name "emacs-marginalia")
9909 (version "0.15")
9910 (source
9911 (origin
9912 (method git-fetch)
9913 (uri (git-reference
9914 (url "https://github.com/minad/marginalia")
9915 (commit version)))
9916 (file-name (git-file-name name version))
9917 (sha256
9918 (base32 "0ncdyczalvl677nim0iha003xway7rwxw8y35vcvkgsdk4vzv848"))))
9919 (build-system emacs-build-system)
9920 (home-page "https://github.com/minad/marginalia")
9921 (synopsis "Marginalia in the minibuffer completions")
9922 (description
9923 "This package provides Marginalia mode which adds marginalia to the
9924 minibuffer completions. Marginalia are marks or annotations placed at the
9925 margin of the page of a book or in this case helpful colorful annotations
9926 placed at the margin of the minibuffer for your completion candidates.")
9927 (license license:gpl3+)))
9928
9929 (define-public emacs-smartparens
9930 (package
9931 (name "emacs-smartparens")
9932 (version "1.11.0")
9933 (source
9934 (origin
9935 (method git-fetch)
9936 (uri (git-reference
9937 (url "https://github.com/Fuco1/smartparens")
9938 (commit version)))
9939 (file-name (git-file-name name version))
9940 (sha256
9941 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
9942 (build-system emacs-build-system)
9943 (propagated-inputs
9944 (list emacs-dash emacs-markdown-mode))
9945 (home-page "https://github.com/Fuco1/smartparens")
9946 (synopsis "Paredit-like insertion, wrapping and navigation with user
9947 defined pairs")
9948 (description
9949 "Smartparens is a minor mode for Emacs that deals with parens pairs
9950 and tries to be smart about it. It started as a unification effort to
9951 combine functionality of several existing packages in a single,
9952 compatible and extensible way to deal with parentheses, delimiters, tags
9953 and the like. Some of these packages include autopair, textmate,
9954 wrap-region, electric-pair-mode, paredit and others. With the basic
9955 features found in other packages it also brings many improvements as
9956 well as completely new features.")
9957 (license license:gpl3+)))
9958
9959 (define-public emacs-dumbparens
9960 ;; There are no releases.
9961 (let ((commit "18b668772f25e5f7b62c0a000b8169eaf7515057")
9962 (revision "0"))
9963 (package
9964 (name "emacs-dumbparens")
9965 (version (git-version "0" revision commit))
9966 (source
9967 (origin
9968 (method git-fetch)
9969 (uri
9970 (git-reference
9971 (url "https://github.com/raxod502/dumbparens")
9972 (commit commit)))
9973 (file-name (git-file-name name version))
9974 (sha256
9975 (base32 "0xv2yzjzq2450z007jppf86knnwzb2s3sxvqyk1yp6qs9mgrmnyp"))))
9976 (build-system emacs-build-system)
9977 (arguments
9978 (list
9979 #:tests? #t
9980 #:test-command #~(list "make" "test")))
9981 (home-page "https://github.com/raxod502/dumbparens/")
9982 (synopsis "Minor mode that provides improvements on Smartparens")
9983 (description
9984 "@code{emacs-dumbparens} is a minor mode for Emacs that deals with parens
9985 pairs and doesn't try to be smart about it.")
9986 (license license:expat))))
9987
9988 (define-public emacs-highlight-symbol
9989 ;; We prefer a more recent commit that provides an option to squelch
9990 ;; echo-area alerts that can drown out useful information like eldoc
9991 ;; messages.
9992 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
9993 (version "1.3")
9994 (revision "1"))
9995 (package
9996 (name "emacs-highlight-symbol")
9997 (version (git-version version revision commit))
9998 (source
9999 (origin
10000 (method git-fetch)
10001 (uri (git-reference
10002 (url "https://github.com/nschum/highlight-symbol.el")
10003 (commit commit)))
10004 (file-name (git-file-name name version))
10005 (sha256
10006 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
10007 (build-system emacs-build-system)
10008 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
10009 (synopsis "Automatic and manual symbol highlighting for Emacs")
10010 (description
10011 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
10012 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
10013 the symbol at point highlighted.
10014
10015 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
10016 @code{highlight-symbol-next-in-defun} and
10017 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
10018 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
10019 bindings @code{M-p} and @code{M-p} for navigation. When
10020 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
10021 regardless of @code{highlight-symbol-idle-delay}.
10022
10023 @code{highlight-symbol-query-replace} can be used to replace the symbol.")
10024 (license license:gpl2+))))
10025
10026 (define-public emacs-symbol-overlay
10027 (package
10028 (name "emacs-symbol-overlay")
10029 (version "4.2")
10030 (source
10031 (origin
10032 (method git-fetch)
10033 (uri (git-reference
10034 (url "https://github.com/wolray/symbol-overlay")
10035 (commit version)))
10036 (file-name (git-file-name name version))
10037 (sha256
10038 (base32 "10n0871xzycifyqp73xnbqmrgy60imlb26yhm3p6vfj3d84mg1b2"))))
10039 (build-system emacs-build-system)
10040 (home-page "https://github.com/wolray/symbol-overlay")
10041 (synopsis "Highlight symbols and perform various search operations on them")
10042 (description
10043 "This package provides functions for highlighting and navigating
10044 between symbols.")
10045 (license license:gpl3+)))
10046
10047 (define-public emacs-hl-todo
10048 (package
10049 (name "emacs-hl-todo")
10050 (version "3.4.2")
10051 (source (origin
10052 (method git-fetch)
10053 (uri (git-reference
10054 (url "https://github.com/tarsius/hl-todo")
10055 (commit (string-append "v" version))))
10056 (file-name (git-file-name name version))
10057 (sha256
10058 (base32
10059 "03i3dvg7scvbxx6z07916zqc7p8w5s9nxv4v2phr68046zjz05dw"))))
10060 (build-system emacs-build-system)
10061 (home-page "https://github.com/tarsius/hl-todo")
10062 (synopsis "Emacs mode to highlight TODO and similar keywords")
10063 (description
10064 "This package provides an Emacs mode to highlight TODO and similar
10065 keywords in comments and strings. This package also provides commands for
10066 moving to the next or previous keyword and to invoke @code{occur} with a
10067 regexp that matches all known keywords.")
10068 (license license:gpl3+)))
10069
10070 (define-public emacs-perspective
10071 (package
10072 (name "emacs-perspective")
10073 (version "2.18")
10074 (source
10075 (origin
10076 (method git-fetch)
10077 (uri (git-reference
10078 (url "https://github.com/nex3/perspective-el")
10079 (commit version)))
10080 (file-name (git-file-name name version))
10081 (sha256
10082 (base32 "1r026cw6p2ss5wg8mxgzf6iv1lb9pdnqyf6yrqb914aibkrvp9b6"))))
10083 (build-system emacs-build-system)
10084 (arguments
10085 `(#:tests? #t
10086 #:test-command '("emacs" "-Q" "-batch" "-L" "."
10087 "-l" "test/test-perspective.el"
10088 "-f" "ert-run-tests-batch-and-exit")))
10089 (home-page "https://github.com/nex3/perspective-el")
10090 (synopsis "Switch between named \"perspectives\"")
10091 (description
10092 "This package provides tagged workspaces in Emacs, similar to workspaces in
10093 windows managers such as Awesome and XMonad. @code{perspective.el} provides
10094 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
10095 perspective is composed of a window configuration and a set of buffers.
10096 Switching to a perspective activates its window configuration, and when in a
10097 perspective only its buffers are available by default.")
10098 ;; This package is released under the same license as Emacs (GPLv3+) or
10099 ;; the Expat license.
10100 (license license:gpl3+)))
10101
10102 (define-public emacs-persp-mode
10103 (package
10104 (name "emacs-persp-mode")
10105 (version "2.9.8")
10106 (source
10107 (origin
10108 (method git-fetch)
10109 (uri (git-reference
10110 (url "https://github.com/Bad-ptr/persp-mode.el")
10111 (commit (string-append "v" version))))
10112 (file-name (git-file-name name version))
10113 (sha256
10114 (base32
10115 "0b4y7a6j70s9lvr37riyy9k5kh3yvmx0m6nd9c0c8572ji4ij65g"))))
10116 (build-system emacs-build-system)
10117 (home-page "https://github.com/Bad-ptr/persp-mode.el")
10118 (synopsis "Switch between named \"perspectives\" shared among frames")
10119 (description
10120 "This package extends @code{perspective.el} to enable perspectives that
10121 can be saved to and restored from a file.")
10122 (license license:gpl2+)))
10123
10124 (define-public emacs-eyebrowse
10125 ;; XXX: Upstream has no tagged release. Version is extracted from keyword
10126 ;; in main file.
10127 (let ((commit "88c7b59aa7c5c93bc23812217213adfa238f977b")
10128 (revision "0"))
10129 (package
10130 (name "emacs-eyebrowse")
10131 (version (git-version "0.7.8" revision commit))
10132 (source
10133 (origin
10134 (method git-fetch)
10135 (uri (git-reference
10136 (url "https://depp.brause.cc/eyebrowse.git")
10137 (commit commit)))
10138 (file-name (git-file-name name version))
10139 (sha256
10140 (base32 "09s07mvg5bz3dm9sxgn40c7z6d6ry1sdjzsxwgmy825f3xm66avs"))))
10141 (build-system emacs-build-system)
10142 (propagated-inputs
10143 (list emacs-dash))
10144 (home-page "https://depp.brause.cc/eyebrowse/")
10145 (synopsis "Simple-minded way to manage window configs in Emacs")
10146 (description
10147 "Eyebrowse is a global minor mode for Emacs that allows you to manage
10148 your window configurations in a simple manner, just like tiling window
10149 managers like i3wm with their workspaces do. It displays their current state
10150 in the modeline by default.")
10151 (license license:gpl3+))))
10152
10153 (define-public emacs-test-simple
10154 (package
10155 (name "emacs-test-simple")
10156 (version "1.3.0")
10157 (source
10158 (origin
10159 (method url-fetch)
10160 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
10161 version ".el"))
10162 (sha256
10163 (base32
10164 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
10165 (build-system emacs-build-system)
10166 (home-page "https://github.com/rocky/emacs-test-simple")
10167 (synopsis "Simple unit test framework for Emacs Lisp")
10168 (description
10169 "Test Simple is a simple unit test framework for Emacs Lisp. It
10170 alleviates the need for context macros, enclosing specifications or required
10171 test tags. It supports both interactive and non-interactive use.")
10172 (license license:gpl3+)))
10173
10174 (define-public emacs-load-relative
10175 (package
10176 (name "emacs-load-relative")
10177 (version "1.3.1")
10178 (source
10179 (origin
10180 (method url-fetch)
10181 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
10182 version ".el"))
10183 (sha256
10184 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
10185 (build-system emacs-build-system)
10186 (home-page "https://github.com/rocky/emacs-load-relative")
10187 (synopsis "Emacs Lisp relative file loading related functions")
10188 (description
10189 "Provides functions which facilitate writing multi-file Emacs packages
10190 and running from the source tree without having to \"install\" code or fiddle
10191 with @{load-path}.
10192
10193 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
10194 another (presumably currently running) Emacs Lisp file.")
10195 (license license:gpl3+)))
10196
10197 (define-public emacs-loc-changes
10198 (package
10199 (name "emacs-loc-changes")
10200 (version "1.2")
10201 (source
10202 (origin
10203 (method url-fetch)
10204 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
10205 version ".el"))
10206 (sha256
10207 (base32
10208 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
10209 (build-system emacs-build-system)
10210 (home-page "https://github.com/rocky/emacs-loc-changes")
10211 (synopsis "Keeps track of positions even after buffer changes")
10212 (description
10213 "This Emacs package provides a mean to track important buffer positions
10214 after buffer changes.")
10215 (license license:gpl3+)))
10216
10217 (define-public emacs-realgud
10218 (package
10219 (name "emacs-realgud")
10220 (version "1.5.1")
10221 (source
10222 (origin
10223 (method git-fetch)
10224 (uri (git-reference
10225 (url "https://github.com/realgud/realgud/")
10226 (commit version)))
10227 (sha256
10228 (base32
10229 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
10230 (file-name (git-file-name name version))))
10231 (build-system emacs-build-system)
10232 (arguments
10233 (list
10234 #:tests? #t
10235 #:phases
10236 #~(modify-phases %standard-phases
10237 (add-after 'unpack 'fix-realgud:run-process-void-error
10238 ;; See: https://github.com/realgud/realgud/issues/269.
10239 (lambda _
10240 (substitute* '("realgud/debugger/gdb/gdb.el"
10241 "realgud/debugger/gub/gub.el")
10242 (("^\\(require 'load-relative\\).*" anchor)
10243 (string-append anchor
10244 "(require-relative-list \
10245 '(\"../../common/run\") \"realgud:\")\n")))))
10246 (add-after 'expand-load-path 'fix-autogen-script
10247 (lambda _
10248 (substitute* "autogen.sh"
10249 (("./configure") "sh configure"))))
10250 (add-after 'fix-autogen-script 'autogen
10251 (lambda _
10252 (setenv "CONFIG_SHELL" "sh")
10253 (invoke "sh" "autogen.sh")))
10254 (add-after 'fix-autogen-script 'set-home
10255 (lambda _
10256 (setenv "HOME" (getenv "TMPDIR"))))
10257 (add-before 'patch-el-files 'remove-realgud-pkg.el
10258 (lambda _
10259 ;; FIXME: `patch-el-files' crashes on this file with error:
10260 ;; unable to locate "bashdb".
10261 (delete-file "./test/test-regexp-bashdb.el"))))
10262 #:include #~(cons* ".*\\.el$" %default-include)))
10263 (native-inputs
10264 (list autoconf automake emacs-test-simple))
10265 (propagated-inputs
10266 (list emacs-load-relative emacs-loc-changes))
10267 (home-page "https://github.com/realgud/realgud/")
10268 (synopsis
10269 "Modular front-end for interacting with external debuggers")
10270 (description
10271 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
10272 with external debuggers. It integrates various debuggers such as gdb, pdb,
10273 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
10274 sources. Unlike GUD, it also supports running multiple debug sessions in
10275 parallel.")
10276 (license license:gpl3+)))
10277
10278 (define-public emacs-rmsbolt
10279 ;; There is no release tag. Version is extracted from main file.
10280 (let ((commit "ff496660cc52a6dd33d358ef0acc6d4bb70cc340")
10281 (revision "0")
10282 (version "0.1.2"))
10283 (package
10284 (name "emacs-rmsbolt")
10285 (version (git-version version revision commit))
10286 (source
10287 (origin
10288 (method git-fetch)
10289 (uri (git-reference
10290 (url "https://gitlab.com/jgkamat/rmsbolt")
10291 (commit commit)))
10292 (file-name (git-file-name name version))
10293 (sha256
10294 (base32 "05i0101238yy1da6z543nr9x5gpvgdxrrdn3sw5dibcn6z62ml3p"))))
10295 (build-system emacs-build-system)
10296 (home-page "https://gitlab.com/jgkamat/rmsbolt")
10297 (synopsis "Emacs viewer for compiler output")
10298 (description
10299 "RMSBolt is a package to provide assembly or bytecode output for
10300 a source code input file.")
10301 (license license:agpl3+))))
10302
10303 (define-public emacs-request
10304 ;; We prefer a more recent commit that has support for auth-source,
10305 ;; and has some bug fixes for Emacs 28.
10306 (let ((commit "3336eaa97de923f74b90dda3e35985e122d40805")
10307 (revision "1"))
10308 (package
10309 (name "emacs-request")
10310 (version (git-version "0.3.2" revision commit))
10311 (source (origin
10312 (method git-fetch)
10313 (uri (git-reference
10314 (url "https://github.com/tkf/emacs-request")
10315 (commit commit)))
10316 (file-name (git-file-name name version))
10317 (sha256
10318 (base32
10319 "0jckwy5zhz95d6l3lz8b9b34pppcjjzy97fg1wn8mqzhf3h460ac"))))
10320 (build-system emacs-build-system)
10321 (arguments
10322 `(#:tests? #f)) ; requires network access.
10323 (propagated-inputs
10324 (list emacs-deferred))
10325 (home-page "https://github.com/tkf/emacs-request")
10326 (synopsis "Package for speaking HTTP in Emacs Lisp")
10327 (description "This package provides a HTTP request library with multiple
10328 backends. It supports url.el which is shipped with Emacs and the curl command
10329 line program.")
10330 (license license:gpl3+))))
10331
10332 (define-public emacs-rudel
10333 (package
10334 (name "emacs-rudel")
10335 (version "0.3.2")
10336 (source
10337 (origin
10338 (method url-fetch)
10339 (uri (string-append "https://elpa.gnu.org/packages/rudel-"
10340 version ".tar"))
10341 (sha256
10342 (base32 "03hcvpp6ykavidwn5x48gs986w1i5icvh7ks6p74pdaagpgw4jmk"))))
10343 (build-system emacs-build-system)
10344 (home-page "http://rudel.sourceforge.net/")
10345 (synopsis "Collaborative editing framework")
10346 (description
10347 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
10348 is to share buffers with other users in order to edit the contents of those
10349 buffers collaboratively. Rudel supports multiple backends to enable
10350 communication with other collaborative editors using different protocols,
10351 though currently Obby (for use with the Gobby editor) is the only
10352 fully-functional one.")
10353 (license license:gpl3+)))
10354
10355 (define-public emacs-hydra
10356 (package
10357 (name "emacs-hydra")
10358 (version "0.15.0")
10359 (source
10360 (origin
10361 (method git-fetch)
10362 (uri (git-reference
10363 (url "https://github.com/abo-abo/hydra")
10364 (commit version)))
10365 (file-name (git-file-name name version))
10366 (sha256
10367 (base32
10368 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
10369 (build-system emacs-build-system)
10370 (arguments
10371 `(#:tests? #t
10372 #:test-command '("make" "test")))
10373 (home-page "https://github.com/abo-abo/hydra")
10374 (synopsis "Make Emacs bindings that stick around")
10375 (description
10376 "This package can be used to tie related commands into a family of short
10377 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
10378 the prefixed binding), all the heads can be called in succession with only a
10379 short extension. Any binding that isn't the Hydra's head vanquishes the
10380 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
10381 serve its original purpose, calling the command assigned to it. This makes
10382 the Hydra very seamless; it's like a minor mode that disables itself
10383 automatically.")
10384 (license license:gpl3+)))
10385
10386 (define-public emacs-pretty-hydra
10387 (package
10388 (name "emacs-pretty-hydra")
10389 (version "0.2.2")
10390 (source
10391 (origin
10392 (method git-fetch)
10393 (uri (git-reference
10394 (url "https://github.com/jerrypnz/major-mode-hydra.el")
10395 (commit version)))
10396 (file-name (git-file-name name version))
10397 (sha256
10398 (base32
10399 "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))
10400 (build-system emacs-build-system)
10401 (propagated-inputs
10402 (list emacs-dash emacs-hydra emacs-s))
10403 (arguments
10404 `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude)))
10405 (home-page "https://github.com/jerrypnz/major-mode-hydra.el")
10406 (synopsis "Major mode keybindings managed by Hydra")
10407 (description
10408 "This package offers an hydra-based method of managing major
10409 mode-specific key bindings. It is intended for use as a library only; see
10410 package @code{emacs-major-mode-hydra} for a user-friendly interface.")
10411 (license license:gpl3+)))
10412
10413 (define-public emacs-interleave
10414 (package
10415 (name "emacs-interleave")
10416 (version "1.4.0")
10417 (source
10418 (origin
10419 (method git-fetch)
10420 (uri
10421 (git-reference
10422 (url "https://github.com/rudolfochrist/interleave")
10423 (commit (string-append "interleave-" version))))
10424 (file-name (git-file-name name version))
10425 (sha256
10426 (base32 "0l5b681mrpk12lx5c16m7kc13p29z6zismwg1llsjg7cdmrmsrcb"))))
10427 (build-system emacs-build-system)
10428 (home-page "https://github.com/rudolfochrist/interleave")
10429 (synopsis "Emacs minor mode to interleave notes and text books")
10430 (description
10431 "Interleave is a minor mode that presents a document viewer side
10432 by side to an Org buffer with your notes relevant to the current page.")
10433 (license license:gpl3+)))
10434
10435 (define-public emacs-major-mode-hydra
10436 (package
10437 (inherit emacs-pretty-hydra)
10438 (name "emacs-major-mode-hydra")
10439 (propagated-inputs
10440 (list emacs-dash emacs-pretty-hydra))
10441 (arguments
10442 `(#:exclude (cons "^pretty-hydra\\.el" %default-exclude)))
10443 (synopsis "Create nice-looking hydras")
10444 (description
10445 "This package provides the macro @code{pretty-hydra-define} to define
10446 hydras with one column per group of heads.")))
10447
10448 (define-public emacs-ivy
10449 (package
10450 (name "emacs-ivy")
10451 (version "0.13.4")
10452 (source
10453 (origin
10454 (method url-fetch)
10455 (uri (string-append "https://elpa.gnu.org/packages/ivy-" version ".tar"))
10456 (sha256
10457 (base32 "0qpza1c45mr8fcpnm32cck4v22fnzz1yb7kww05rzgq1k9iivx5v"))))
10458 (build-system emacs-build-system)
10459 (propagated-inputs
10460 (list emacs-hydra))
10461 (home-page "https://github.com/abo-abo/swiper")
10462 (synopsis "Incremental vertical completion for Emacs")
10463 (description
10464 "This package provides @code{ivy-read} as an alternative to
10465 @code{completing-read} and similar functions. No attempt is made to determine
10466 the best candidate. Instead, the user can navigate candidates with
10467 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
10468 splitting the input text by spaces and re-building it into a regular
10469 expression.")
10470 (license license:gpl3+)))
10471
10472 (define-public emacs-counsel
10473 (package
10474 (name "emacs-counsel")
10475 (version "0.13.4")
10476 (source
10477 (origin
10478 (method url-fetch)
10479 (uri (string-append "https://elpa.gnu.org/packages/"
10480 "counsel-" version ".tar"))
10481 (sha256
10482 (base32 "094zfapfn1l8wjf3djkipk0d9nks0g77sbk107pfsbr3skkzh031"))))
10483 (build-system emacs-build-system)
10484 (propagated-inputs
10485 (list emacs-swiper))
10486 (home-page "https://github.com/abo-abo/swiper")
10487 (synopsis "Various completion functions using Ivy")
10488 (description
10489 "Just call one of the interactive functions in a file to complete the
10490 corresponding thing using Ivy.
10491
10492 The following completions are currently available:
10493 @itemize
10494 @item Symbol completion for Elisp, Common Lisp, Python, Clojure, C, C++.
10495 @item Describe functions for Elisp: function, variable, library, command,
10496 @item bindings, theme.
10497 @item Navigation functions: imenu, ace-line, semantic, outline.
10498 @item Git utilities: git-files, git-grep, git-log, git-stash, git-checkout.
10499 @item Grep utilities: grep, ag, pt, recoll, ack, rg.
10500 @item System utilities: process list, rhythmbox, linux-app.
10501 @item Many more.
10502 @end itemize")
10503 (license license:gpl3+)))
10504
10505 (define-public emacs-swiper
10506 (package
10507 (name "emacs-swiper")
10508 (version "0.13.4")
10509 (source
10510 (origin
10511 (method url-fetch)
10512 (uri (string-append "https://elpa.gnu.org/packages/swiper-" version ".tar"))
10513 (sha256
10514 (base32 "197pq2cvvskib87aky907wv2am55vilr7y5dabmmm07a8vr9py0v"))))
10515 (build-system emacs-build-system)
10516 (propagated-inputs
10517 (list emacs-ivy))
10518 (home-page "https://github.com/abo-abo/swiper")
10519 (synopsis "Isearch with an overview")
10520 (description
10521 "This package gives an overview of the current regex search candidates.
10522 The search regex can be split into groups with a space. Each group is
10523 highlighted with a different face.
10524
10525 It can double as a quick `regex-builder', although only single lines will be
10526 matched.")
10527 (license license:gpl3+)))
10528
10529 (define-public emacs-ivy-xref
10530 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
10531 (revision "1"))
10532 (package
10533 (name "emacs-ivy-xref")
10534 (version (git-version "0.1" revision commit))
10535 (source
10536 (origin
10537 (method git-fetch)
10538 (uri (git-reference
10539 (url "https://github.com/alexmurray/ivy-xref")
10540 (commit commit)))
10541 (file-name (git-file-name name version))
10542 (sha256
10543 (base32
10544 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
10545 (build-system emacs-build-system)
10546 (propagated-inputs
10547 (list emacs-ivy))
10548 (home-page "https://github.com/alexmurray/ivy-xref")
10549 (synopsis "Ivy interface for @code{xref}")
10550 (description "This package provides an Ivy interface for selecting from
10551 @code{xref} results.")
10552 (license license:gpl3))))
10553
10554 (define-public emacs-ivy-pass
10555 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
10556 (revision "1"))
10557 (package
10558 (name "emacs-ivy-pass")
10559 (version (git-version "0.1" revision commit))
10560 (source
10561 (origin
10562 (method git-fetch)
10563 (uri (git-reference
10564 (url "https://github.com/ecraven/ivy-pass")
10565 (commit commit)))
10566 (file-name (git-file-name name version))
10567 (sha256
10568 (base32
10569 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
10570 (build-system emacs-build-system)
10571 (propagated-inputs
10572 (list emacs-ivy emacs-password-store))
10573 (home-page "https://github.com/ecraven/ivy-pass")
10574 (synopsis "Ivy interface to the @code{pass} password store")
10575 (description
10576 "This package provides an Ivy interface for working with the password
10577 store (@code{pass}) in Emacs.")
10578 (license license:gpl3))))
10579
10580 (define-public emacs-ivy-yasnippet
10581 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
10582 (revision "2"))
10583 (package
10584 (name "emacs-ivy-yasnippet")
10585 (version (git-version "0.1" revision commit))
10586 (source
10587 (origin
10588 (method git-fetch)
10589 (uri (git-reference
10590 (url "https://github.com/mkcms/ivy-yasnippet")
10591 (commit commit)))
10592 (file-name (git-file-name name version))
10593 (sha256
10594 (base32
10595 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
10596 (build-system emacs-build-system)
10597 (propagated-inputs
10598 (list emacs-ivy emacs-yasnippet emacs-dash))
10599 (home-page "https://github.com/mkcms/ivy-yasnippet")
10600 (synopsis "Preview @code{yasnippets} with @code{ivy}")
10601 (description "This package allows you to select @code{yasnippet}
10602 snippets using @code{ivy} completion. When current selection changes in the
10603 minibuffer, the snippet contents are temporarily expanded in the buffer. To
10604 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
10605 @code{yas-minor-mode} first).")
10606 (license license:gpl3+))))
10607
10608 ;; The 0.1.6 release is incompatible with newer ivy versions, so we instead
10609 ;; pick a more recent snapshot of the repository, see
10610 ;; https://github.com/Yevgnen/ivy-rich/pull/80.
10611 (define-public emacs-ivy-rich
10612 (let ((commit "600b8183ed0be8668dcc548cc2c8cb94b001363b")
10613 (revision "2"))
10614 (package
10615 (name "emacs-ivy-rich")
10616 (version (git-version "0.1.6" revision commit))
10617 (source
10618 (origin
10619 (method git-fetch)
10620 (uri (git-reference
10621 (url "https://github.com/Yevgnen/ivy-rich")
10622 (commit commit)))
10623 (file-name (git-file-name name version))
10624 (sha256
10625 (base32 "1dv6vr7fv32v5m04zdy02sdajpvrnpc4i3pbh2dwfv73ff8d8yxm"))))
10626 (build-system emacs-build-system)
10627 (propagated-inputs
10628 (list emacs-ivy))
10629 (home-page "https://github.com/Yevgnen/ivy-rich")
10630 (synopsis "More friendly interface for @code{ivy}")
10631 (description
10632 "This package extends Ivy by showing more information in the minibuffer
10633 for each candidate. It adds columns showing buffer modes, file sizes,
10634 docstrings, etc. If @code{emacs-all-the-icons} is installed, it can show
10635 icons as well.")
10636 (license license:gpl3+))))
10637
10638 (define-public emacs-avy
10639 (package
10640 (name "emacs-avy")
10641 (version "0.5.0")
10642 (source
10643 (origin
10644 (method git-fetch)
10645 (uri (git-reference
10646 (url "https://github.com/abo-abo/avy")
10647 (commit version)))
10648 (file-name (git-file-name name version))
10649 (sha256
10650 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
10651 (build-system emacs-build-system)
10652 (arguments
10653 `(#:tests? #t
10654 #:test-command '("make" "test")))
10655 (home-page "https://github.com/abo-abo/avy")
10656 (synopsis "Tree-based completion for Emacs")
10657 (description
10658 "This package provides a generic completion method based on building a
10659 balanced decision tree with each candidate being a leaf. To traverse the tree
10660 from the root to a desired leaf, typically a sequence of @code{read-key} can
10661 be used.
10662
10663 In order for @code{read-key} to make sense, the tree needs to be visualized
10664 appropriately, with a character at each branch node. So this completion
10665 method works only for things that you can see on your screen, all at once,
10666 such as the positions of characters, words, line beginnings, links, or
10667 windows.")
10668 (license license:gpl3+)))
10669
10670 (define-public emacs-ace-window
10671 (package
10672 (name "emacs-ace-window")
10673 (version "0.10.0")
10674 (source
10675 (origin
10676 (method git-fetch)
10677 (uri (git-reference
10678 (url "https://github.com/abo-abo/ace-window")
10679 (commit version)))
10680 (file-name (git-file-name name version))
10681 (sha256
10682 (base32
10683 "0f3r40d5yxp2pm2j0nn86s29nqj8py0jxjbj50v4ci3hsd92d8jl"))))
10684 (build-system emacs-build-system)
10685 (propagated-inputs
10686 (list emacs-avy))
10687 (home-page "https://github.com/abo-abo/ace-window")
10688 (synopsis "Quickly switch windows in Emacs")
10689 (description
10690 "@code{ace-window} is meant to replace @code{other-window}.
10691 In fact, when there are only two windows present, @code{other-window} is
10692 called. If there are more, each window will have its first character
10693 highlighted. Pressing that character will switch to that window.")
10694 (license license:gpl3+)))
10695
10696 (define-public emacs-windsize
10697 ;; There is no proper release. The base version is extracted from the
10698 ;; "Version" keyword in the main file.
10699 (let ((revision "1")
10700 (commit "62c2846bbe95b0a73e996c75e4a644d05f57aaaa"))
10701 (package
10702 (name "emacs-windsize")
10703 (version (git-version "0.1" revision commit))
10704 (source
10705 (origin
10706 (method git-fetch)
10707 (uri (git-reference
10708 (url "https://github.com/grammati/windsize")
10709 (commit commit)))
10710 (file-name (git-file-name name version))
10711 (sha256
10712 (base32 "13kfrmv3vmkfanxv9nym5v43hx5p7xkgqmx65zcxh4gcbaham1mi"))))
10713 (build-system emacs-build-system)
10714 (home-page "https://github.com/grammati/windsize")
10715 (synopsis "Easy resizing of Emacs windows")
10716 (description
10717 "This package allows moving the borders of the active window
10718 with the arrow keys. It prefers to move the right or bottom border when
10719 possible, and falls back to moving the left or top border otherwise.")
10720 (license license:gpl3+))))
10721
10722 (define-public emacs-window-purpose
10723 (package
10724 (name "emacs-window-purpose")
10725 (version "1.8.1")
10726 (source
10727 (origin
10728 (method git-fetch)
10729 (uri (git-reference
10730 (url "https://github.com/bmag/emacs-purpose.git")
10731 (commit (string-append "v" version))))
10732 (file-name (git-file-name name version))
10733 (sha256
10734 (base32
10735 "1cw513mh3gyl21qpmgwqjgpi8kwddmd4n69l4ax5a5pv3vvwrcx9"))))
10736 (build-system emacs-build-system)
10737 (propagated-inputs
10738 (list emacs-let-alist emacs-imenu-list))
10739 (arguments
10740 '(#:include
10741 '("^[^/]+.el$"
10742 "^[^/]+.el.in$"
10743 "^dir$"
10744 "^[^/]+.info$"
10745 "^[^/]+.texi$"
10746 "^[^/]+.texinfo$"
10747 "^doc/dir$"
10748 "^doc/[^/]+.info$"
10749 "^doc/[^/]+.texi$"
10750 "^doc/[^/]+.texinfo$"
10751 "^layouts$")
10752 #:exclude
10753 '("^.dir-locals.el$"
10754 "^test.el$"
10755 "^tests.el$"
10756 "^[^/]+-test.el$"
10757 "^[^/]+-tests.el$")))
10758 (home-page "https://github.com/bmag/emacs-purpose")
10759 (synopsis "Purpose-based window management for Emacs")
10760 (description "Purpose is a package that introduces the concept of a
10761 \"purpose\" for windows and buffers, and then helps you maintain a robust
10762 window layout easily.")
10763 (license license:gpl3+)))
10764
10765 (define-public emacs-iedit
10766 (package
10767 (name "emacs-iedit")
10768 (version "0.9.9.9.9")
10769 (source
10770 (origin
10771 (method git-fetch)
10772 (uri (git-reference
10773 (url "https://github.com/victorhge/iedit")
10774 (commit (string-append "v" version))))
10775 (file-name (git-file-name name version))
10776 (sha256
10777 (base32 "02jdyrff88n69d4kadjaac38gwcv28lhiqqa93rlqzdvmgqsbwak"))))
10778 (build-system emacs-build-system)
10779 (home-page "https://www.emacswiki.org/emacs/Iedit")
10780 (synopsis "Edit multiple regions in the same way simultaneously")
10781 (description
10782 "This package is an Emacs minor mode and allows you to edit one
10783 occurrence of some text in a buffer (possibly narrowed) or region, and
10784 simultaneously have other occurrences edited in the same way.
10785
10786 You can also use Iedit mode as a quick way to temporarily show only the buffer
10787 lines that match the current text being edited. This gives you the effect of
10788 a temporary @code{keep-lines} or @code{occur}.")
10789 (license license:gpl3+)))
10790
10791 (define-public emacs-zoutline
10792 (package
10793 (name "emacs-zoutline")
10794 (version "0.2.0")
10795 (source
10796 (origin
10797 (method git-fetch)
10798 (uri (git-reference
10799 (url "https://github.com/abo-abo/zoutline")
10800 (commit version)))
10801 (sha256
10802 (base32
10803 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
10804 (file-name (git-file-name name version))))
10805 (build-system emacs-build-system)
10806 (home-page "https://github.com/abo-abo/zoutline")
10807 (synopsis "Simple outline library")
10808 (description
10809 "This library provides helpers for outlines. Outlines allow users to
10810 navigate code in a tree-like fashion.")
10811 (license license:gpl3+)))
10812
10813 (define-public emacs-lispy
10814 ;; No release since May 2019 and tons of fixes have landed on master.
10815 ;; https://github.com/abo-abo/lispy/issues/513
10816 (let ((commit "df1b7e614fb0f73646755343e8892ddda310f427"))
10817 (package
10818 (name "emacs-lispy")
10819 (version (git-version "0.27.0" "3" commit))
10820 (home-page "https://github.com/abo-abo/lispy")
10821 (source (origin
10822 (method git-fetch)
10823 (uri (git-reference
10824 (url "https://github.com/abo-abo/lispy")
10825 (commit commit)))
10826 (sha256
10827 (base32
10828 "02pmnn9cqslahnvllqzawp2j5icmb3wgkrk4qrfxjds68jg7pjj4"))
10829 (patches
10830 (search-patches "emacs-lispy-fix-thread-last-test.patch"))
10831 (file-name (git-file-name name version))))
10832 (build-system emacs-build-system)
10833 (propagated-inputs
10834 (list emacs-ace-window emacs-hydra emacs-iedit emacs-swiper
10835 emacs-zoutline))
10836 (native-inputs
10837 (list which emacs-clojure-mode emacs-undercover))
10838 (arguments
10839 (list
10840 #:include #~(cons* "^lispy-clojure\\.clj$"
10841 "^lispy-python\\.py$"
10842 %default-include)
10843 #:phases
10844 ;; XXX: Some failing tests
10845 #~(modify-phases %standard-phases
10846 (add-before 'check 'make-test-writable
10847 (lambda _
10848 (make-file-writable "lispy-test.el")))
10849 (add-before 'check 'remove-failing-test
10850 (lambda _
10851 (emacs-batch-edit-file "lispy-test.el"
10852 `(progn
10853 (dolist (test '("lispy-eval-python-str" "lispy--clojure-dot-object"))
10854 (goto-char (point-min))
10855 (re-search-forward
10856 (concat "ert-deftest " test))
10857 (beginning-of-line)
10858 (kill-sexp))
10859 (basic-save-buffer))))))
10860 #:tests? #t
10861 ;; Set BEMACS to prevent the test suite from loading straight.el.
10862 #:test-command #~(list "make" "test" "BEMACS=emacs -batch")))
10863 (synopsis "Modal S-expression editing")
10864 (description
10865 "Due to the structure of Lisp syntax it's very rare for the programmer
10866 to want to insert characters right before \"(\" or right after \")\". Thus
10867 unprefixed printable characters can be used to call commands when the point is
10868 at one of these special locations. Lispy provides unprefixed keybindings for
10869 S-expression editing when point is at the beginning or end of an
10870 S-expression.")
10871 (license license:gpl3+))))
10872
10873 (define-public emacs-lispyville
10874 (let ((commit "89316f01822b2135e52ca27fd308d207ef618052")
10875 (revision "3"))
10876 (package
10877 (name "emacs-lispyville")
10878 (version (git-version "0.1" revision commit))
10879 (home-page "https://github.com/noctuid/lispyville")
10880 (source (origin
10881 (method git-fetch)
10882 (uri (git-reference (url home-page) (commit commit)))
10883 (sha256
10884 (base32
10885 "10k3hxxpx2v2k4dyad7j1bzmr1q7rzvv4y6c67pa9zcqyaw8m91v"))
10886 (file-name (git-file-name name version))))
10887 (propagated-inputs
10888 (list emacs-evil emacs-lispy))
10889 (build-system emacs-build-system)
10890 (synopsis "Minor mode for integrating Evil with lispy")
10891 (description
10892 "LispyVille's main purpose is to provide a Lisp editing environment
10893 suited towards Evil users. It can serve as a minimal layer on top of lispy
10894 for better integration with Evil, but it does not require the use of lispy’s
10895 keybinding style. The provided commands allow for editing Lisp in normal
10896 state and will work even without lispy being enabled.")
10897 (license license:gpl3+))))
10898
10899 (define-public emacs-lpy
10900 ;; There is no proper release/tag.
10901 (let ((commit "ce78a4613458790cc785c1687af7eed8f0d8d66c")
10902 (revision "5"))
10903 (package
10904 (name "emacs-lpy")
10905 (version (git-version "0.1.0" revision commit))
10906 (source
10907 (origin
10908 (method git-fetch)
10909 (uri (git-reference
10910 (url "https://github.com/abo-abo/lpy")
10911 (commit commit)))
10912 (sha256
10913 (base32
10914 "1vxrjy6k030hcbclblgcaaw7h6k17kl3n9zla08527525c0gma01"))
10915 (file-name (git-file-name name version))))
10916 (propagated-inputs
10917 (list emacs-zoutline emacs-lispy))
10918 (build-system emacs-build-system)
10919 (home-page "https://github.com/abo-abo/lpy")
10920 (synopsis "Modal editing for Python")
10921 (description
10922 "This package provides a minor mode for Python that binds useful
10923 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
10924 circumstances, and leaves the keys untouched outside of those situations,
10925 allowing unprefixed keys to insert their respective characters as expected.")
10926 (license license:gpl3+))))
10927
10928 (define-public emacs-clojure-mode
10929 (package
10930 (name "emacs-clojure-mode")
10931 (version "5.15.1")
10932 (source
10933 (origin
10934 (method git-fetch)
10935 (uri (git-reference
10936 (url "https://github.com/clojure-emacs/clojure-mode")
10937 (commit (string-append "v" version))))
10938 (file-name (git-file-name name version))
10939 (sha256
10940 (base32 "12m3yjhy4q0x3ri4xxb9raqg9lmw4hk4jgn436d9zvsk4fr3h1nd"))))
10941 (build-system emacs-build-system)
10942 (native-inputs
10943 (list emacs-buttercup emacs-dash emacs-paredit emacs-s))
10944 (arguments
10945 `(#:tests? #t
10946 #:test-command '("buttercup")))
10947 (home-page "https://github.com/clojure-emacs/clojure-mode")
10948 (synopsis "Major mode for Clojure code")
10949 (description
10950 "This Emacs package provides font-lock, indentation, navigation and basic
10951 refactoring for the @uref{http://clojure.org, Clojure programming language}.
10952 It is recommended to use @code{clojure-mode} with Paredit or Smartparens.")
10953 (license license:gpl3+)))
10954
10955 (define-public emacs-clj-refactor
10956 (package
10957 (name "emacs-clj-refactor")
10958 (version "3.6.0")
10959 (source
10960 (origin
10961 (method git-fetch)
10962 (uri (git-reference
10963 (url "https://github.com/clojure-emacs/clj-refactor.el")
10964 (commit (string-append "v" version))))
10965 (file-name (git-file-name name version))
10966 (sha256
10967 (base32 "15ya7hp5d2kwh1ig55d75vlghm1vsq99jh44i8q8v25vfmzjp7gp"))))
10968 (build-system emacs-build-system)
10969 (propagated-inputs
10970 (list emacs-yasnippet emacs-paredit emacs-multiple-cursors emacs-cider
10971 emacs-clojure-mode emacs-parseedn emacs-hydra emacs-inflections))
10972 (home-page "https://github.com/clojure-emacs/clj-refactor.el")
10973 (synopsis "Powerful refactoring functionality for Clojure projects")
10974 (description "This Emacs package complements the refactoring functionality
10975 you'd find in clojure-mode and CIDER.")
10976 (license license:gpl3+)))
10977
10978 (define-public emacs-clojure-snippets
10979 ;; Use latest commit (2018) since latest tagged release is too old and is
10980 ;; missing important changes.
10981 (let ((version "1.0.1")
10982 (revision "0")
10983 (commit "6068dca90467a0f4ebc2cd39338a173d6f5ddc04"))
10984 (package
10985 (name "emacs-clojure-snippets")
10986 (version (git-version version revision commit))
10987 (source
10988 (origin
10989 (method git-fetch)
10990 (uri (git-reference
10991 (url "https://github.com/mpenet/clojure-snippets")
10992 (commit commit)))
10993 (file-name (git-file-name name version))
10994 (sha256
10995 (base32 "0vvadcydpsz4b17dlm1jd4fbddzfqibh3mlzv3k4gvp67vv10cqy"))))
10996 (build-system emacs-build-system)
10997 (arguments
10998 `(#:include (cons* "^.*\\/" %default-include)))
10999 (propagated-inputs
11000 (list emacs-yasnippet))
11001 (home-page "https://github.com/mpenet/clojure-snippets")
11002 (synopsis "Yasnippets for Clojure")
11003 (description
11004 "This package provides Yasnippets snippets for Clojure.")
11005 (license license:gpl3+))))
11006
11007 (define-public emacs-anakondo
11008 ;; This particular commit introduces bug fixes above latest release.
11009 (let ((version "0.2.1")
11010 (revision "0")
11011 (commit "c48518560815c49d8d78fb9069906d17e883385e"))
11012 (package
11013 (name "emacs-anakondo")
11014 (version (git-version version revision commit))
11015 (source
11016 (origin
11017 (method git-fetch)
11018 (uri (git-reference
11019 (url "https://github.com/didibus/anakondo")
11020 (commit commit)))
11021 (file-name (git-file-name name version))
11022 (sha256
11023 (base32 "1fzsqd150gpmrj8kz3zy9cd78x9vank7ra720mljhyf04z0h1mj6"))))
11024 (build-system emacs-build-system)
11025 (home-page "https://github.com/didibus/anakondo")
11026 (synopsis "clj-kondo based Clojure[Script] editing facilities")
11027 (description
11028 "This package makes use of clj-kondo's analysis data to provide code
11029 editing facilities related to Clojure, ClojureScript and cljc source.")
11030 (license license:expat))))
11031
11032 (define-public emacs-epl
11033 (package
11034 (name "emacs-epl")
11035 (version "0.9")
11036 (source
11037 (origin
11038 (method git-fetch)
11039 (uri (git-reference
11040 (url "https://github.com/cask/epl")
11041 (commit version)))
11042 (file-name (git-file-name name version))
11043 (sha256
11044 (base32 "0d3z5z90ln8ipk1yds1n1p8fj9yyh2kpspqjs7agl38indra3nb4"))))
11045 (build-system emacs-build-system)
11046 (home-page "https://github.com/cask/epl")
11047 (synopsis "Emacs Package Library")
11048 (description
11049 "A package management library for Emacs, based on @code{package.el}.
11050
11051 The purpose of this library is to wrap all the quirks and hassle of
11052 @code{package.el} into a sane API.")
11053 (license license:gpl3+)))
11054
11055 (define-public emacs-counsel-jq
11056 (package
11057 (name "emacs-counsel-jq")
11058 (version "1.1")
11059 (home-page "https://github.com/200ok-ch/counsel-jq")
11060 (source
11061 (origin
11062 (method git-fetch)
11063 (uri (git-reference
11064 (url home-page)
11065 (commit "aaf33fc2447096cd0d03b77395fe2a95c9fe1481")))
11066 (file-name (git-file-name name version))
11067 (sha256
11068 (base32 "10rz0qm8a4bl0m86kx19zq8lri047p4sxqyny08bgm9pbam0wvwn"))))
11069 (build-system emacs-build-system)
11070 (propagated-inputs
11071 (list emacs-swiper jq))
11072 (synopsis "Live preview @code{jq} queries using counsel")
11073 (description
11074 "This Emacs package provides the ability to live preview @code{jq}
11075 queries using counsel.")
11076 (license license:gpl3+)))
11077
11078 (define-public emacs-counsel-notmuch
11079 ;; Upstream provides no release. Extract version for main file.
11080 (let ((commit "a4a1562935e4180c42524c51609d1283e9be0688")
11081 (revision "0"))
11082 (package
11083 (name "emacs-counsel-notmuch")
11084 (version (git-version "1.0" revision commit))
11085 (source
11086 (origin
11087 (method git-fetch)
11088 (uri (git-reference
11089 (url "https://github.com/fuxialexander/counsel-notmuch")
11090 (commit commit)))
11091 (file-name (git-file-name name version))
11092 (sha256
11093 (base32 "01k1321d961kc2i660a5595bqk0d85f16snsxngsn5si6y83kqr7"))))
11094 (build-system emacs-build-system)
11095 (arguments
11096 `(#:phases
11097 (modify-phases %standard-phases
11098 (add-after 'unpack 'locate-notmuch
11099 (lambda* (#:key inputs #:allow-other-keys)
11100 (make-file-writable "counsel-notmuch.el")
11101 (emacs-substitute-variables "counsel-notmuch.el"
11102 ("counsel-notmuch-path"
11103 (search-input-file inputs "/bin/notmuch"))))))))
11104 (inputs
11105 (list emacs-counsel notmuch emacs-s))
11106 (propagated-inputs
11107 (list emacs-notmuch))
11108 (home-page "https://github.com/fuxialexander/counsel-notmuch")
11109 (synopsis "Search emails in Notmuch asynchronously with Ivy")
11110 (description
11111 "This package can be used to search emails in Notmuch
11112 asynchronously, with Counsel and Ivy. Simply call
11113 @code{counsel-notmuch} and input your Notmuch query.")
11114 (license license:gpl3+))))
11115
11116 (define-public emacs-counsel-projectile
11117 (package
11118 (name "emacs-counsel-projectile")
11119 (version "0.3.2")
11120 (source
11121 (origin
11122 (method git-fetch)
11123 (uri (git-reference
11124 (url "https://github.com/ericdanan/counsel-projectile")
11125 (commit version)))
11126 (file-name (git-file-name name version))
11127 (sha256
11128 (base32 "1vp39r5njfzchkqv9g0w77whazp070anh9gmbkp3z4n3xxbik27f"))))
11129 (build-system emacs-build-system)
11130 (propagated-inputs
11131 (list emacs-counsel emacs-projectile))
11132 (home-page "https://github.com/ericdanan/counsel-projectile")
11133 (synopsis "Enhance Projectile with Ivy")
11134 (description
11135 "This package uses Ivy to provide additional actions for Projectile
11136 commands and replacements for existing functions.")
11137 (license license:gpl3+)))
11138
11139 (define-public emacs-qml-mode
11140 (package
11141 (name "emacs-qml-mode")
11142 (version "0.4")
11143 (source (origin
11144 (method git-fetch)
11145 (uri (git-reference
11146 (url "https://github.com/coldnew/qml-mode")
11147 (commit version)))
11148 (file-name (git-file-name name version))
11149 (sha256
11150 (base32
11151 "1sncsvzjfgmhp4m8w5jd4y51k24n2jfpgvrkd64wlhhzbj3wb947"))))
11152 (build-system emacs-build-system)
11153 (home-page "https://github.com/coldnew/qml-mode/")
11154 (synopsis "Qt Modeling Language (QML) mode for Emacs")
11155 (description "This package provides the @code{qml-mode} major Emacs mode
11156 for editing source files written in the Qt Modeling Language (QML) user
11157 interface markup language. It provides syntax highlighting and basic
11158 navigation commands. @code{qml-mode} is derived from code{js-mode}, the Emacs
11159 builtin JavaScript mode.")
11160 (license license:gpl2+)))
11161
11162 (define-public emacs-queue
11163 (package
11164 (name "emacs-queue")
11165 (version "0.2")
11166 (source (origin
11167 (method url-fetch)
11168 (uri (string-append "https://elpa.gnu.org/packages/queue-"
11169 version ".el"))
11170 (sha256
11171 (base32
11172 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
11173 (build-system emacs-build-system)
11174 (home-page "https://www.dr-qubit.org/emacs_data-structures.html")
11175 (synopsis "Queue data structure for Emacs")
11176 (description
11177 "This Emacs library provides queue data structure. These queues can be
11178 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
11179 stack, i.e. elements can be added to the front or back of the queue, and can
11180 be removed from the front. This type of data structure is sometimes called an
11181 \"output-restricted deque\".")
11182 (license license:gpl3+)))
11183
11184 (define-public emacs-quickrun
11185 (package
11186 (name "emacs-quickrun")
11187 (version "2.3.1")
11188 (source
11189 (origin
11190 (method git-fetch)
11191 (uri (git-reference
11192 (url "https://github.com/emacsorphanage/quickrun")
11193 (commit version)))
11194 (sha256
11195 (base32 "0a1n2v09h0n7d9p2izflqqang4ny0b46dlqvmxvkkik4bb6f4wcz"))
11196 (file-name (git-file-name name version))))
11197 (build-system emacs-build-system)
11198 (home-page "https://github.com/emacsorphanage/quickrun")
11199 (synopsis "Execute editing buffer and show its output quickly")
11200 (description
11201 "This package evaluates the content of a buffer, or region, and displays
11202 the result. Quickrun executes not only script languages (Perl, Ruby, Python
11203 etc), but also compiling languages (C, C++, Go, Java etc) and markup
11204 languages.")
11205 (license license:gpl3+)))
11206
11207 (define-public emacs-pkg-info
11208 (package
11209 (name "emacs-pkg-info")
11210 (version "0.6")
11211 (source
11212 (origin
11213 (method git-fetch)
11214 (uri (git-reference
11215 (url "https://github.com/lunaryorn/pkg-info.el")
11216 (commit version)))
11217 (file-name (git-file-name name version))
11218 (sha256
11219 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
11220 (build-system emacs-build-system)
11221 (propagated-inputs (list emacs-epl))
11222 (home-page "https://github.com/lunaryorn/pkg-info.el")
11223 (synopsis "Information about Emacs packages")
11224 (description
11225 "This library extracts information from the installed Emacs packages.")
11226 (license license:gpl3+)))
11227
11228 (define-public emacs-spinner
11229 (package
11230 (name "emacs-spinner")
11231 (version "1.7.4")
11232 (source (origin
11233 (method url-fetch)
11234 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
11235 version ".tar"))
11236 (sha256
11237 (base32 "140kss25ijbwf8hzflbjz67ry76w2cyrh02axk95n6qcxv7jr7pv"))))
11238 (build-system emacs-build-system)
11239 (home-page "https://github.com/Malabarba/spinner.el")
11240 (synopsis "Emacs mode-line spinner for operations in progress")
11241 (description
11242 "This Emacs package adds spinners and progress-bars to the mode-line for
11243 ongoing operations.")
11244 (license license:gpl3+)))
11245
11246 (define-public emacs-sparql-mode
11247 (package
11248 (name "emacs-sparql-mode")
11249 (version "4.0.2")
11250 (source
11251 (origin
11252 (method git-fetch)
11253 (uri (git-reference
11254 (url "https://github.com/ljos/sparql-mode")
11255 (commit (string-append "v" version))))
11256 (file-name (git-file-name name version))
11257 (sha256
11258 (base32 "0hqp8r24wvzrkl630wbm0lynrcrnawv2yn2a3xgwqwwhwgva35rn"))))
11259 (build-system emacs-build-system)
11260 (propagated-inputs
11261 (list emacs-company))
11262 (home-page "https://github.com/ljos/sparql-mode")
11263 (synopsis "SPARQL mode for Emacs")
11264 (description
11265 "This package is a major mode for Emacs that provides syntax highlighting
11266 for SPARQL. It can also execute queries against a SPARQL HTTP endpoint, such
11267 as Fuseki or DBPedia.")
11268 (license license:gpl3+)))
11269
11270 (define-public emacs-better-defaults
11271 (package
11272 (name "emacs-better-defaults")
11273 (version "0.1.3")
11274 (source
11275 (origin
11276 (method git-fetch)
11277 (uri (git-reference
11278 (url "https://git.sr.ht/~technomancy/better-defaults")
11279 (commit version)))
11280 (file-name (git-file-name name version))
11281 (sha256
11282 (base32
11283 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
11284 (build-system emacs-build-system)
11285 (home-page "https://git.sr.ht/~technomancy/better-defaults")
11286 (synopsis "Better defaults for Emacs")
11287 (description
11288 "Better defaults attempts to address the most obvious deficiencies of the
11289 Emacs default configuration in uncontroversial ways that nearly everyone can
11290 agree upon.")
11291 (license license:gpl3+)))
11292
11293 (define-public emacs-undohist-el
11294 (package
11295 (name "emacs-undohist-el")
11296 (version "0.2.1")
11297 (source
11298 (origin
11299 (method git-fetch)
11300 (uri (git-reference
11301 (url "https://github.com/m2ym/undohist-el")
11302 (commit version)))
11303 (file-name (git-file-name name version))
11304 (sha256
11305 (base32 "0hmx2b20nrxg2lb8vplgrzdh8chgxwlbmjvbq5scddggd302sd56"))))
11306 (build-system emacs-build-system)
11307 (home-page "https://github.com/m2ym/undohist-el")
11308 (synopsis "Save undo history between sessions")
11309 (description "This package allows persistent use of undo history for
11310 individual file buffers.")
11311 (license license:gpl3+)))
11312
11313 (define-public emacs-eprime
11314 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
11315 (package
11316 (name "emacs-eprime")
11317 (version (string-append "20140513-" (string-take commit 7)))
11318 (source (origin
11319 (method url-fetch)
11320 (uri (string-append "https://raw.githubusercontent.com"
11321 "/AndrewHynes/eprime-mode/"
11322 commit "/eprime-mode.el"))
11323 (file-name (string-append "eprime-" version ".el"))
11324 (sha256
11325 (base32
11326 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
11327 (build-system emacs-build-system)
11328 (home-page "https://github.com/AndrewHynes/eprime-mode")
11329 (synopsis "E-prime checking mode for Emacs")
11330 (description "This package provides an E-prime checking mode for Emacs
11331 that highlights non-conforming text. The subset of the English language called
11332 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
11333 (license license:gpl3+))))
11334
11335 (define-public emacs-julia-mode
11336 (package
11337 (name "emacs-julia-mode")
11338 (version "0.4")
11339 (source
11340 (origin
11341 (method git-fetch)
11342 (uri (git-reference
11343 (url "https://github.com/JuliaEditorSupport/julia-emacs")
11344 (commit version)))
11345 (file-name (git-file-name name version))
11346 (sha256
11347 (base32
11348 "1w131jb9mhvyjxa0p93iwfhzidgbcs6b8i6jg79yisqb9wchik99"))))
11349 (build-system emacs-build-system)
11350 (arguments
11351 `(#:tests? #t
11352 #:test-command '("emacs" "--batch"
11353 "-l" "julia-mode-tests.el"
11354 "-f" "ert-run-tests-batch-and-exit")))
11355 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
11356 (synopsis "Major mode for Julia")
11357 (description "This Emacs package provides a mode for the Julia
11358 programming language.")
11359 (license license:expat)))
11360
11361 (define-public emacs-julia-repl
11362 (package
11363 (name "emacs-julia-repl")
11364 (version "1.3.0")
11365 (source (origin
11366 (method git-fetch)
11367 (uri (git-reference
11368 (url "https://github.com/tpapp/julia-repl")
11369 (commit version)))
11370 (file-name (git-file-name name version))
11371 (sha256
11372 (base32
11373 "11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm"))))
11374 (build-system emacs-build-system)
11375 (home-page "https://github.com/tpapp/julia-repl")
11376 (synopsis "Minor mode for interacting with a Julia REPL")
11377 (description "This package provides a minor mode for interacting with a
11378 Julia REPL running inside Emacs. The julia process is started in an ANSI
11379 terminal (term), which allows text formatting and colors, and interaction with
11380 the help system and the debugger. It is recommended that you use this minor
11381 mode with the package emacs-julia-mode.")
11382 (license license:expat)))
11383
11384 (define-public emacs-julia-snail
11385 (package
11386 (name "emacs-julia-snail")
11387 (version "1.1.5")
11388 (source (origin
11389 (method git-fetch)
11390 (uri (git-reference
11391 (url "https://github.com/gcv/julia-snail")
11392 (commit version)))
11393 (file-name (git-file-name name version))
11394 (sha256
11395 (base32
11396 "04nh37izz04lxkvkxhsig8khbrrgdl4p6pkjsv5bxymnp84zwlw7"))))
11397 (build-system emacs-build-system)
11398 (arguments
11399 (list #:include #~(cons "^JuliaSnail\\.jl" %default-include)))
11400 (inputs
11401 (list emacs-dash emacs-s emacs-spinner emacs-xref))
11402 (propagated-inputs
11403 (list libvterm
11404 emacs-julia-mode ;required by parser
11405 emacs-parsec ;required by parser
11406 emacs-vterm))
11407 (home-page "https://github.com/gcv/julia-snail")
11408 (synopsis "Development environment and REPL interaction package for Julia")
11409 (description "This package provides a development environment and REPL
11410 interaction package for Julia in the spirit of Common Lisp’s SLIME and
11411 Clojure’s CIDER. It enables convenient and dynamic REPL-driven development.")
11412 (license license:gpl3)))
11413
11414 (define-public emacs-smex
11415 (package
11416 (name "emacs-smex")
11417 (version "3.0")
11418 (source (origin
11419 (method url-fetch)
11420 (uri (string-append "https://raw.githubusercontent.com"
11421 "/nonsequitur/smex/" version "/smex.el"))
11422 (file-name (string-append "smex-" version ".el"))
11423 (sha256
11424 (base32
11425 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
11426 (build-system emacs-build-system)
11427 (home-page "https://github.com/nonsequitur/smex/")
11428 (synopsis "M-x interface with Ido-style fuzzy matching")
11429 (description
11430 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
11431 convenient interface to your recently and most frequently used commands. And
11432 to all the other commands, too.")
11433 (license license:gpl3+)))
11434
11435 (define-public emacs-js2-mode
11436 (package
11437 (name "emacs-js2-mode")
11438 (version "20220710")
11439 (source
11440 (origin
11441 (method git-fetch)
11442 (uri (git-reference
11443 (url "https://github.com/mooz/js2-mode")
11444 (commit version)))
11445 (file-name (git-file-name name version))
11446 (sha256
11447 (base32 "0whvhmgpv6yxqiljd1l4a880i0dhp0z0jxqaad7jjvwij07vvla4"))))
11448 (build-system emacs-build-system)
11449 (arguments
11450 `(#:tests? #t
11451 #:test-command '("make" "test")))
11452 (home-page "https://github.com/mooz/js2-mode/")
11453 (synopsis "Improved JavaScript editing mode for Emacs")
11454 (description
11455 "Js2-mode provides a JavaScript major mode for Emacs that is more
11456 advanced than the built-in javascript-mode. Features include accurate syntax
11457 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
11458 errors and strict-mode warnings, smart line-wrapping within comments and
11459 strings, and code folding.")
11460 (license license:gpl3+)))
11461
11462 (define-public emacs-js-comint
11463 (package
11464 (name "emacs-js-comint")
11465 (version "1.2.0")
11466 (source
11467 (origin
11468 (method url-fetch)
11469 (uri (string-append "https://stable.melpa.org/packages/"
11470 "js-comint-" version ".el"))
11471 (sha256
11472 (base32 "1qin0hclm3ly62nl5ddiim64bcd2k74b1yqsqqc61cf9k2q8k287"))))
11473 (build-system emacs-build-system)
11474 (home-page "https://github.com/redguardtoo/js-comint")
11475 (synopsis "Interacting with a JavaScript interpreter")
11476 (description
11477 "This program is a comint mode for Emacs which allows you to run a
11478 compatible JavaScript REPL, such as node, SpiderMonkey or Rhino.
11479 It also defines a few functions for sending JavaScript input to this REPL from
11480 an Emacs buffer.")
11481 (license license:gpl3+)))
11482
11483 (define-public emacs-nodejs-repl
11484 (package
11485 (name "emacs-nodejs-repl")
11486 (version "0.2.4")
11487 (source (origin
11488 (method git-fetch)
11489 (uri (git-reference
11490 (url "https://github.com/abicky/nodejs-repl.el")
11491 (commit version)))
11492 (file-name (git-file-name name version))
11493 (sha256
11494 (base32
11495 "0a5mmg3cmdi73giblp07ksl06xzl9nb2m3f96ny4r3rv0ar3v1bx"))))
11496 (build-system emacs-build-system)
11497 (inputs
11498 (list node))
11499 (native-inputs
11500 (list emacs-ert-expectations))
11501 (arguments
11502 `(#:phases
11503 (modify-phases %standard-phases
11504 (add-after 'unpack 'set-shell
11505 ;; Setting the SHELL environment variable is required for the tests
11506 ;; to find sh.
11507 (lambda _
11508 (setenv "SHELL" (which "sh"))
11509 #t))
11510 (add-after 'unpack 'configure
11511 (lambda* (#:key inputs outputs #:allow-other-keys)
11512 (let ((node (assoc-ref inputs "node")))
11513 ;; Specify the absolute file names of the various
11514 ;; programs so that everything works out-of-the-box.
11515 (make-file-writable "nodejs-repl.el")
11516 (emacs-substitute-variables
11517 "nodejs-repl.el"
11518 ("nodejs-repl-command"
11519 (string-append node "/bin/node")))))))
11520 #:tests? #t
11521 #:test-command '("emacs" "-Q" "--batch"
11522 "-L" "."
11523 "-l" "test/test.el"
11524 "-f" "ert-run-tests-batch-and-exit")))
11525 (home-page "https://github.com/abicky/nodejs-repl.el")
11526 (synopsis "Node.js REPL inside Emacs")
11527 (description
11528 "This program is derived from comint-mode and provides the following
11529 features:
11530
11531 @itemize
11532 @item TAB completion same as Node.js REPL
11533 @item file name completion in string
11534 @item incremental history search
11535 @end itemize")
11536 (license license:gpl3+)))
11537
11538 (define-public emacs-typescript-mode
11539 (package
11540 (name "emacs-typescript-mode")
11541 (version "0.4")
11542 (source (origin
11543 (method git-fetch)
11544 (uri (git-reference
11545 (url "https://github.com/ananthakumaran/typescript.el")
11546 (commit (string-append "v" version))))
11547 (file-name (git-file-name name version))
11548 (sha256
11549 (base32
11550 "186bpvqxx87kp3857mq0mzn1ddsvzmpijix810k6bdz8522x7zdw"))))
11551 (build-system emacs-build-system)
11552 (home-page "https://github.com/ananthakumaran/typescript.el")
11553 (synopsis "Emacs major mode for editing Typescript code")
11554 (description
11555 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
11556 This is much more robust and works with @code{cc-mode}'s comment
11557 filling (mostly). The modifications to the original @code{javascript.el} mode
11558 mainly consisted in replacing \"javascript\" with \"typescript\"
11559
11560 The main features of this Typescript mode are syntactic highlighting (enabled
11561 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
11562 indentation and filling of comments and C preprocessor fontification.")
11563 (license license:gpl3+)))
11564
11565 (define-public emacs-tide
11566 (package
11567 (name "emacs-tide")
11568 (version "4.5.4")
11569 (source (origin
11570 (method git-fetch)
11571 (uri (git-reference
11572 (url "https://github.com/ananthakumaran/tide")
11573 (commit (string-append "v" version))))
11574 (file-name (git-file-name name version))
11575 (sha256
11576 (base32
11577 "0zrapfxdarakp3kwp73c2ymjx51fsnfk6azi2y1wb2kgsdxl2yim"))))
11578 (build-system emacs-build-system)
11579 (propagated-inputs
11580 (list emacs-dash emacs-flycheck emacs-s emacs-typescript-mode))
11581 (home-page "https://github.com/ananthakumaran/tide")
11582 (synopsis "Typescript IDE for Emacs")
11583 (description
11584 "Tide is an Interactive Development Environment (IDE) for Emacs which
11585 provides the following features:
11586
11587 @itemize
11588 @item ElDoc
11589 @item Auto complete
11590 @item Flycheck
11591 @item Jump to definition, Jump to type definition
11592 @item Find occurrences
11593 @item Rename symbol
11594 @item Imenu
11595 @item Compile On Save
11596 @item Highlight Identifiers
11597 @item Code Fixes
11598 @item Code Refactor
11599 @item Organize Imports
11600 @end itemize")
11601 (license license:gpl3+)))
11602
11603 (define-public emacs-markdown-mode
11604 (package
11605 (name "emacs-markdown-mode")
11606 (version "2.5")
11607 (source
11608 (origin
11609 (method git-fetch)
11610 (uri (git-reference
11611 (url "https://github.com/jrblevin/markdown-mode")
11612 (commit (string-append "v" version))))
11613 (file-name (git-file-name name version))
11614 (sha256
11615 (base32 "02vw1zsbwa2hc3sxvbpvbldi5cf1xgd5b9l6fwg24d24j6b2af0j"))))
11616 (build-system emacs-build-system)
11617 (home-page "https://jblevins.org/projects/markdown-mode/")
11618 (synopsis "Emacs Major mode for Markdown files")
11619 (description
11620 "Markdown-mode is a major mode for editing Markdown-formatted text files
11621 in Emacs.")
11622 (license license:gpl3+)))
11623
11624 (define-public emacs-evil-markdown
11625 (let ((commit "685d7fbb81bc02fa32779d2a127b99a0c8c7436b")
11626 (revision "2"))
11627 (package
11628 (name "emacs-evil-markdown")
11629 (version (git-version "0.0.2" revision commit))
11630 (source
11631 (origin
11632 (method git-fetch)
11633 (uri (git-reference
11634 (url "https://github.com/Somelauw/evil-markdown")
11635 (commit commit)))
11636 (file-name (git-file-name name version))
11637 (sha256
11638 (base32 "1z1sjn6dcqv8mmkh6nfcwhnql2z6xr9yx3hs77bfxj79pf3c466p"))))
11639 (build-system emacs-build-system)
11640 (propagated-inputs
11641 (list emacs-evil emacs-markdown-mode))
11642 (home-page "https://github.com/Somelauw/evil-markdown/")
11643 (synopsis "Evil keybindings for @code{markdown-mode}")
11644 (description
11645 "This package provides custom text objects and bindings for
11646 @code{markdown-mode}.")
11647 (license license:gpl3+))))
11648
11649 (define-public emacs-edit-indirect
11650 (package
11651 (name "emacs-edit-indirect")
11652 (version "0.1.10")
11653 (source
11654 (origin
11655 (method git-fetch)
11656 (uri (git-reference
11657 (url "https://github.com/Fanael/edit-indirect")
11658 (commit version)))
11659 (file-name (git-file-name name version))
11660 (sha256
11661 (base32 "13v0fvzh3nv3bm4c3ld7pknw2g76cjkx81hsrmbrd1irlv4s4b00"))))
11662 (build-system emacs-build-system)
11663 (home-page "https://github.com/Fanael/edit-indirect")
11664 (synopsis "Edit regions in separate buffers")
11665 (description "This package allows you to edit regions in separate buffers,
11666 like @code{org-edit-src-code} but for arbitrary regions.")
11667 (license license:bsd-2)))
11668
11669 (define-public emacs-projectile
11670 (package
11671 (name "emacs-projectile")
11672 (version "2.6.0")
11673 (source (origin
11674 (method url-fetch)
11675 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
11676 "/projectile/v" version "/projectile.el"))
11677 (file-name (string-append "projectile-" version ".el"))
11678 (sha256
11679 (base32
11680 "12crymgri4sg7fvnh692f96cm0krmmcnz6x3ypxgq8da84rl34p4"))))
11681 (build-system emacs-build-system)
11682 (propagated-inputs
11683 (list emacs-dash emacs-pkg-info))
11684 (home-page "https://github.com/bbatsov/projectile")
11685 (synopsis "Manage and navigate projects in Emacs easily")
11686 (description
11687 "This library provides easy project management and navigation. The
11688 concept of a project is pretty basic - just a folder containing special file.
11689 Currently git, mercurial and bazaar repos are considered projects by default.
11690 If you want to mark a folder manually as a project just create an empty
11691 .projectile file in it.")
11692 (license license:gpl3+)))
11693
11694 (define-public emacs-skeletor
11695 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
11696 (revision "1"))
11697 (package
11698 (name "emacs-skeletor")
11699 (version (git-version "1.6.1" revision commit))
11700 (source (origin
11701 (method git-fetch)
11702 (uri (git-reference
11703 (url "https://github.com/chrisbarrett/skeletor.el")
11704 (commit commit)))
11705 (file-name (git-file-name name version))
11706 (sha256
11707 (base32
11708 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
11709 (build-system emacs-build-system)
11710 (propagated-inputs
11711 (list emacs-s emacs-f emacs-dash emacs-let-alist))
11712 (native-inputs
11713 (list emacs-ert-runner))
11714 (arguments
11715 `(#:include (cons "^project-skeletons\\/" %default-include)
11716 ;; XXX: one failing test involving initializing a git repo
11717 #:phases
11718 (modify-phases %standard-phases
11719 (add-before 'check 'make-test-writable
11720 (lambda _
11721 (make-file-writable "test/skeletor-test.el")
11722 #t))
11723 (add-before 'check 'remove-git-test
11724 (lambda _
11725 (emacs-batch-edit-file "test/skeletor-test.el"
11726 `(progn
11727 (progn
11728 (goto-char (point-min))
11729 (re-search-forward
11730 "ert-deftest initialises-git-repo")
11731 (beginning-of-line)
11732 (kill-sexp))
11733 (basic-save-buffer)))
11734 #t)))
11735 #:tests? #t
11736 #:test-command '("ert-runner")))
11737 (home-page "https://github.com/chrisbarrett/skeletor.el")
11738 (synopsis "Project skeletons for Emacs")
11739 (description "This package provides project templates and automates the
11740 mundane parts of setting up a new project, such as version control, licenses,
11741 and tooling.")
11742 (license license:gpl3+))))
11743
11744 (define-public emacs-elfeed
11745 (package
11746 (name "emacs-elfeed")
11747 (version "3.4.1")
11748 (source
11749 (origin
11750 (method git-fetch)
11751 (uri (git-reference
11752 (url "https://github.com/skeeto/elfeed")
11753 (commit version)))
11754 (file-name (git-file-name name version))
11755 (sha256
11756 (base32 "1ghdvfn4f9y69r59i1ga9b3ib1r8sbqg6q1v5rz3f9paagfavrd1"))))
11757 (build-system emacs-build-system)
11758 (arguments
11759 `(#:tests? #t
11760 #:test-command '("make" "test")))
11761 (home-page "https://github.com/skeeto/elfeed")
11762 (synopsis "Atom/RSS feed reader for Emacs")
11763 (description
11764 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
11765 and RSS, with a user interface inspired by notmuch.")
11766 (license license:gpl3+)))
11767
11768 (define-public emacs-elfeed-org
11769 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
11770 (package
11771 (name "emacs-elfeed-org")
11772 (version (git-version "0.1" "1" commit))
11773 (source
11774 (origin
11775 (method git-fetch)
11776 (uri (git-reference
11777 (url "https://github.com/remyhonig/elfeed-org")
11778 (commit commit)))
11779 (file-name (git-file-name name version))
11780 (sha256
11781 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
11782 (build-system emacs-build-system)
11783 (arguments
11784 `(#:tests? #t
11785 #:test-command '("ert-runner" "-L" "org-mode/lisp")
11786 #:phases
11787 (modify-phases %standard-phases
11788 (add-before 'check 'chmod
11789 (lambda _
11790 (chmod "test/fixture-mark-feed-ignore.org" #o644))))))
11791 (propagated-inputs
11792 (list emacs-elfeed emacs-org emacs-dash emacs-s))
11793 (native-inputs
11794 (list emacs-ert-runner emacs-xtest))
11795 (home-page "https://github.com/remyhonig/elfeed-org")
11796 (synopsis "Configure Elfeed with an Org-mode file")
11797 (description
11798 "@code{elfeed-org} lets you manage your Elfeed subscriptions
11799 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
11800 the regular flat list, where there is no hierarchy and tag names are
11801 duplicated a lot. Org-mode makes the book keeping of tags and feeds
11802 much easier.")
11803 (license license:gpl3+))))
11804
11805 (define-public emacs-elfeed-protocol
11806 (package
11807 (name "emacs-elfeed-protocol")
11808 (version "0.8.1")
11809 (source
11810 (origin
11811 (method git-fetch)
11812 (uri (git-reference
11813 (url "https://github.com/fasheng/elfeed-protocol")
11814 (commit version)))
11815 (file-name (git-file-name name version))
11816 (sha256
11817 (base32 "0k9rkghp9rg7aidmx7q0n4wpb9z5cwr7j8z167yzaqgf9s3y4jj2"))))
11818 (build-system emacs-build-system)
11819 (propagated-inputs
11820 (list emacs-elfeed))
11821 (home-page "https://github.com/fasheng/elfeed-protocol")
11822 (synopsis "Fever/NewsBlur/ownCloud/tt-RSS protocols for Elfeed")
11823 (description
11824 "Elfeed-protocol provides extra protocols to make self-hosting RSS
11825 readers like Fever, NewsBlur, ownCloud News and Tiny TIny RSS work
11826 with Elfeed.")
11827 (license license:gpl3+)))
11828
11829 (define-public emacs-elfeed-score
11830 (package
11831 (name "emacs-elfeed-score")
11832 (version "1.2.4")
11833 (source
11834 (origin
11835 (method git-fetch)
11836 (uri (git-reference
11837 (url "https://github.com/sp1ff/elfeed-score")
11838 (commit version)))
11839 (file-name (git-file-name name version))
11840 (sha256
11841 (base32 "0d1yh4wv81n5mnrzdi88z0vbs94m7j3q20r5fc1wk35r4hrl3xqw"))))
11842 (build-system emacs-build-system)
11843 (propagated-inputs
11844 (list emacs-elfeed))
11845 (home-page "https://github.com/sp1ff/elfeed-score")
11846 (synopsis "Gnus-style scoring for Elfeed")
11847 (description
11848 "Elfeed-score is an add-on for Elfeed, an RSS reader for Emacs. It
11849 brings Gnus-style scoring to your RSS feeds. Elfeed, by default, displays
11850 feed entries by date. This package allows you to setup rules for assigning
11851 numeric scores to entries, and sorting entries with higher scores ahead of
11852 those with lower, regardless of date. The idea is to prioritize content
11853 important to you.")
11854 (license license:gpl3+)))
11855
11856 (define-public emacs-el-x
11857 (package
11858 (name "emacs-el-x")
11859 (version "0.3.1")
11860 (source (origin
11861 (method git-fetch)
11862 (uri (git-reference
11863 (url "https://github.com/sigma/el-x")
11864 (commit (string-append "v" version))))
11865 (file-name (git-file-name name version))
11866 (sha256
11867 (base32
11868 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
11869 (build-system emacs-build-system)
11870 (arguments
11871 `(#:phases
11872 (modify-phases %standard-phases
11873 ;; Move the source files to the top level, which is included in
11874 ;; the EMACSLOADPATH.
11875 (add-after 'unpack 'move-source-files
11876 (lambda _
11877 (let ((el-files (find-files "./lisp" ".*\\.el$")))
11878 (for-each (lambda (f)
11879 (rename-file f (basename f)))
11880 el-files))
11881 #t)))))
11882 (home-page "https://github.com/sigma/el-x")
11883 (synopsis "Emacs Lisp extensions")
11884 (description "command@{emacs-el-x} defines the @code{dflet} macro to
11885 provide the historic behavior of @code{flet}, as well as
11886 @code{declare-function} stub for older Emacs.")
11887 (license license:gpl2+)))
11888
11889 (define-public emacs-epithet
11890 ;; No tags.
11891 (let ((commit "cc42338376c2c58da561214c554be8e8856f6a2b"))
11892 (package
11893 (name "emacs-epithet")
11894 (version "0.1")
11895 (source (origin
11896 (method git-fetch)
11897 (uri (git-reference
11898 (url "https://github.com/oantolin/epithet")
11899 (commit commit)))
11900 (file-name (git-file-name name version))
11901 (sha256
11902 (base32
11903 "06irgshgcgmm09nswrny8mam6l660ai71rgn0l3rmyp9li8n97j0"))))
11904 (build-system emacs-build-system)
11905 (home-page "https://github.com/oantolin/epithet")
11906 (synopsis "Rename Emacs buffers with descriptive names")
11907 (description
11908 "This package provides a function---@code{epithet-rename-buffer}---to rename
11909 the current buffer with a descriptive name. The name suggestion is governed by
11910 the @code{epithet-suggesters} hook variable: each hook should return either a
11911 name suggestion or @code{nil}, they are called in turn and the first non-nil
11912 suggestion is taken.")
11913 (license license:gpl3+))))
11914
11915 (define-public emacs-eterm-256color
11916 (package
11917 (name "emacs-eterm-256color")
11918 (version "0.3.13")
11919 (source (origin
11920 (method git-fetch)
11921 (uri (git-reference
11922 (url "https://github.com/dieggsy/eterm-256color")
11923 (commit version)))
11924 (file-name (git-file-name name version))
11925 (sha256
11926 (base32
11927 "0ysxblc90kjcz84siprnyxwh94scflivqbxylzkvjm7hbx93rsh1"))))
11928 (build-system emacs-build-system)
11929 (propagated-inputs
11930 (list emacs-f emacs-xterm-color))
11931 (home-page "https://github.com/dieggsy/eterm-256color")
11932 (synopsis
11933 "Customizable 256 colors for Emacs @code{term} and @code{ansi-term}")
11934 (description "This package uses @code{emacs-xterm-color} to add
11935 customizable 256 color support to @code{term} and @code{ansi-term}.")
11936 (license license:gpl3+)))
11937
11938 (define-public emacs-mocker
11939 (package
11940 (name "emacs-mocker")
11941 (version "0.5.0")
11942 (source
11943 (origin
11944 (method git-fetch)
11945 (uri (git-reference
11946 (url "https://github.com/sigma/mocker.el")
11947 (commit (string-append "v" version))))
11948 (file-name (git-file-name name version))
11949 (sha256
11950 (base32 "1dc514cqbfmg33sb3j90s5jmw6jnm3wzvs0zhw3maz13bp7w6z48"))))
11951 (build-system emacs-build-system)
11952 (arguments
11953 `(#:tests? #t
11954 #:test-command '("ert-runner")))
11955 (native-inputs
11956 (list emacs-ert-runner))
11957 (propagated-inputs
11958 (list emacs-el-x))
11959 (home-page "https://github.com/sigma/mocker.el")
11960 (synopsis "Mocking framework for Emacs Lisp")
11961 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
11962 It uses regular Lisp rather than a domain specific language (DSL), which
11963 maximizes flexibility (at the expense of conciseness).")
11964 (license license:gpl2+)))
11965
11966 (define-public emacs-find-file-in-project
11967 (package
11968 (name "emacs-find-file-in-project")
11969 (version "6.2.0")
11970 (source
11971 (origin
11972 (method git-fetch)
11973 (uri (git-reference
11974 (url "https://github.com/technomancy/find-file-in-project")
11975 (commit version)))
11976 (file-name (git-file-name name version))
11977 (sha256
11978 (base32 "0sq8fyq19jw1hm0m6hiqnvzzvx0c3xigfx7x6i40ib5hnfjlqs0a"))))
11979 (build-system emacs-build-system)
11980 (arguments
11981 `(#:tests? #t
11982 #:test-command '("ert-runner" "tests")))
11983 (native-inputs
11984 (list emacs-ert-runner))
11985 (home-page "https://github.com/technomancy/find-file-in-project")
11986 (synopsis "File/directory finder for Emacs")
11987 (description "@code{find-file-in-project} finds files or
11988 directories quickly in the current project. The project root is detected
11989 automatically when Git, Subversion or Mercurial are used. It also provides
11990 functions to assist in reviewing changes on files.")
11991 (license license:gpl3+)))
11992
11993 (define-public emacs-pyvenv
11994 (package
11995 (name "emacs-pyvenv")
11996 (version "1.21")
11997 (source
11998 (origin
11999 (method git-fetch)
12000 (uri (git-reference
12001 (url "https://github.com/jorgenschaefer/pyvenv")
12002 (commit (string-append "v" version))))
12003 (file-name (git-file-name name version))
12004 (sha256
12005 (base32 "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"))))
12006 (build-system emacs-build-system)
12007 (arguments
12008 `(#:phases
12009 (modify-phases %standard-phases
12010 ;; This phase incorrectly attempts to substitute "activate" and fails
12011 ;; doing so.
12012 (delete 'patch-el-files))
12013 #:tests? #t
12014 #:test-command '("ert-runner")))
12015 (native-inputs
12016 (list emacs-ert-runner emacs-mocker))
12017 (home-page "https://github.com/jorgenschaefer/pyvenv")
12018 (synopsis "Python virtual environment interface for Emacs")
12019 (description "pyvenv.el is a minor mode to support using Python virtual
12020 environments (virtualenv) inside Emacs.")
12021 (license license:gpl3+)))
12022
12023 (define-public emacs-highlight-indent-guides
12024 (let ((version "0.8.5") ; from package metadata
12025 (revision "0")
12026 (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c"))
12027 (package
12028 (name "emacs-highlight-indent-guides")
12029 (version (git-version version revision commit))
12030 (source
12031 (origin
12032 (method git-fetch)
12033 (uri (git-reference
12034 (url "https://github.com/DarthFennec/highlight-indent-guides")
12035 (commit commit)))
12036 (file-name (git-file-name name version))
12037 (sha256
12038 (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2"))))
12039 (build-system emacs-build-system)
12040 (home-page
12041 "https://github.com/DarthFennec/highlight-indent-guides")
12042 (synopsis "Minor mode to highlight indentation")
12043 (description
12044 "This package provides a minor mode to highlight indentation levels via
12045 font-lock. Indent widths are dynamically discovered, which means this
12046 correctly highlights in any mode, regardless of indent width, even in
12047 languages with non-uniform indentation such as Haskell. This mode works
12048 properly around hard tabs and mixed indentation and behaves well in large
12049 buffers.")
12050 (license license:expat))))
12051
12052 (define-public emacs-highlight-indentation
12053 ;; Last release version is from 2015.
12054 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
12055 (revision "1"))
12056 (package
12057 (name "emacs-highlight-indentation")
12058 (version (git-version "0.7.0" revision commit))
12059 (source
12060 (origin
12061 (method git-fetch)
12062 (uri (git-reference
12063 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs")
12064 (commit commit)))
12065 (file-name (git-file-name name version))
12066 (sha256
12067 (base32
12068 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
12069 (build-system emacs-build-system)
12070 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
12071 (synopsis "Highlighting indentation for Emacs")
12072 (description "This package provides two minor modes to highlight
12073 indentation guides in Emacs:
12074
12075 @enumerate
12076 @item @code{highlight-indentation-mode}, which displays guidelines
12077 indentation (space indentation only).
12078 @item @code{highlight-indentation-current-column-mode}, which displays
12079 guidelines for the current-point indentation (space indentation only).
12080 @end enumerate")
12081 (license license:gpl2+))))
12082
12083 (define-public emacs-elpy
12084 ;; Using the latest commit fixes outstanding bugs such as the following:
12085 ;; https://github.com/jorgenschaefer/elpy/issues/1824
12086 ;; https://github.com/jorgenschaefer/elpy/pull/1951
12087 ;; https://github.com/jorgenschaefer/elpy/issues/1940.
12088 (let ((commit "1746e7009000b7635c0ea6f1559018143aa61642")
12089 (revision "1"))
12090 (package
12091 (name "emacs-elpy")
12092 (version (git-version "1.35.0" revision commit))
12093 (source (origin
12094 (method git-fetch)
12095 (uri (git-reference
12096 (url "https://github.com/jorgenschaefer/elpy")
12097 (commit commit)))
12098 (file-name (git-file-name name version))
12099 (sha256
12100 (base32
12101 "120xzzaa8jxls3lri6d53zq6gafnkc6d9mlg09an334kkmh8k2fc"))))
12102 (build-system emacs-build-system)
12103 (arguments
12104 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
12105 #:phases
12106 (modify-phases %standard-phases
12107 (add-after 'unpack 'disable-broken-tests
12108 ;; Some tests are known to have problems with Python 3.9; disable
12109 ;; them (see:
12110 ;; https://github.com/jorgenschaefer/elpy/issues/1856).
12111 ;; Aggressively remove the modules where failing tests were
12112 ;; discovered, as they are similar and fail in a nondeterministic
12113 ;; way.
12114 (lambda _
12115 (with-directory-excursion "test"
12116 (for-each delete-file
12117 (append (find-files "." "elpy-refactor")
12118 (find-files "." "elpy-multiedit")
12119 (find-files "." "elpy-pdb")
12120 (find-files "." "elpy-promise")))
12121 ;; These test fail since upgrading Emacs from version 27 to
12122 ;; 28.1 (see:
12123 ;; https://github.com/jorgenschaefer/elpy/issues/1982).
12124 (delete-file "elpy-project-find-git-root-test.el")
12125 (substitute* "elpy-company-backend-test.el"
12126 (("elpy-company-backend-should-add-shell-candidates.*" all)
12127 (string-append all " :expected-result :failed\n")))
12128 (substitute* "elpy-eldoc-documentation-test.el"
12129 (("elpy-eldoc-documentation-should-show-object-onelinedoc.*" all)
12130 (string-append all " :expected-result :failed\n")))
12131 (substitute* "elpy-shell-send-file-test.el"
12132 (("elpy-shell-send-file-should-accept-large-strings.*" all)
12133 (string-append all " :expected-result :failed\n")))
12134 (substitute* "elpy-shell-echo-inputs-and-outputs-test.el"
12135 (("elpy-shell-should-echo-outputs.*" all)
12136 (string-append all " :expected-result :failed\n"))))))
12137 ;; The default environment of the RPC uses Virtualenv to install
12138 ;; Python dependencies from PyPI. We don't want/need this in Guix.
12139 (add-before 'check 'do-not-use-virtualenv
12140 (lambda _
12141 (setenv "ELPY_TEST_DONT_USE_VIRTUALENV" "1")
12142 (substitute* "elpy-rpc.el"
12143 (("defcustom elpy-rpc-virtualenv-path 'default")
12144 "defcustom elpy-rpc-virtualenv-path 'system"))))
12145 (add-before 'check 'build-doc
12146 (lambda _
12147 (with-directory-excursion "docs"
12148 (invoke "make" "info" "man"))
12149 ;; Move .info file at the root so that it can installed by the
12150 ;; 'move-doc phase.
12151 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")))
12152 (add-after 'build-doc 'install-manpage
12153 (lambda* (#:key outputs #:allow-other-keys)
12154 (let* ((out (assoc-ref outputs "out"))
12155 (man1 (string-append out "/share/man/man1")))
12156 (mkdir-p man1)
12157 (copy-file "docs/_build/man/elpy.1"
12158 (string-append man1 "/elpy.1"))))))
12159 #:tests? #t
12160 #:test-command '("ert-runner")))
12161 (propagated-inputs
12162 (list emacs-company
12163 emacs-find-file-in-project
12164 emacs-highlight-indentation
12165 emacs-yasnippet
12166 emacs-pyvenv
12167 emacs-s
12168 ;; The following are recommended Python dependencies that make
12169 ;; Elpy much more useful. Installing these avoids Elpy prompting
12170 ;; to install them from PyPI using pip.
12171 python-autopep8
12172 python-black
12173 python-flake8
12174 python-jedi
12175 python-yapf))
12176 (native-inputs
12177 (list emacs-ert-runner
12178 emacs-f
12179 python-wrapper
12180 ;; For documentation.
12181 python-sphinx
12182 texinfo))
12183 (home-page "https://github.com/jorgenschaefer/elpy")
12184 (synopsis "Python development environment for Emacs")
12185 (description "Elpy brings powerful Python editing to Emacs. It combines
12186 and configures a number of other packages written in Emacs Lisp as well as
12187 Python, together offering features such as navigation, documentation,
12188 completion, interactive development and more.")
12189 (license license:gpl3+))))
12190
12191 (define-public emacs-rainbow-delimiters
12192 (package
12193 (name "emacs-rainbow-delimiters")
12194 (version "2.1.5")
12195 (source (origin
12196 (method git-fetch)
12197 (uri (git-reference
12198 (url "https://github.com/Fanael/rainbow-delimiters")
12199 (commit version)))
12200 (file-name (git-file-name name version))
12201 (sha256
12202 (base32
12203 "179mzsd8nvlr0ym9zf9fgdngsgxj3kdgbjblynliirsyk05ssrwc"))))
12204 (build-system emacs-build-system)
12205 (home-page "https://github.com/Fanael/rainbow-delimiters")
12206 (arguments
12207 `(#:tests? #t
12208 #:test-command '("emacs" "-Q" "-batch"
12209 "-l" "rainbow-delimiters-test.el"
12210 "-f" "ert-run-tests-batch-and-exit")))
12211 (synopsis "Highlight brackets according to their depth")
12212 (description
12213 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
12214 highlights parentheses, brackets, and braces according to their depth. Each
12215 successive level is highlighted in a different color, making it easy to spot
12216 matching delimiters, orient yourself in the code, and tell which statements
12217 are at a given level.")
12218 (license license:gpl3+)))
12219
12220 (define-public emacs-rainbow-identifiers
12221 (package
12222 (name "emacs-rainbow-identifiers")
12223 (version "0.2.2")
12224 (source (origin
12225 (method url-fetch)
12226 (uri (string-append "https://raw.githubusercontent.com/Fanael"
12227 "/rainbow-identifiers/" version
12228 "/rainbow-identifiers.el"))
12229 (file-name (string-append "rainbow-identifiers-" version ".el"))
12230 (sha256
12231 (base32
12232 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
12233 (build-system emacs-build-system)
12234 (home-page "https://github.com/Fanael/rainbow-identifiers")
12235 (synopsis "Highlight identifiers in source code")
12236 (description
12237 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
12238 identifiers based on their names. Each identifier gets a color based on a hash
12239 of its name.")
12240 (license license:bsd-2)))
12241
12242 (define-public emacs-rainbow-mode
12243 (package
12244 (name "emacs-rainbow-mode")
12245 (version "1.0.6")
12246 (source
12247 (origin
12248 (method url-fetch)
12249 (uri (string-append "https://elpa.gnu.org/packages/"
12250 "rainbow-mode-" version ".tar"))
12251 (sha256
12252 (base32 "04v73cm1cap19vwc8lqsw0rmfr9v7r3swc4wgxnk9dnzxi9j2527"))))
12253 (build-system emacs-build-system)
12254 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
12255 (synopsis "Colorize color names in buffers")
12256 (description
12257 "This minor mode sets background color to strings that match color
12258 names, e.g., @samp{#0000ff} is displayed in white with a blue background.")
12259 (license license:gpl3+)))
12260
12261 (define-public emacs-ryo-modal
12262 ;; Package has no release. Version is extracted from "Version:" keyword in
12263 ;; main file.
12264 (let ((commit "a10f564474cc8fa28a74b04e3b15375315223c44")
12265 (revision "0"))
12266 (package
12267 (name "emacs-ryo-modal")
12268 (version (git-version "0.45" revision commit))
12269 (source
12270 (origin
12271 (method git-fetch)
12272 (uri (git-reference
12273 (url "https://github.com/Kungsgeten/ryo-modal")
12274 (commit commit)))
12275 (file-name (git-file-name name version))
12276 (sha256
12277 (base32 "0ypm1rnyry6hb4znb8sgwfi0la6q46ihm8k99kisk0mkgz7im93d"))))
12278 (build-system emacs-build-system)
12279 (home-page "https://github.com/Kungsgeten/ryo-modal")
12280 (synopsis "Emacs minor mode for defining modal editing environments")
12281 (description "RYO modal provides a convenient way of defining modal
12282 keybindings in Emacs, and does not come with any predefined bindings.")
12283 (license license:expat))))
12284
12285 (define-public emacs-valign
12286 (package
12287 (name "emacs-valign")
12288 (version "3.1.1")
12289 (source
12290 (origin
12291 (method git-fetch)
12292 (uri (git-reference
12293 (url "https://github.com/casouri/valign")
12294 (commit (string-append "v" version))))
12295 (file-name (git-file-name name version))
12296 (sha256
12297 (base32 "11ks6z532i7vxi6f9g32zhimvikhsqywa2bd5fnnj2ahfx3msa95"))))
12298 (build-system emacs-build-system)
12299 (home-page "https://github.com/casouri/valign")
12300 (synopsis "Pixel-perfect visual alignment for Org and Markdown tables")
12301 (description
12302 "Valign provides visual alignment for Org mode, Markdown and Table.el
12303 tables on GUI Emacs. It can properly align tables containing variable-pitch
12304 font, CJK characters and images. Meanwhile, the text-based alignment
12305 generated by Org mode (or Markdown mode) is left untouched.")
12306 (license license:gpl3+)))
12307
12308 (define-public emacs-visual-fill-column
12309 (package
12310 (name "emacs-visual-fill-column")
12311 (version "2.5")
12312 (source
12313 (origin
12314 (method git-fetch)
12315 (uri (git-reference
12316 (url "https://codeberg.org/joostkremers/visual-fill-column")
12317 (commit version)))
12318 (file-name (git-file-name name version))
12319 (sha256
12320 (base32 "168wiywaffhhn7j4nfbnq4lfxpxl0x17z9ckk3nwkpaz45d9a2q6"))))
12321 (build-system emacs-build-system)
12322 (home-page "https://codeberg.org/joostkremers/visual-fill-column")
12323 (synopsis "Fill-column for visual-line-mode")
12324 (description
12325 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
12326 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
12327 wrapping lines at the window edge, which is the standard behaviour of
12328 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
12329 @code{fill-column} is too large for the window, the text is wrapped at the
12330 window edge.")
12331 (license license:gpl3+)))
12332
12333 (define-public emacs-writeroom
12334 (package
12335 (name "emacs-writeroom")
12336 (version "3.11")
12337 (source
12338 (origin
12339 (method git-fetch)
12340 (uri (git-reference
12341 (url "https://github.com/joostkremers/writeroom-mode")
12342 (commit version)))
12343 (file-name (git-file-name name version))
12344 (sha256
12345 (base32
12346 "0y4jcja9kml1lq88r8b9myk39dgaggh7q7f3a43sj828hvzlccb7"))))
12347 (build-system emacs-build-system)
12348 (propagated-inputs
12349 (list emacs-visual-fill-column))
12350 (home-page "https://github.com/joostkremers/writeroom-mode")
12351 (synopsis "Distraction-free writing for Emacs")
12352 (description
12353 "This package defines a minor mode for distraction-free writing. Some of
12354 the default effects include entering fullscreen, deleting other windows of the
12355 current frame, disabling the mode line, and adding margins to the buffer that
12356 restrict the text width to 80 characters.")
12357 (license license:bsd-3)))
12358
12359 (define-public emacs-wucuo
12360 (package
12361 (name "emacs-wucuo")
12362 (version "0.2.9")
12363 (source
12364 (origin
12365 (method git-fetch)
12366 (uri (git-reference
12367 (url "https://github.com/redguardtoo/wucuo")
12368 (commit "89b99166768afb811c48a7db7c93c02d51a32b09")))
12369 (file-name (git-file-name name version))
12370 (sha256
12371 (base32 "03a6jlbv9axrd9yr0xscq3ni7fipm20ppc51kxy0sn241rplv0pg"))))
12372 (build-system emacs-build-system)
12373 (arguments
12374 `(#:tests? #t
12375 #:test-command '("make" "test")
12376 #:phases (modify-phases %standard-phases
12377 ;; Set HOME, otherwise tests fail on loading aspell dict.
12378 (add-before 'check 'set-home
12379 (lambda _ (setenv "HOME" (getcwd)))))))
12380 (native-inputs
12381 ;; For tests.
12382 (list aspell aspell-dict-en))
12383 (home-page "https://github.com/redguardtoo/wucuo")
12384 (synopsis "Fast spell checker for camel case code or plain text")
12385 (description
12386 "Wucuo provides a spell checker on top of either Aspell or Hunspell, and
12387 relies on Flyspell internally. It operates on the current region or buffer,
12388 a file, or a complete directory.")
12389 (license license:gpl3+)))
12390
12391 (define-public emacs-ido-completing-read+
12392 (package
12393 (name "emacs-ido-completing-read+")
12394 (version "4.14")
12395 (source (origin
12396 (method url-fetch)
12397 (uri (string-append "https://raw.githubusercontent.com"
12398 "/DarwinAwardWinner/ido-ubiquitous/v"
12399 version "/ido-completing-read+.el"))
12400 (file-name (string-append "ido-completing-read+-" version ".el"))
12401 (sha256
12402 (base32
12403 "1wn94nkfv6qyyj6clvms7m7ncqf09bgszv67may530y75kylivav"))))
12404 (build-system emacs-build-system)
12405 (arguments
12406 (list #:phases
12407 #~(modify-phases %standard-phases
12408 (add-after 'unpack 'disable-native-comp
12409 (lambda _
12410 ;; Native compilation of this package may crash your system,
12411 ;; see <https://bugs.gnu.org/57878>.
12412 (for-each
12413 (lambda (file)
12414 (make-file-writable file)
12415 (emacs-batch-disable-compilation file #:native? #t))
12416 (find-files "." "\\.el$")))))))
12417 (propagated-inputs
12418 (list emacs-s))
12419 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
12420 (synopsis "Replacement for completing-read using ido")
12421 (description
12422 "The ido-completing-read+ function is a wrapper for ido-completing-read.
12423 Importantly, it detects edge cases that ordinary ido cannot handle and either
12424 adjusts them so ido can handle them, or else simply falls back to the standard
12425 Emacs completion function instead.")
12426 (license license:gpl3+)))
12427
12428 (define-public emacs-ido-ubiquitous
12429 (package
12430 (name "emacs-ido-ubiquitous")
12431 (version "4.13")
12432 (source (origin
12433 (method url-fetch)
12434 (uri (string-append "https://raw.githubusercontent.com"
12435 "/DarwinAwardWinner/ido-ubiquitous/v"
12436 version "/ido-ubiquitous.el"))
12437 (file-name (string-append "ido-ubiquitous-" version ".el"))
12438 (sha256
12439 (base32
12440 "08iwvqknicqlffda7ixwgzw7q9g2g4j4nsxdw6544r85vaysi4cc"))))
12441 (build-system emacs-build-system)
12442 (propagated-inputs
12443 (list emacs-ido-completing-read+))
12444 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
12445 (synopsis "Use ido (nearly) everywhere")
12446 (description
12447 "Ido-ubiquitous enables ido-style completion for almost every function
12448 that uses the standard completion function completing-read.")
12449 (license license:gpl3+)))
12450
12451 (define-public emacs-yaml
12452 (package
12453 (name "emacs-yaml")
12454 (version "0.5.1")
12455 (source
12456 (origin
12457 (method git-fetch)
12458 (uri (git-reference
12459 (url "https://github.com/zkry/yaml.el")
12460 (commit (string-append "v" version))))
12461 (file-name (git-file-name name version))
12462 (sha256
12463 (base32 "0n0cf5y862ajyf2q0pnvbkhg57ggsri33x8y4q99s0a17ksk4qrm"))))
12464 (build-system emacs-build-system)
12465 (home-page "https://github.com/zkry/yaml.el")
12466 (synopsis "YAML parser in Elisp")
12467 (description
12468 "@code{yaml.el} is a YAML parser written in Emacs Lisp without any
12469 external dependencies. It provides an interface similar to the Emacs JSON
12470 parsing utility.")
12471 (license license:gpl3+)))
12472
12473 (define-public emacs-yaml-mode
12474 (package
12475 (name "emacs-yaml-mode")
12476 (version "0.0.15")
12477 (source
12478 (origin
12479 (method git-fetch)
12480 (uri (git-reference
12481 (url "https://github.com/yoshiki/yaml-mode")
12482 (commit version)))
12483 (file-name (git-file-name name version))
12484 (sha256
12485 (base32 "0gsa153yp8lmwrvcc3nzpw5lj037y7q2nm23k5k404r5as4k355l"))))
12486 (build-system emacs-build-system)
12487 (home-page "https://github.com/yoshiki/yaml-mode")
12488 (synopsis "Major mode for editing YAML files")
12489 (description
12490 "Yaml mode is an Emacs major mode for editing files in the YAML data
12491 serialization format. As YAML and Python share the fact that indentation
12492 determines structure, this mode provides indentation and indentation command
12493 behavior very similar to that of Python mode.")
12494 (license license:gpl3+)))
12495
12496 (define-public emacs-gitlab-ci-mode
12497 (package
12498 (name "emacs-gitlab-ci-mode")
12499 (version "20190824.12.2")
12500 (source (origin
12501 (method git-fetch)
12502 (uri (git-reference
12503 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode")
12504 (commit (string-append "v" version))))
12505 (file-name (git-file-name name version))
12506 (sha256
12507 (base32
12508 "16fb4r3vq8xkzl911v7gaky95w1agfxjlpaxpjmidwx48rbcar59"))))
12509 (build-system emacs-build-system)
12510 (propagated-inputs
12511 (list emacs-yaml-mode))
12512 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
12513 (synopsis "Emacs mode for editing GitLab CI files")
12514 (description
12515 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
12516 files. It provides syntax highlighting and completion for keywords and
12517 special variables. An interface to GitLab’s CI file linter is also provided
12518 via @code{gitlab-ci-lint}.")
12519 (license license:gpl3+)))
12520
12521 (define-public emacs-gitlab-snip-helm
12522 (package
12523 (name "emacs-gitlab-snip-helm")
12524 (version "0.0.2")
12525 (source (origin
12526 (method git-fetch)
12527 (uri (git-reference
12528 (url "https://gitlab.com/sasanidas/gitlab-snip-helm.git")
12529 (commit version)))
12530 (file-name (git-file-name name version))
12531 (sha256
12532 (base32
12533 "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"))))
12534 (build-system emacs-build-system)
12535 (propagated-inputs
12536 (list emacs-dash emacs-helm))
12537 (home-page "https://gitlab.com/sasanidas/gitlab-snip-helm/")
12538 (synopsis "GitLab snippet API interaction for Emacs")
12539 (description "This package provides GitLab snippet API interaction for
12540 Emacs.")
12541 (license license:gpl3+)))
12542
12543 (define-public emacs-web-mode
12544 (package
12545 (name "emacs-web-mode")
12546 (version "17.2.1")
12547 (source
12548 (origin
12549 (method git-fetch)
12550 (uri (git-reference
12551 (url "https://github.com/fxbois/web-mode")
12552 (commit (string-append "v" version))))
12553 (file-name (git-file-name name version))
12554 (sha256
12555 (base32 "0sd2ysysn8x4iwz2fhnvh8knr3pdqgkvhkhsl948smmfl0dwj42f"))))
12556 (build-system emacs-build-system)
12557 (synopsis "Major mode for editing web templates")
12558 (description "Web mode is an Emacs major mode for editing web templates
12559 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
12560 client/server side engines). Web mode is compatible with many template
12561 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
12562 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
12563 Dust.js, React/JSX, Angularjs, ejs, etc.")
12564 (home-page "https://web-mode.org/")
12565 (license license:gpl3+)))
12566
12567 (define-public emacs-templatel
12568 (package
12569 (name "emacs-templatel")
12570 (version "0.1.6")
12571 (source
12572 (origin
12573 (method git-fetch)
12574 (uri (git-reference
12575 (url "https://github.com/clarete/templatel")
12576 (commit version)))
12577 (file-name (git-file-name name version))
12578 (sha256
12579 (base32 "03n7amd2mfr4jmc4s1ar5ckm86knr7qarxxlkdhbnw3svy5kbc57"))))
12580 (build-system emacs-build-system)
12581 (home-page "https://clarete.li/templatel")
12582 (synopsis "Jinja inspired template language for Emacs Lisp")
12583 (description
12584 "templatel is the modern templating language. It provides variable
12585 substitution and control flow through a clean and powerful language inspired
12586 by Python's Jinja.")
12587 (license license:gpl3+)))
12588
12589 (define-public emacs-wgrep
12590 (package
12591 (name "emacs-wgrep")
12592 (version "2.3.2")
12593 (source (origin
12594 (method git-fetch)
12595 (uri (git-reference
12596 (url "https://github.com/mhayashi1120/Emacs-wgrep")
12597 (commit version)))
12598 (file-name (git-file-name name version))
12599 (sha256
12600 (base32
12601 "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
12602 (build-system emacs-build-system)
12603 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
12604 (synopsis "Edit a grep buffer and apply those changes to the files")
12605 (description
12606 "Emacs wgrep allows you to edit a grep buffer and apply those changes
12607 to the file buffer. Several backends are supported beside the classic grep:
12608 ack, ag, helm and pt.")
12609 (license license:gpl3+)))
12610
12611 (define-public emacs-helm
12612 (package
12613 (name "emacs-helm")
12614 (version "3.8.8")
12615 (source
12616 (origin
12617 (method git-fetch)
12618 (uri (git-reference
12619 (url "https://github.com/emacs-helm/helm")
12620 (commit (string-append "v" version))))
12621 (file-name (git-file-name name version))
12622 (sha256
12623 (base32 "1i8hbdp5sg99h3imqydk4wd7mqsa04113yavk5sx1wgc17jm1l42"))))
12624 (build-system emacs-build-system)
12625 (propagated-inputs
12626 (list emacs-async emacs-popup))
12627 (home-page "https://emacs-helm.github.io/helm/")
12628 (synopsis
12629 "Incremental completion and selection narrowing framework for Emacs")
12630 (description
12631 "Helm is an incremental completion and selection narrowing framework for
12632 Emacs. It will help steer you in the right direction when you're looking for
12633 stuff in Emacs (like buffers, files, etc).")
12634 (license license:gpl3+)))
12635
12636 (define-public emacs-helm-org
12637 (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
12638 (revision "3"))
12639 (package
12640 (name "emacs-helm-org")
12641 (version (git-version "1.0" revision commit))
12642 (source
12643 (origin
12644 (method git-fetch)
12645 (uri (git-reference
12646 (url "https://github.com/emacs-helm/helm-org")
12647 (commit commit)))
12648 (file-name (git-file-name name version))
12649 (sha256
12650 (base32 "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"))))
12651 (build-system emacs-build-system)
12652 (propagated-inputs
12653 (list emacs-helm))
12654 (home-page "https://github.com/emacs-helm/helm-org")
12655 (synopsis "Helm interface to the Silver Searcher")
12656 (description
12657 "This package provides a frontend for grepping tools like ag and ack,
12658 as well as features for editing search results.")
12659 (license license:gpl3+))))
12660
12661 (define-public emacs-helm-swoop
12662 (package
12663 (name "emacs-helm-swoop")
12664 (version "3.0.0")
12665 (source
12666 (origin
12667 (method git-fetch)
12668 (uri (git-reference
12669 (url "https://github.com/emacsorphanage/helm-swoop")
12670 (commit version)))
12671 (file-name (git-file-name name version))
12672 (sha256
12673 (base32 "1qjay0fvryxa8n1ws6r1by512p2fylb2nj7ycm1497fcalb0d706"))))
12674 (build-system emacs-build-system)
12675 (propagated-inputs
12676 (list emacs-helm))
12677 (home-page "https://github.com/emacsorphanage/helm-swoop")
12678 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
12679 (description
12680 "This package builds on the Helm interface to provide several commands
12681 for search-based navigation of buffers.")
12682 (license license:gpl2+)))
12683
12684 (define-public emacs-helm-ag
12685 (package
12686 (name "emacs-helm-ag")
12687 (version "0.64")
12688 (source
12689 (origin
12690 (method git-fetch)
12691 (uri (git-reference
12692 (url "https://github.com/syohex/emacs-helm-ag")
12693 (commit version)))
12694 (file-name (git-file-name name version))
12695 (sha256
12696 (base32 "0ml9yp3qaiwn7iixyxvsj3fxn7gw913qxisr47df57q4ka912law"))))
12697 (build-system emacs-build-system)
12698 (propagated-inputs
12699 (list emacs-helm))
12700 (home-page "https://github.com/syohex/emacs-helm-ag")
12701 (synopsis "Helm interface to the Silver Searcher")
12702 (description
12703 "This package provides a frontend for grepping tools like ag and ack,
12704 as well as features for editing search results.")
12705 (license license:gpl3+)))
12706
12707 (define-public emacs-helm-projectile
12708 (package
12709 (name "emacs-helm-projectile")
12710 (version "1.0.0")
12711 (source
12712 (origin
12713 (method git-fetch)
12714 (uri (git-reference
12715 (url "https://github.com/bbatsov/helm-projectile")
12716 (commit (string-append "v" version))))
12717 (file-name (git-file-name name version))
12718 (sha256
12719 (base32 "05gpg90gg03yalmv9fw1y9k21i2l617iipvs0p9n80aln8nrzs8g"))))
12720 (build-system emacs-build-system)
12721 (propagated-inputs
12722 (list emacs-helm emacs-projectile))
12723 (home-page "https://github.com/bbatsov/helm-projectile")
12724 (synopsis "Helm integration for Projectile")
12725 (description
12726 "This Emacs library provides a Helm interface for Projectile.")
12727 (license license:gpl3+)))
12728
12729 (define-public emacs-taskrunner
12730 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
12731 (revision "1"))
12732 (package
12733 (name "emacs-taskrunner")
12734 (version (git-version "0.6" revision commit))
12735 (source
12736 (origin
12737 (method git-fetch)
12738 (uri (git-reference
12739 (url "https://github.com/emacs-taskrunner/emacs-taskrunner")
12740 (commit commit)))
12741 (file-name (git-file-name name version))
12742 (sha256
12743 (base32
12744 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
12745 (build-system emacs-build-system)
12746 (propagated-inputs
12747 (list emacs-async emacs-projectile))
12748 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
12749 (synopsis "Retrieve tasks from various build systems and task-runners")
12750 (description "This package parses Makefiles and build-system files for
12751 multiple project types.")
12752 (license license:gpl3+))))
12753
12754 (define-public emacs-ivy-taskrunner
12755 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
12756 (revision "1"))
12757 (package
12758 (name "emacs-ivy-taskrunner")
12759 (version (git-version "0.9" revision commit))
12760 (source
12761 (origin
12762 (method git-fetch)
12763 (uri (git-reference
12764 (url "https://github.com/emacs-taskrunner/ivy-taskrunner")
12765 (commit commit)))
12766 (file-name (git-file-name name version))
12767 (sha256
12768 (base32
12769 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
12770 (build-system emacs-build-system)
12771 (propagated-inputs
12772 (list emacs-ivy emacs-taskrunner emacs-projectile))
12773 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
12774 (synopsis "Retrieve build-system tasks using Ivy")
12775 (description "This package provides an Ivy interface for selecting
12776 Makefile targets.")
12777 (license license:gpl3+))))
12778
12779 (define-public emacs-helm-taskrunner
12780 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
12781 (revision "1"))
12782 (package
12783 (name "emacs-helm-taskrunner")
12784 (version (git-version "0.9" revision commit))
12785 (source
12786 (origin
12787 (method git-fetch)
12788 (uri (git-reference
12789 (url "https://github.com/emacs-taskrunner/helm-taskrunner")
12790 (commit commit)))
12791 (file-name (git-file-name name version))
12792 (sha256
12793 (base32
12794 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
12795 (build-system emacs-build-system)
12796 (propagated-inputs
12797 (list emacs-helm emacs-taskrunner emacs-projectile))
12798 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
12799 (synopsis "Retrieve build-system tasks using Helm")
12800 (description "This package provides a Helm interface for selecting
12801 Makefile targets.")
12802 (license license:gpl3+))))
12803
12804 (define-public emacs-helm-make
12805 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
12806 (revision "1"))
12807 (package
12808 (name "emacs-helm-make")
12809 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
12810 (source
12811 (origin
12812 (method git-fetch)
12813 (uri (git-reference
12814 (url "https://github.com/abo-abo/helm-make")
12815 (commit commit)))
12816 (file-name (git-file-name name version))
12817 (sha256
12818 (base32
12819 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
12820 (build-system emacs-build-system)
12821 (propagated-inputs
12822 (list emacs-helm emacs-projectile))
12823 (home-page "https://github.com/abo-abo/helm-make")
12824 (synopsis "Select a Makefile target with helm")
12825 (description "@code{helm-make} or @code{helm-make-projectile} will give
12826 you a @code{helm} selection of directory Makefile's targets. Selecting a
12827 target will call @code{compile} on it.")
12828 (license license:gpl3+))))
12829
12830 (define-public emacs-cider
12831 (package
12832 (name "emacs-cider")
12833 (version "1.5.0")
12834 (source
12835 (origin
12836 (method git-fetch)
12837 (uri (git-reference
12838 (url "https://github.com/clojure-emacs/cider")
12839 (commit (string-append "v" version))))
12840 (file-name (git-file-name name version))
12841 (sha256
12842 (base32 "1ih902n8p3pl1apprprkyrlnrp2dxli86y5k09zahy9mglfz2z5n"))))
12843 (build-system emacs-build-system)
12844 (arguments
12845 '(#:exclude ;don't exclude 'cider-test.el'
12846 '("^\\.dir-locals\\.el$" "^test/")
12847 #:phases
12848 ;; XXX: file "test/cider-tests.el" contains a bogus "/bin/command"
12849 ;; string, and `patch-el-files' phase chokes on it (even though the
12850 ;; file is excluded from installation). Remove the phase altogether
12851 ;; since there is no "/bin/executable" to replace in the code base
12852 ;; anyway.
12853 (modify-phases %standard-phases
12854 (delete 'patch-el-files))))
12855 (propagated-inputs
12856 (list emacs-clojure-mode
12857 emacs-parseedn
12858 emacs-pkg-info
12859 emacs-queue
12860 emacs-sesman
12861 emacs-spinner))
12862 (home-page "https://cider.mx/")
12863 (synopsis "Clojure development environment for Emacs")
12864 (description
12865 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
12866 provide an interactive development experience similar to the one you'd get
12867 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
12868 Geiser) and Smalltalk.
12869
12870 CIDER is the successor to the now deprecated combination of using SLIME +
12871 swank-clojure for Clojure development.
12872
12873 There are plenty of differences between CIDER and SLIME, but the core ideas
12874 are pretty much the same (and SLIME served as the principle inspiration for
12875 CIDER).")
12876 (license license:gpl3+)))
12877
12878 (define-public emacs-sly
12879 ;; Update together with sbcl-slynk.
12880 (let ((commit "4513c382f07a2a2cedb3c046231b69eae2f5e6f0")
12881 (revision "6"))
12882 ;; Versions are not always tagged. Besides, latest master contains
12883 ;; important fixes.
12884 (package
12885 (name "emacs-sly")
12886 (version (git-version "1.0.43" revision commit))
12887 (source
12888 (origin
12889 (method git-fetch)
12890 (uri (git-reference
12891 (url "https://github.com/joaotavora/sly")
12892 (commit commit)))
12893 (file-name (git-file-name name version))
12894 (sha256
12895 (base32
12896 "10bzxhi5d7h18hqclxqy2z857d0sfbsnyxvrhmfkdi0h75zz7m4n"))))
12897 (build-system emacs-build-system)
12898 (native-inputs
12899 (list texinfo))
12900 (arguments
12901 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
12902 #:phases
12903 ;; The package provides autoloads.
12904 (modify-phases %standard-phases
12905 (delete 'make-autoloads)
12906 (add-before 'install 'install-doc
12907 (lambda* (#:key outputs #:allow-other-keys)
12908 (let* ((out (assoc-ref outputs "out"))
12909 (info-dir (string-append out "/share/info"))
12910 (doc-dir (string-append out "/share/doc/"
12911 ,name "-" ,version))
12912 (doc-files '( ;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
12913 "README.md" "NEWS.md" "PROBLEMS.md"
12914 "CONTRIBUTING.md")))
12915 (with-directory-excursion "doc"
12916 (substitute* "Makefile"
12917 (("infodir=/usr/local/info")
12918 (string-append "infodir=" info-dir))
12919 ;; Don't rebuild contributors.texi since we are not in
12920 ;; the git repo.
12921 (("contributors.texi: Makefile texinfo-tabulate.awk")
12922 "contributors.texi:"))
12923 (invoke "make" "html/index.html")
12924 (invoke "make" "sly.info")
12925 ;; TODO: We need minimal texlive with "preprint" package
12926 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
12927 (install-file "sly.info" info-dir)
12928 (copy-recursively "html" (string-append doc-dir "/html")))
12929 (for-each (lambda (f)
12930 (install-file f doc-dir)
12931 (delete-file f))
12932 doc-files)
12933 (delete-file-recursively "doc")
12934 #t))))))
12935 (home-page "https://github.com/joaotavora/sly")
12936 (synopsis "Sylvester the Cat's Common Lisp IDE")
12937 (description
12938 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
12939 contains the following improvements over it:
12940
12941 @enumerate
12942 @item A full-featured REPL based on Emacs's @code{comint.el}. Everything
12943 can be copied to the REPL;
12944 @item Stickers, or live code annotations that record values as code traverses them.
12945 @item Flex-style completion out-of-the-box, using Emacs's completion API.
12946 Company, Helm, and other supported natively, no plugin required;
12947 @item An interactive Trace Dialog;
12948 @item Multiple inspectors and multiple REPLs, with independent history.
12949 @item Regexp-capable @code{M-x sly-apropos}.
12950 @item Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box;
12951 @item \"Presentations\" replaced by interactive backreferences, which
12952 highlight the object and remain stable throughout the REPL session;
12953 @end enumerate
12954
12955 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
12956 xref, etc.) are still available, but with better integration.")
12957 (license license:gpl3+))))
12958
12959 (define-public emacs-sly-quicklisp
12960 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
12961 (revision "1"))
12962 (package
12963 (name "emacs-sly-quicklisp")
12964 (version (git-version "0.0.0" revision commit))
12965 (home-page "https://github.com/joaotavora/sly-quicklisp")
12966 (source
12967 (origin
12968 (method git-fetch)
12969 (uri (git-reference
12970 (url home-page)
12971 (commit commit)))
12972 (file-name (git-file-name name version))
12973 (sha256
12974 (base32
12975 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
12976 (build-system emacs-build-system)
12977 (propagated-inputs
12978 (list emacs-sly))
12979 (arguments
12980 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
12981 #:phases
12982 ;; The package provides autoloads.
12983 (modify-phases %standard-phases
12984 (delete 'make-autoloads)
12985 (delete 'enable-autoloads-compilation))))
12986 (synopsis "Quicklisp support for SLY")
12987 (description
12988 "@command{sly-quicklisp} is an external contrib for SLY that provides a
12989 sly-quickload command that prompts the user for a package to install.")
12990 (license license:gpl3+))))
12991
12992 (define-public emacs-sly-asdf
12993 (let ((commit "3180921efdc19a2195960e1d601b2a6f31a6feea")
12994 (revision "5"))
12995 (package
12996 (name "emacs-sly-asdf")
12997 (version (git-version "0.1.0" revision commit))
12998 (home-page "https://github.com/mmgeorge/sly-asdf")
12999 (source
13000 (origin
13001 (method git-fetch)
13002 (uri (git-reference
13003 (url home-page)
13004 (commit commit)))
13005 (file-name (git-file-name name version))
13006 (sha256
13007 (base32
13008 "0gncp8xv33s4wx594bgd35vr1455bcggv1bg28qv75mhv41nzw97"))))
13009 (build-system emacs-build-system)
13010 (propagated-inputs
13011 (list emacs-sly emacs-popup))
13012 (arguments
13013 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
13014 (synopsis "ASDF contrib for SLY")
13015 (description
13016 "@command{sly-asdf} is an external contrib for SLY that provides
13017 additional support for working with ASDF projects.")
13018 (license license:gpl3+))))
13019
13020 (define-public emacs-sly-named-readtables
13021 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
13022 (revision "1"))
13023 (package
13024 (name "emacs-sly-named-readtables")
13025 (version (git-version "0.1" revision commit))
13026 (home-page "https://github.com/joaotavora/sly-named-readtables")
13027 (source
13028 (origin
13029 (method git-fetch)
13030 (uri (git-reference
13031 (url home-page)
13032 (commit commit)))
13033 (file-name (git-file-name name version))
13034 (sha256
13035 (base32
13036 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
13037 (build-system emacs-build-system)
13038 (propagated-inputs
13039 (list emacs-sly))
13040 (arguments
13041 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
13042 #:phases (modify-phases %standard-phases
13043 ;; Byte compilation of the autoload file fails.
13044 (delete 'enable-autoloads-compilation))))
13045 (synopsis "Named-readtables support for SLY")
13046 (description
13047 "@command{sly-named-readtables} is an external contrib for SLY that
13048 enables different readtables to be active in different parts of the same
13049 file.")
13050 (license license:gpl3+))))
13051
13052 (define-public emacs-sly-macrostep
13053 (let ((commit "5113e4e926cd752b1d0bcc1508b3ebad5def5fad")
13054 (revision "2"))
13055 (package
13056 (name "emacs-sly-macrostep")
13057 (version (git-version "0.1" revision commit))
13058 (home-page "https://github.com/joaotavora/sly-macrostep")
13059 (source
13060 (origin
13061 (method git-fetch)
13062 (uri (git-reference
13063 (url home-page)
13064 (commit commit)))
13065 (file-name (git-file-name name version))
13066 (sha256
13067 (base32
13068 "1nxf28gn4f3n0wnv7nb5sgl36fz175y470zs9hig4kq8cp0yal0r"))))
13069 (build-system emacs-build-system)
13070 (propagated-inputs
13071 (list emacs-sly emacs-macrostep))
13072 (arguments
13073 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
13074 #:phases
13075 ;; The package provides autoloads.
13076 (modify-phases %standard-phases
13077 (delete 'make-autoloads)
13078 (delete 'enable-autoloads-compilation))))
13079 (synopsis "Expand Common Lisp macros inside source files with SLY")
13080 (description
13081 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
13082 inside the source file.")
13083 (license license:gpl3+))))
13084
13085 (define-public emacs-sly-stepper
13086 (let ((commit "da84e3bba8466c2290c2dc7c27d7f4c48c27b39e"))
13087 (package
13088 (name "emacs-sly-stepper")
13089 (version (git-version "0.0.0" "2" commit))
13090 (home-page "https://github.com/joaotavora/sly-stepper")
13091 (source
13092 (origin
13093 (method git-fetch)
13094 (uri (git-reference
13095 (url home-page)
13096 (commit commit)))
13097 (file-name (git-file-name name version))
13098 (sha256
13099 (base32
13100 "07p0k797fagn1qha191p6g2b55hsqqkcj59mh0ms9id0ildydil0"))
13101 (modules '((guix build utils)))
13102 (snippet
13103 '(begin
13104 (map delete-file (find-files "." ".*-autoloads\\.elc?$"))
13105 #t))))
13106 (build-system emacs-build-system)
13107 (inputs
13108 (list cl-agnostic-lizard))
13109 (propagated-inputs
13110 (list emacs-sly))
13111 (arguments
13112 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
13113 #:phases
13114 (modify-phases %standard-phases
13115 (add-after 'expand-load-path 'expand-sly-contrib
13116 (lambda* (#:key inputs #:allow-other-keys)
13117 (let* ((sly (assoc-ref inputs "emacs-sly"))
13118 (contrib (find-files sly "^contrib$" #:directories? #t)))
13119 (setenv "EMACSLOADPATH"
13120 (string-append (string-join contrib ":")
13121 ":"
13122 (getenv "EMACSLOADPATH")))
13123 #t)))
13124 (add-after 'install 'find-agnostic-lizard
13125 (lambda* (#:key inputs outputs #:allow-other-keys)
13126 (let* ((out (assoc-ref outputs "out"))
13127 (file (string-append (elpa-directory out)
13128 "/slynk-stepper.lisp"))
13129 (asd (string-append
13130 (assoc-ref inputs "cl-agnostic-lizard")
13131 "/share/common-lisp/systems/agnostic-lizard.asd")))
13132 ;; agnostic-lizard is found at runtime.
13133 (substitute* file
13134 (("\\(require :asdf\\)")
13135 (string-append
13136 "(require :asdf)\n"
13137 " (funcall (read-from-string \"asdf:load-asd\")\n"
13138 " \"" asd "\")\n")))))))))
13139 (synopsis "Portable Common Lisp stepper interface for Emacs")
13140 (description
13141 "This package features a new, portable, visual stepping facility for
13142 Common Lisp, realized as an extension to SLY.")
13143 (license license:gpl3+))))
13144
13145 (define-public emacs-sly-package-inferred
13146 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
13147 (revision "1"))
13148 (package
13149 (name "emacs-sly-package-inferred")
13150 (version (git-version "0.1" revision commit))
13151 (home-page "https://github.com/40ants/sly-package-inferred")
13152 (source
13153 (origin
13154 (method git-fetch)
13155 (uri (git-reference
13156 (url home-page)
13157 (commit commit)))
13158 (file-name (git-file-name name version))
13159 (sha256
13160 (base32
13161 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
13162 (build-system emacs-build-system)
13163 (propagated-inputs
13164 (list emacs-sly))
13165 (arguments
13166 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
13167 #:phases
13168 ;; The package provides autoloads.
13169 (modify-phases %standard-phases
13170 (delete 'make-autoloads))))
13171 (synopsis "Improved package inferred systems support for SLY")
13172 (description
13173 "@command{sly-package-inferred} is an external contrib for SLY that
13174 replaces its completion with a function which is better suited for systems
13175 using package inferred style.")
13176 (license license:gpl3+))))
13177
13178 (define-public emacs-lua-mode
13179 (package
13180 (name "emacs-lua-mode")
13181 (version "20210802")
13182 (home-page "https://github.com/immerrr/lua-mode/")
13183 (source
13184 (origin
13185 (method git-fetch)
13186 (uri (git-reference
13187 (url home-page)
13188 (commit (string-append "v" version))))
13189 (file-name (git-file-name name version))
13190 (sha256
13191 (base32 "0r3svhggdml2n256k3b0zmbjnw51p46gan6dg07bhavpfrqs5196"))))
13192 (build-system emacs-build-system)
13193 (arguments
13194 `(#:tests? #t
13195 #:test-command '("buttercup" "-l" "lua-mode.el")))
13196 (native-inputs
13197 (list emacs-buttercup-1.25 lua))
13198 (synopsis "Major mode for lua")
13199 (description
13200 "This Emacs package provides a mode for @uref{https://www.lua.org/,
13201 Lua programming language}.")
13202 (license license:gpl2+)))
13203
13204 (define-public emacs-ebuild-mode
13205 (package
13206 (name "emacs-ebuild-mode")
13207 (version "1.60")
13208 (source
13209 (origin
13210 (method url-fetch)
13211 (uri (string-append
13212 "https://dev.gentoo.org/~ulm/emacs/"
13213 "ebuild-mode-" version ".tar.xz"))
13214 (file-name (string-append name "-" version ".tar.xz"))
13215 (sha256
13216 (base32 "1n7knzssvz0yyhnn6m37lz8d9v2840skcbm0ipqjpqyzawnr3psw"))))
13217 (build-system emacs-build-system)
13218 (arguments
13219 (list
13220 #:phases
13221 #~(modify-phases %standard-phases
13222 (add-after 'install 'install-doc
13223 (lambda _
13224 (invoke "make" "ebuild-mode.info")
13225 (install-file "ebuild-mode.info"
13226 (string-append #$output "/share/info")))))))
13227 (native-inputs
13228 (list texinfo))
13229 (home-page "https://devmanual.gentoo.org")
13230 (synopsis "Major modes for Gentoo package files")
13231 (description
13232 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
13233 news items, openrc and runscripts.")
13234 (license license:gpl2+)))
13235
13236 (define-public emacs-evil
13237 ;; Commit message claims this is 1.15.0, but there's no tag for it, so we
13238 ;; use full git-version instead
13239 (let ((commit "008a6cdb12f15e748979a7d1c2f26c34c84dedbf")
13240 (revision "0"))
13241 (package
13242 (name "emacs-evil")
13243 (version (git-version "1.15.0" revision commit))
13244 (source
13245 (origin
13246 (method git-fetch)
13247 (uri (git-reference
13248 (url "https://github.com/emacs-evil/evil")
13249 (commit commit)))
13250 (file-name (git-file-name name version))
13251 (sha256
13252 (base32
13253 "1hxhw1rsm0wbrhz85gfabncanijpxd47g5yrdnl3bbm499z1gsvg"))))
13254 (arguments
13255 `(#:phases
13256 (modify-phases %standard-phases
13257 (add-before 'check 'fix-test-helpers
13258 (lambda _
13259 (substitute* "evil-test-helpers.el"
13260 (("\\(undo-tree-mode 1\\)") ""))
13261 #t))
13262 (add-before 'install 'make-info
13263 (lambda _
13264 (with-directory-excursion "doc/build/texinfo"
13265 (invoke "makeinfo" "--no-split"
13266 "-o" "evil.info" "evil.texi")))))))
13267 (build-system emacs-build-system)
13268 (native-inputs (list texinfo))
13269 (home-page "https://github.com/emacs-evil/evil")
13270 (synopsis "Extensible Vi layer for Emacs")
13271 (description
13272 "Evil is an extensible vi layer for Emacs. It emulates the
13273 main features of Vim, and provides facilities for writing custom
13274 extensions.")
13275 (license license:gpl3+))))
13276
13277 (define-public emacs-evil-collection
13278 (package
13279 (name "emacs-evil-collection")
13280 (version "0.0.8")
13281 (source
13282 (origin
13283 (method git-fetch)
13284 (uri (git-reference
13285 (url "https://github.com/emacs-evil/evil-collection")
13286 (commit version)))
13287 (file-name (git-file-name name version))
13288 (sha256
13289 (base32 "159i3qvjnp7jiffwpr517nnxcy3w3g40302vyzxvz6mb6qay6f2c"))))
13290 (build-system emacs-build-system)
13291 (propagated-inputs
13292 (list emacs-evil emacs-annalist))
13293 (arguments
13294 `(#:include (cons* "^modes\\/" %default-include)))
13295 (home-page "https://github.com/emacs-evil/evil-collection")
13296 (synopsis "Collection of Evil bindings for many major and minor modes")
13297 (description "This is a collection of Evil bindings for the parts of
13298 Emacs that Evil does not cover properly by default, such as @code{help-mode},
13299 @code{M-x calendar}, Eshell and more.")
13300 (license license:gpl3+)))
13301
13302 (define-public emacs-evil-goggles
13303 (let ((commit "08a22058fd6a167f9f1b684c649008caef571459")
13304 (version "0.0.1")
13305 (revision "0"))
13306 (package
13307 (name "emacs-evil-goggles")
13308 (version (git-version version revision commit))
13309 (source
13310 (origin
13311 (method git-fetch)
13312 (uri (git-reference
13313 (url "https://github.com/edkolev/evil-goggles")
13314 (commit commit)))
13315 (file-name (git-file-name name version))
13316 (sha256
13317 (base32 "1p3vjrij63v9nrcyj3b5jsqzv9y7dgv9i1inx1q7x3s90vndavac"))))
13318 (build-system emacs-build-system)
13319 (propagated-inputs
13320 (list emacs-evil))
13321 (home-page "https://github.com/edkolev/evil-goggles")
13322 (synopsis "Displays visual hints when editing with evil")
13323 (description "Creates a visual pulse to indicate the region that is
13324 being deleted, changed, yanked, or pasted when using evil commands")
13325 (license license:gpl3+))))
13326
13327 (define-public emacs-goggles
13328 (package
13329 (name "emacs-goggles")
13330 (version "0.2")
13331 (source
13332 (origin
13333 (method git-fetch)
13334 (uri (git-reference
13335 (url "https://github.com/minad/goggles")
13336 (commit version)))
13337 (file-name (git-file-name name version))
13338 (sha256
13339 (base32 "15bqjmwfdqp2np6fln6xjyw59c5iddvzsyga0lvb8raa753cdh2k"))))
13340 (build-system emacs-build-system)
13341 (home-page "https://github.com/minad/goggles")
13342 (synopsis "Pulse modified region")
13343 (description "Goggles highlights the modified region using pulse.
13344 Currently the commands undo, yank, kill and delete are supported.")
13345 (license license:gpl3+)))
13346
13347 (define-public emacs-goto-chg
13348 (package
13349 (name "emacs-goto-chg")
13350 (version "1.7.5")
13351 (source
13352 (origin
13353 (method git-fetch)
13354 (uri (git-reference
13355 (url "https://github.com/emacs-evil/goto-chg")
13356 (commit version)))
13357 (file-name (git-file-name name version))
13358 (sha256
13359 (base32
13360 "0rgdzhan4n5bd78wvivacqkp0g7jvnwzgh0571p2m4yra09a36mv"))))
13361 (build-system emacs-build-system)
13362 (home-page "https://github.com/emacs-evil/goto-chg")
13363 (synopsis "Go to the last change in the Emacs buffer")
13364 (description
13365 "This package provides @code{M-x goto-last-change} command that goes to
13366 the point of the most recent edit in the current Emacs buffer. When repeated,
13367 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
13368 used for reverse direction.")
13369 (license license:gpl2+)))
13370
13371 (define-public emacs-janpath-evil-numbers
13372 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
13373 (version "0.5")
13374 (revision "1"))
13375 (package
13376 (name "emacs-janpath-evil-numbers")
13377 (version (git-version version revision commit))
13378 (source
13379 (origin
13380 (method git-fetch)
13381 (uri (git-reference
13382 (url "https://github.com/janpath/evil-numbers")
13383 (commit commit)))
13384 (file-name (git-file-name name version))
13385 (sha256
13386 (base32
13387 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
13388 (build-system emacs-build-system)
13389 (propagated-inputs (list emacs-evil))
13390 (home-page "https://github.com/janpath/evil-numbers")
13391 (synopsis "Increment and decrement numeric literals")
13392 (description
13393 "This package provides functionality to search for a number up to the
13394 end of a line and increment or decrement it.")
13395 (license license:gpl3+))))
13396
13397 (define-public emacs-evil-owl
13398 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
13399 (revision "3"))
13400 (package
13401 (name "emacs-evil-owl")
13402 (version (git-version "0.0.1" revision commit))
13403 (source
13404 (origin
13405 (method git-fetch)
13406 (uri (git-reference
13407 (url "https://github.com/mamapanda/evil-owl")
13408 (commit commit)))
13409 (file-name (git-file-name name version))
13410 (sha256
13411 (base32
13412 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
13413 (build-system emacs-build-system)
13414 (propagated-inputs
13415 (list emacs-evil))
13416 (arguments
13417 `(#:tests? #t
13418 #:test-command '("make" "test")))
13419 (home-page "https://github.com/mamapanda/evil-owl")
13420 (synopsis "Preview candidates when using Evil registers and marks")
13421 (description
13422 "This package supplements Evil's register- and mark-based commands with
13423 a popup window for previewing candidates.")
13424 (license license:gpl3+))))
13425
13426 (define-public emacs-evil-paredit
13427 (let ((commit "e058fbdcf9dbf7ad6cc77f0172d7517ef233d55f"))
13428 (package
13429 (name "emacs-evil-paredit")
13430 (version "0.0.2") ; says 0.0.2 in evil-paredit.el
13431 (source
13432 (origin
13433 (method git-fetch)
13434 (uri (git-reference
13435 (url "https://github.com/roman/evil-paredit")
13436 (commit commit)))
13437 (file-name (git-file-name name version))
13438 (sha256
13439 (base32 "0b08y4spapl4g2292j3l4cr84gjlvm3rpma3gqld4yb1sxd7v78p"))))
13440 (build-system emacs-build-system)
13441 (propagated-inputs
13442 (list emacs-evil emacs-paredit))
13443 (home-page "https://github.com/roman/evil-paredit")
13444 (synopsis "Evil extension to integrate nicely with Paredit")
13445 (description
13446 "This package helps you to not screw up your Paredit setup when using
13447 Evil mode. Whenever you try to use a modifier command like @kbd{d}, @kbd{c},
13448 @kbd{y} to modify the Paredit buffer, it will stop you to do so in the case
13449 you break the parity of parenthesis.")
13450 (license license:expat))))
13451
13452 (define-public emacs-evil-args
13453 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
13454 (revision "1"))
13455 (package
13456 (name "emacs-evil-args")
13457 (version (git-version "1.0" revision commit))
13458 (source
13459 (origin
13460 (method git-fetch)
13461 (uri (git-reference
13462 (url "https://github.com/wcsmith/evil-args")
13463 (commit commit)))
13464 (file-name (git-file-name name version))
13465 (sha256
13466 (base32
13467 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
13468 (build-system emacs-build-system)
13469 (propagated-inputs (list emacs-evil))
13470 (home-page "https://github.com/wcsmith/evil-args")
13471 (synopsis "Motions and text objects for delimited arguments in Evil")
13472 (description
13473 "This package provides motions and text objects for delimited
13474 arguments, such as arguments separated by commas and semicolons.")
13475 (license license:expat))))
13476
13477 (define-public emacs-evil-escape
13478 (package
13479 (name "emacs-evil-escape")
13480 (version "3.16")
13481 (source
13482 (origin
13483 (method git-fetch)
13484 (uri
13485 (git-reference
13486 (url "https://github.com/emacsorphanage/evil-escape")
13487 (commit (string-append "v" version))))
13488 (file-name (git-file-name name version))
13489 (sha256
13490 (base32 "1z30v59igndqzxg9gcx4bsbf5jkh11wp936il8azkrz3qdryaj4a"))))
13491 (propagated-inputs
13492 (list emacs-evil))
13493 (build-system emacs-build-system)
13494 (home-page "https://github.com/emacsorphanage/evil-escape")
13495 (synopsis "Escape from insert state and everything else in Emacs")
13496 (description
13497 "Evil escape provides a customizable key sequence to escape from insert
13498 state and everything else in Emacs.")
13499 (license license:gpl3+)))
13500
13501 (define-public emacs-evil-exchange
13502 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
13503 (version "0.41")
13504 (revision "1"))
13505 (package
13506 (name "emacs-evil-exchange")
13507 (version (git-version version revision commit))
13508 (source
13509 (origin
13510 (method git-fetch)
13511 (uri (git-reference
13512 (url "https://github.com/Dewdrops/evil-exchange")
13513 (commit commit)))
13514 (file-name (git-file-name name version))
13515 (sha256
13516 (base32
13517 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
13518 (build-system emacs-build-system)
13519 (propagated-inputs (list emacs-evil))
13520 (native-inputs (list emacs-ert-runner))
13521 (arguments
13522 `(#:phases
13523 (modify-phases %standard-phases
13524 (add-before 'check 'fix-makefile
13525 (lambda _
13526 (substitute* "Makefile"
13527 (("cask exec ") ""))
13528 #t)))
13529 #:tests? #t
13530 #:test-command '("make" "test")))
13531 (home-page "https://github.com/Dewdrops/evil-exchange")
13532 (synopsis "Exchange text easily within Evil")
13533 (description
13534 "This package, a port of @code{vim-exchange}, provides an Evil operator
13535 for exchanging text.")
13536 (license license:gpl3+))))
13537
13538 (define-public emacs-evil-replace-with-register
13539 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
13540 (version "0.1")
13541 (revision "1"))
13542 (package
13543 (name "emacs-evil-replace-with-register")
13544 (version (git-version version revision commit))
13545 (source
13546 (origin
13547 (method git-fetch)
13548 (uri (git-reference
13549 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
13550 (commit commit)))
13551 (file-name (git-file-name name version))
13552 (sha256
13553 (base32
13554 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
13555 (build-system emacs-build-system)
13556 (propagated-inputs (list emacs-evil))
13557 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
13558 (synopsis "Quickly replace text with the contents of a register")
13559 (description
13560 "This package provides an Evil operator for replacing text with the
13561 contents of a register.")
13562 (license license:gpl3+))))
13563
13564 (define-public emacs-evil-indent-plus
13565 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
13566 (version "1.0.0")
13567 (revision "1"))
13568 (package
13569 (name "emacs-evil-indent-plus")
13570 (version (git-version version revision commit))
13571 (source
13572 (origin
13573 (method git-fetch)
13574 (uri (git-reference
13575 (url "https://github.com/TheBB/evil-indent-plus")
13576 (commit commit)))
13577 (file-name (git-file-name name version))
13578 (sha256
13579 (base32
13580 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
13581 (build-system emacs-build-system)
13582 (propagated-inputs (list emacs-evil))
13583 (home-page "https://github.com/TheBB/evil-indent-plus")
13584 (synopsis "Text objects based on indentation")
13585 (description
13586 "This package adds new text objects for @code{evil-mode} based on
13587 blocks having the same or higher indentation, including or excluding
13588 surrounding lines.")
13589 (license license:gpl2+))))
13590
13591 (define-public emacs-evil-text-object-python
13592 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
13593 (version "1.0.1")
13594 (revision "1"))
13595 (package
13596 (name "emacs-evil-text-object-python")
13597 (version (git-version version revision commit))
13598 (source
13599 (origin
13600 (method git-fetch)
13601 (uri (git-reference
13602 (url "https://github.com/wbolster/evil-text-object-python")
13603 (commit commit)))
13604 (file-name (git-file-name name version))
13605 (sha256
13606 (base32
13607 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
13608 (build-system emacs-build-system)
13609 (propagated-inputs (list emacs-evil))
13610 (home-page "https://github.com/wbolster/evil-text-object-python")
13611 (synopsis "Text objects for Python")
13612 (description
13613 "This package provides @code{evil-mode} text objects for Python.")
13614 (license license:gpl3+))))
13615
13616 (define-public emacs-evil-lion
13617 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
13618 (revision "1"))
13619 (package
13620 (name "emacs-evil-lion")
13621 (version (git-version "0.0.2" revision commit))
13622 (source
13623 (origin
13624 (method git-fetch)
13625 (uri (git-reference
13626 (url "https://github.com/edkolev/evil-lion")
13627 (commit commit)))
13628 (file-name (git-file-name name version))
13629 (sha256
13630 (base32
13631 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
13632 (build-system emacs-build-system)
13633 (propagated-inputs (list emacs-evil))
13634 (arguments
13635 `(#:tests? #t
13636 #:test-command '("make" "test")))
13637 (home-page "https://github.com/edkolev/evil-lion")
13638 (synopsis "Align operator for @code{evil-mode}")
13639 (description
13640 "This package, a port of @code{vim-lion}, provides an operator for
13641 aligning text objects based on separators.")
13642 (license license:gpl3+))))
13643
13644 (define-public emacs-evil-expat
13645 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
13646 (revision "1"))
13647 (package
13648 (name "emacs-evil-expat")
13649 (version (git-version "0.0.1" revision commit))
13650 (source
13651 (origin
13652 (method git-fetch)
13653 (uri (git-reference
13654 (url "https://github.com/edkolev/evil-expat")
13655 (commit commit)))
13656 (file-name (git-file-name name version))
13657 (sha256
13658 (base32
13659 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
13660 (build-system emacs-build-system)
13661 (propagated-inputs (list emacs-evil))
13662 (arguments
13663 `(#:tests? #t
13664 #:test-command '("make" "test")))
13665 (home-page "https://github.com/edkolev/evil-expat")
13666 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
13667 (description
13668 "This package provides additional commands for the @code{ex} command
13669 line, including functions for version control with Git and for copying and
13670 pasting into and from @code{tmux} paste buffers.")
13671 (license license:gpl3+))))
13672
13673 (define-public emacs-evil-nerd-commenter
13674 (package
13675 (name "emacs-evil-nerd-commenter")
13676 (version "3.5.8")
13677 (source
13678 (origin
13679 (method git-fetch)
13680 (uri (git-reference
13681 (url "https://github.com/redguardtoo/evil-nerd-commenter")
13682 (commit version)))
13683 (file-name (git-file-name name version))
13684 (sha256
13685 (base32
13686 "0xrbmz9mx4aclqgjyjaq7vj9xf4291rw4nxaz2nvqblv8yylqbr0"))))
13687 (build-system emacs-build-system)
13688 (propagated-inputs (list emacs-evil))
13689 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
13690 (synopsis "Comment and uncomment lines efficiently")
13691 (description
13692 "This package provides text objects and operators for comments within
13693 @code{evil-mode}.")
13694 (license license:gpl3+)))
13695
13696 (define-public emacs-evil-visual-replace
13697 (package
13698 (name "emacs-evil-visual-replace")
13699 (version "0.0.5")
13700 (source
13701 (origin
13702 (method git-fetch)
13703 (uri (git-reference
13704 (url "https://github.com/troyp/evil-visual-replace")
13705 (commit version)))
13706 (file-name (git-file-name name version))
13707 (sha256
13708 (base32
13709 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
13710 (build-system emacs-build-system)
13711 (propagated-inputs (list emacs-evil))
13712 (home-page "https://github.com/troyp/evil-visual-replace")
13713 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
13714 (description
13715 "This package provides versions of @code{query-replace} and
13716 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
13717 (license license:gpl2+)))
13718
13719 (define-public emacs-evil-visualstar
13720 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
13721 (version "0.2.0")
13722 (revision "1"))
13723 (package
13724 (name "emacs-evil-visualstar")
13725 (version (git-version version revision commit))
13726 (source
13727 (origin
13728 (method git-fetch)
13729 (uri (git-reference
13730 (url "https://github.com/bling/evil-visualstar")
13731 (commit commit)))
13732 (file-name (git-file-name name version))
13733 (sha256
13734 (base32
13735 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
13736 (build-system emacs-build-system)
13737 (propagated-inputs (list emacs-evil))
13738 (home-page "https://github.com/bling/evil-visualstar")
13739 (synopsis "Instantly search using the visual selection")
13740 (description
13741 "This package provides @code{evil-mode} functions for using selected text
13742 to search.")
13743 (license license:gpl3+))))
13744
13745 (define-public emacs-monky
13746 (package
13747 (name "emacs-monky")
13748 (version "0.1")
13749 (source (origin
13750 (method git-fetch)
13751 (uri (git-reference
13752 (url "https://github.com/ananthakumaran/monky")
13753 (commit version)))
13754 (file-name (git-file-name name version))
13755 (sha256
13756 (base32
13757 "1fgn7al4zwz2k5wb5dy3byqg9lsrjk9fra341mxh5ma2pfwxjgps"))))
13758 (build-system emacs-build-system)
13759 (home-page "https://ananthakumaran.in/monky/index.html")
13760 (arguments
13761 `(#:tests? #t
13762 #:test-command '("emacs" "--batch"
13763 "-l" "test/monky-unit-test.el"
13764 "-f" "ert-run-tests-batch-and-exit")))
13765 (synopsis "Interactive interface for the Mercurial version control system")
13766 (description
13767 "Monky provides an Emacs interface for Mercurial (Hg). Using Monky, you
13768 can selectively commit files, view the diffs, and other things.")
13769 (license license:gpl3+)))
13770
13771 (define-public emacs-monroe
13772 (package
13773 (name "emacs-monroe")
13774 (version "0.3.1")
13775 (source
13776 (origin
13777 (method git-fetch)
13778 (uri (git-reference
13779 (url "https://github.com/sanel/monroe")
13780 (commit version)))
13781 (file-name (git-file-name name version))
13782 (sha256
13783 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
13784 (build-system emacs-build-system)
13785 (home-page "https://github.com/sanel/monroe")
13786 (synopsis "Clojure nREPL client for Emacs")
13787 (description
13788 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
13789 distribution, primarily targeting Clojure users")
13790 (license license:gpl3+)))
13791
13792 (define-public emacs-orgalist
13793 (package
13794 (name "emacs-orgalist")
13795 (version "1.13")
13796 (source
13797 (origin
13798 (method url-fetch)
13799 (uri (string-append "https://elpa.gnu.org/packages/"
13800 "orgalist-" version ".el"))
13801 (sha256
13802 (base32 "1wkxc5kcy1g4lx6pd78pa8znncjyl9zyhsvz7wpp56qmhq4hlav3"))))
13803 (build-system emacs-build-system)
13804 (home-page "https://elpa.gnu.org/packages/orgalist.html")
13805 (synopsis "Manage Org-like lists in non-Org buffers")
13806 (description "Orgalist writes and manages Org mode's plain lists in
13807 non-Org buffers. More specifically, it supports the syntax of Org mode for
13808 numbered, unnumbered, description items, checkboxes, and counter cookies.
13809
13810 The library also implements radio lists, i.e., lists written in Org syntax
13811 later translated into the host format, e.g., LaTeX or HTML.")
13812 (license license:gpl3+)))
13813
13814 (define-public emacs-writegood-mode
13815 (package
13816 (name "emacs-writegood-mode")
13817 (version "2.2.0")
13818 (home-page "https://github.com/bnbeckwith/writegood-mode")
13819 (source (origin
13820 (method git-fetch)
13821 (uri (git-reference
13822 (url home-page)
13823 (commit (string-append "v" version))))
13824 (sha256
13825 (base32
13826 "1a3gmaaa344kigr209b6wnjiw9ikkmw1j5jda04h3g8f9817njyv"))
13827 (file-name (string-append name "-checkout"))))
13828 (build-system emacs-build-system)
13829 (synopsis "Polish up poor writing on the fly")
13830 (description
13831 "This minor mode tries to find and highlight problems with your writing
13832 in English as you type. It primarily detects \"weasel words\" and abuse of
13833 passive voice.")
13834 (license license:gpl3+)))
13835
13836 (define-public emacs-neotree
13837 (package
13838 (name "emacs-neotree")
13839 (version "0.5.2")
13840 (home-page "https://github.com/jaypei/emacs-neotree")
13841 (source (origin
13842 (method git-fetch)
13843 (uri (git-reference
13844 (url home-page)
13845 (commit version)))
13846 (sha256
13847 (base32
13848 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
13849 (file-name (git-file-name name version))))
13850 (build-system emacs-build-system)
13851 (synopsis "Folder tree view for Emacs")
13852 (description "This Emacs package provides a folder tree view.")
13853 (license license:gpl3+)))
13854
13855 (define-public emacs-org
13856 (package
13857 (name "emacs-org")
13858 (version "9.5.5")
13859 (source
13860 (origin
13861 (method git-fetch)
13862 (uri (git-reference
13863 (url "https://git.savannah.gnu.org/git/emacs/org-mode.git")
13864 (commit (string-append "release_" version))))
13865 (file-name (git-file-name name version))
13866 (sha256
13867 (base32 "0bswysz5laiya9pm689v4rpxjlfqg21azyh1jal9jq80iwjwi2p8"))))
13868 (build-system emacs-build-system)
13869 (arguments
13870 `(#:tests? #t
13871 #:test-command '("make" "test-dirty")
13872 #:phases
13873 (modify-phases %standard-phases
13874 (add-before 'check 'make
13875 (lambda _
13876 (invoke "make" (string-append "ORGVERSION=" ,version))))
13877 (replace 'install
13878 (lambda* (#:key outputs #:allow-other-keys)
13879 (substitute* "local.mk"
13880 (("^prefix.*")
13881 (string-append "prefix = " (assoc-ref outputs "out")))
13882 (("^lispdir.*")
13883 (string-append "lispdir = "
13884 (elpa-directory (assoc-ref outputs "out")))))
13885 ;; The dependent targets for install perform cleanup that
13886 ;; partially undoes our make phase
13887 (substitute* "lisp/Makefile"
13888 (("^install:.*") "install:\n"))
13889 (invoke "make" "install")))
13890 (add-after 'unpack 'fix-tests
13891 (lambda* (#:key inputs #:allow-other-keys)
13892 ;; These files are modified during testing
13893 (with-directory-excursion "testing/examples"
13894 (for-each make-file-writable
13895 '("babel.org"
13896 "ob-awk-test.org"
13897 "ob-sed-test.org"
13898 "ob-shell-test.org"))
13899 ;; Specify where sh is
13900 (substitute* "babel.org"
13901 (("/bin/sh" sh)
13902 (string-append (assoc-ref inputs "bash") sh)))))))))
13903 (native-inputs
13904 (list texinfo))
13905 (home-page "https://orgmode.org/")
13906 (synopsis "Outline-based notes management and organizer")
13907 (description "Org is an Emacs mode for keeping notes, maintaining TODO
13908 lists, and project planning with a fast and effective lightweight markup
13909 language. It also is an authoring system with unique support for literate
13910 programming and reproducible research.")
13911 (license license:gpl3+)))
13912
13913 (define-public emacs-org-contrib
13914 (package
13915 (name "emacs-org-contrib")
13916 (version "0.4")
13917 (source
13918 (origin
13919 (method git-fetch)
13920 (uri (git-reference
13921 (url "https://git.sr.ht/~bzg/org-contrib")
13922 (commit (string-append "release_" version))))
13923 (file-name (git-file-name name version))
13924 (sha256
13925 (base32 "06b1rpywj596nnnap6pj6fnmcq8fcc4i30zv7qsvs3ryxciw01fb"))))
13926 (build-system emacs-build-system)
13927 (arguments
13928 `(#:phases
13929 (modify-phases %standard-phases
13930 (add-after 'unpack 'enter-source-directory
13931 (lambda _
13932 (chdir "lisp"))))))
13933 (native-inputs
13934 (list emacs-cider))
13935 (propagated-inputs
13936 (list emacs-org))
13937 (home-page "https://git.sr.ht/~bzg/org-contrib")
13938 (synopsis "Unmaintained add-ons for Org mode")
13939 (description
13940 "This package contains add-ons to Org. Be warned that these libraries
13941 receive little if no maintenance and there is no guaranty that they are
13942 compatible with the Org stable version.")
13943 (license license:gpl3+)))
13944
13945 (define-public emacs-org-contacts
13946 ;; XXX: Upstream does not tag version bumps. Commit below matches latest
13947 ;; version bump.
13948 (let ((commit "217ba04c9d638067a6ccb0829cf1885f54c1d568"))
13949 (package
13950 (name "emacs-org-contacts")
13951 (version "1.1")
13952 (source
13953 (origin
13954 (method git-fetch)
13955 (uri (git-reference
13956 (url "https://repo.or.cz/org-contacts")
13957 (commit commit)))
13958 (file-name (git-file-name name version))
13959 (sha256
13960 (base32 "0f0vjdvx0hffj2xvyrya8yfl77djmzmpxdxsx58ym4lmdvwyb6x3"))))
13961 (build-system emacs-build-system)
13962 (propagated-inputs (list emacs-org))
13963 (home-page "https://repo.or.cz/org-contacts")
13964 (synopsis "Contacts management system for Org mode")
13965 (description "Manage your contacts from Org mode. You can auto
13966 complete email addresses, export contacts to a vCard file, put birthdays
13967 in your Org Agenda, and more.")
13968 (license license:gpl3+))))
13969
13970 (define-public emacs-org-vcard
13971 (package
13972 (name "emacs-org-vcard")
13973 (version "0.2.0")
13974 (source
13975 (origin
13976 (method git-fetch)
13977 (uri (git-reference
13978 (url "https://github.com/flexibeast/org-vcard")
13979 (commit (string-append "v" version))))
13980 (file-name (git-file-name name version))
13981 (sha256
13982 (base32 "14l3xqahqmnfl3sskqcr33xpcsic8dm9cr9wmbv5la3xv14n10k7"))))
13983 (build-system emacs-build-system)
13984 (home-page "https://github.com/flexibeast/org-vcard")
13985 (synopsis "Org mode support for vCard export and import")
13986 (description
13987 "This package exports and imports vCard files from within GNU Emacs' Org
13988 mode.")
13989 (license license:gpl3+)))
13990
13991 (define-public emacs-org-pretty-table
13992 ;; There is no release yet.
13993 (let ((commit "1331c600b83d95b28730b1bfcb48369ac1cf12ef")
13994 (revision "0"))
13995 (package
13996 (name "emacs-org-pretty-table")
13997 (version (git-version "0.0.1" revision commit))
13998 (source
13999 (origin
14000 (method git-fetch)
14001 (uri (git-reference
14002 (url "https://github.com/Fuco1/org-pretty-table")
14003 (commit commit)))
14004 (file-name (git-file-name name version))
14005 (sha256
14006 (base32 "0yvqxh66y400n2n5ykmb1zrzd80bakffpwn6nmf37728x4cj8krh"))))
14007 (build-system emacs-build-system)
14008 (home-page "https://github.com/Fuco1/org-pretty-table")
14009 (synopsis "Make tables in Org mode and OrgTbl mode prettier")
14010 (description
14011 "This package displays tables in Org mode and OrgTbl mode using Unicode
14012 characters.")
14013 (license license:gpl3+))))
14014
14015 (define-public emacs-ob-sclang
14016 (let ((commit "cd3f3c847d8149cd4ce4a775942dac88ba92c772")
14017 (revision "1"))
14018 (package
14019 (name "emacs-ob-sclang")
14020 (version (git-version "0.1" revision commit))
14021 (source (origin
14022 (method git-fetch)
14023 (uri (git-reference
14024 (url "https://repo.or.cz/ob-sclang")
14025 (commit commit)))
14026 (file-name (git-file-name name version))
14027 (sha256
14028 (base32
14029 "0dr8va2v0262plqxd63yxymqiffkql9klci7wsp5i7xgpka8925q"))))
14030 (build-system emacs-build-system)
14031 (propagated-inputs
14032 (list emacs-org emacs-scel))
14033 (home-page "https://repo.or.cz/ob-sclang")
14034 (synopsis "Org Babel support for SuperCollider")
14035 (description "This package adds support for evaluating @code{sclang} Org
14036 mode source blocks.")
14037 (license license:gpl3+))))
14038
14039 (define-public emacs-org-edna
14040 (package
14041 (name "emacs-org-edna")
14042 (version "1.1.2")
14043 (source (origin
14044 (method bzr-fetch)
14045 (uri (bzr-reference
14046 (url "bzr://bzr.savannah.nongnu.org/org-edna-el")
14047 (revision version)))
14048 (file-name (string-append name "-" version "-checkout"))
14049 (sha256
14050 (base32
14051 "01dblddgx0yid5hrgl4swbr4grhv057kfbdy122wihzqpsrgq86n"))))
14052 (build-system emacs-build-system)
14053 (home-page "https://savannah.nongnu.org/projects/org-edna-el/")
14054 (synopsis "Manage Org task dependencies")
14055 (description "This package provides an extensible means of specifying
14056 conditions which must be fulfilled before a task can be completed and actions
14057 to take once it is. Org Edna runs when either the BLOCKER or TRIGGER
14058 properties are set on a heading, and when it is changing from a TODO state to
14059 a DONE state.")
14060 (license license:gpl3+)))
14061
14062 (define-public emacs-toodoo
14063 ;; Package has no release. Version is extracted from "Version:" keyword in
14064 ;; main file, and commit below matches version bump.
14065 (package
14066 (name "emacs-toodoo")
14067 (version "0.2")
14068 (source
14069 (origin
14070 (method git-fetch)
14071 (uri (git-reference
14072 (url "https://github.com/ChanderG/toodoo.el")
14073 (commit "149a563863c2f728c5f903475dbce50547c51000")))
14074 (file-name (git-file-name name version))
14075 (sha256
14076 (base32
14077 "00q7aym0kl03j9m66pivgy0snxcjjg402049b2wdy18kgyypfvx8"))))
14078 (build-system emacs-build-system)
14079 (propagated-inputs (list emacs-evil))
14080 (home-page "https://github.com/ChanderG/toodoo.el")
14081 (synopsis "Magit-like interface for a Todo workflow built on top of Org")
14082 (description "This package provides a minor mode for fast and easy management of Todos
14083 using Org mode and transients.")
14084 (license license:asl2.0)))
14085
14086 (define-public emacs-flx
14087 (package
14088 (name "emacs-flx")
14089 (version "0.6.1")
14090 (source
14091 (origin
14092 (method git-fetch)
14093 (uri (git-reference
14094 (url "https://github.com/lewang/flx")
14095 (commit (string-append "v" version))))
14096 (sha256
14097 (base32
14098 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
14099 (file-name (git-file-name name version))))
14100 (build-system emacs-build-system)
14101 (home-page "https://github.com/lewang/flx")
14102 (synopsis "Fuzzy matching for Emacs")
14103 (description
14104 "Flx provides fuzzy matching for emacs a la sublime text.
14105 The sorting algorithm is a balance between word beginnings (abbreviation)
14106 and contiguous matches (substring). The longer the substring match,
14107 the higher it scores. This maps well to how we think about matching.
14108 Flx has support for ido (interactively do things) through flx-ido.")
14109 (license license:gpl3+)))
14110
14111 (define-public emacs-cyberpunk-theme
14112 (package
14113 (name "emacs-cyberpunk-theme")
14114 (version "1.22")
14115 (source
14116 (origin
14117 (method git-fetch)
14118 (uri (git-reference
14119 (url "https://github.com/n3mo/cyberpunk-theme.el/")
14120 (commit version)))
14121 (sha256
14122 (base32
14123 "06nff38pcy5rgz13svkajsg0jjk73qy4a8m7p9f76yxcywxlgxlc"))
14124 (file-name (git-file-name name version))))
14125 (build-system emacs-build-system)
14126 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
14127 (synopsis "Cyberpunk theme for Emacs built-in color theme support")
14128 (description
14129 "Cyberpunk color theme for the Emacs 24+ built-in color theme support
14130 known loosely as deftheme. Many mode-specific customizations are included.")
14131 (license license:gpl3+)))
14132
14133 (define-public emacs-dart-mode
14134 (package
14135 (name "emacs-dart-mode")
14136 (version "1.0.7")
14137 (source
14138 (origin
14139 (method git-fetch)
14140 (uri (git-reference
14141 (url "https://github.com/bradyt/dart-mode")
14142 (commit version)))
14143 (file-name (git-file-name name version))
14144 (sha256
14145 (base32 "1vql8m4nj0brmv58b6lkbhykik8n6j4i7d3nylcls78y7ihc2cz8"))))
14146 (build-system emacs-build-system)
14147 (propagated-inputs
14148 (list emacs-dash emacs-flycheck emacs-s))
14149 (home-page "https://github.com/bradyt/dart-mode")
14150 (synopsis "Emacs mode for the Dart programming language")
14151 (description
14152 "Dart mode is an Emacs major mode for editing Dart files. It provides
14153 basic syntax highlighting and indentation.")
14154 (license license:gpl3+)))
14155
14156 (define-public emacs-danneskjold-theme
14157 (let* ((commit "e4d1f2c76245fe9d0d07133a841e789d139df28d")
14158 (revision "2"))
14159 (package
14160 (name "emacs-danneskjold-theme")
14161 (version (git-version "0.0.0" revision commit))
14162 (source
14163 (origin
14164 (method git-fetch)
14165 (uri (git-reference
14166 (url "https://github.com/rails-to-cosmos/danneskjold-theme")
14167 (commit commit)))
14168 (file-name (git-file-name name version))
14169 (sha256
14170 (base32 "1ii3cgf4hlclwaraisxksv98mmhajx517i60p1cgd7vapznn2b6v"))))
14171 (build-system emacs-build-system)
14172 (arguments
14173 `(#:phases
14174 (modify-phases %standard-phases
14175 (add-after 'unpack 'delete-screenshots
14176 (lambda _
14177 (delete-file-recursively "screenshots"))))))
14178 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
14179 (synopsis "High-contrast Emacs theme")
14180 (description
14181 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
14182 (license license:gpl3+))))
14183
14184 (define-public emacs-dream-theme
14185 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
14186 (revision "1"))
14187 (package
14188 (name "emacs-dream-theme")
14189 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
14190 (source
14191 (origin
14192 (method git-fetch)
14193 (uri (git-reference
14194 (url "https://github.com/djcb/dream-theme")
14195 (commit commit)))
14196 (file-name (git-file-name name version))
14197 (sha256
14198 (base32
14199 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
14200 (build-system emacs-build-system)
14201 (home-page "https://github.com/djcb/dream-theme")
14202 (synopsis "High-contrast Emacs theme")
14203 (description
14204 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
14205 by zenburn, sinburn and similar themes, but slowly diverging from them.")
14206 (license license:gpl3+))))
14207
14208 (define-public emacs-dracula-theme
14209 (package
14210 (name "emacs-dracula-theme")
14211 (version "1.7.0")
14212 (source
14213 (origin
14214 (method git-fetch)
14215 (uri (git-reference
14216 (url "https://github.com/dracula/emacs")
14217 (commit (string-append "v" version))))
14218 (file-name (git-file-name name version))
14219 (sha256
14220 (base32 "15y2djc5jljlvls1x9kp50m1kp0dcksmyixafsyimj66xpq9ngh0"))))
14221 (build-system emacs-build-system)
14222 (home-page "https://draculatheme.com/")
14223 (synopsis "Dark theme for Emacs")
14224 (description
14225 "Dracula is a dark color theme for many editors, shells and more. This
14226 package provides the Emacs theme.")
14227 (license license:expat)))
14228
14229 (define-public emacs-auto-complete
14230 (package
14231 (name "emacs-auto-complete")
14232 (version "1.5.1")
14233 (source
14234 (origin
14235 (method git-fetch)
14236 (uri (git-reference
14237 (url "https://github.com/auto-complete/auto-complete")
14238 (commit (string-append "v" version))))
14239 (sha256
14240 (base32
14241 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
14242 (file-name (git-file-name name version))))
14243 (build-system emacs-build-system)
14244 (propagated-inputs
14245 (list emacs-popup))
14246 (home-page "https://github.com/auto-complete/auto-complete")
14247 (synopsis "Intelligent auto-completion extension for Emacs")
14248 (description
14249 "Auto-Complete is an intelligent auto-completion extension for Emacs.
14250 It extends the standard Emacs completion interface and provides an environment
14251 that allows users to concentrate more on their own work. Its features are:
14252 a visual interface, reduce overhead of completion by using statistic method,
14253 extensibility.")
14254 (license license:gpl3+)))
14255
14256 (define-public emacs-autocrypt
14257 (let ((commit "5b55f8d37545e9c441788627c17e350d7edf4055")
14258 (revision "0"))
14259 (package
14260 (name "emacs-autocrypt")
14261 (version (git-version "0.4.0" revision commit))
14262 (source (origin
14263 (method git-fetch)
14264 (uri (git-reference
14265 (url "https://git.sr.ht/~pkal/autocrypt")
14266 (commit commit)))
14267 (file-name (git-file-name name version))
14268 (sha256
14269 (base32
14270 "0b06xnjkgwjpxl96mdi674pmvdaiwncifi1a30wxhl1dwr7kr084"))))
14271 (build-system emacs-build-system)
14272 (home-page "https://git.sr.ht/~pkal/autocrypt")
14273 (synopsis "Autocrypt implementation for Emacs")
14274 (description "@code{emacs-autocrypt} is an implementation of
14275 Autocrypt (@url{https://autocrypt.org/}) for various Emacs MUAs. Autocrypt is
14276 a cryptographic protocol for email clients aiming to simplify key exchange and
14277 encryption.
14278
14279 Run @code{M-x autocrypt-create-account} to initialize an autocrypt key, and
14280 add @code{autocrypt-mode} to your MUA's hooks (@code{gnus-mode-hook},
14281 @code{message-mode-hook}, ...) to activate its usage.")
14282 (license license:cc0))))
14283
14284 (define-public emacs-nginx-mode
14285 (package
14286 (name "emacs-nginx-mode")
14287 (version "1.1.9")
14288 (source
14289 (origin
14290 (method git-fetch)
14291 (uri (git-reference
14292 (url "https://github.com/ajc/nginx-mode")
14293 (commit (string-append "v" version))))
14294 (file-name (git-file-name name version))
14295 (sha256
14296 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
14297 (build-system emacs-build-system)
14298 (home-page "https://github.com/ajc/nginx-mode")
14299 (synopsis "Emacs major mode for editing nginx config files")
14300 (description "This package provides an Emacs major mode for
14301 editing nginx config files.")
14302 (license license:gpl2+)))
14303
14304 (define-public emacs-stream
14305 (package
14306 (name "emacs-stream")
14307 (version "2.2.5")
14308 (source
14309 (origin
14310 (method url-fetch)
14311 (uri (string-append "https://elpa.gnu.org/packages/"
14312 "stream-" version ".tar"))
14313 (sha256
14314 (base32 "00c3n4gyxzv7vczqms0d62kl8zsmjfyxa92mwxn2snyx857a9jfw"))))
14315 (build-system emacs-build-system)
14316 (home-page "http://elpa.gnu.org/packages/stream.html")
14317 (synopsis "Implementation of streams for Emacs")
14318 (description "This library provides an implementation of streams for Emacs.
14319 Streams are implemented as delayed evaluation of cons cells.")
14320 (license license:gpl3+)))
14321
14322 (define-public emacs-cl-print
14323 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
14324 (revision "1"))
14325 (package
14326 (name "emacs-cl-print")
14327 (version (git-version "1.0" revision commit))
14328 (source
14329 (origin
14330 (method git-fetch)
14331 (uri (git-reference
14332 (url "https://github.com/emacsmirror/cl-print")
14333 (commit commit)))
14334 (file-name (git-file-name name version))
14335 (sha256
14336 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
14337 (build-system emacs-build-system)
14338 (home-page "https://github.com/emacsmirror/cl-print")
14339 (synopsis "CL-style generic printing")
14340 (description "This package provides a generic function,
14341 @code{cl-print-object}, to which the programmer can add any method they
14342 please.")
14343 (license license:gpl3+))))
14344
14345 (define-public emacs-el-search
14346 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
14347 (revision "2"))
14348 (package
14349 (name "emacs-el-search")
14350 (version (git-version "1.12.6.1" revision commit))
14351 (source
14352 (origin
14353 (method git-fetch)
14354 (uri (git-reference
14355 (url "https://github.com/emacsmirror/el-search")
14356 (commit commit)))
14357 (file-name (git-file-name name version))
14358 (sha256
14359 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
14360 (build-system emacs-build-system)
14361 (inputs
14362 (list emacs-stream emacs-cl-print))
14363 (home-page "https://github.com/emacsmirror/el-search")
14364 (synopsis "Expression based interactive search for emacs-lisp-mode")
14365 (description "This package provides expression based interactive search
14366 procedures for emacs-lisp-mode.")
14367 (license license:gpl3+))))
14368
14369 (define-public emacs-ht
14370 (package
14371 (name "emacs-ht")
14372 (version "2.3")
14373 (source
14374 (origin
14375 (method git-fetch)
14376 (uri (git-reference
14377 (url "https://github.com/Wilfred/ht.el")
14378 (commit version)))
14379 (file-name (git-file-name name version))
14380 (sha256
14381 (base32 "0can9v336lgnq0q2ha3js0565jzp3dlwwqxhcbx5swk5kp148f07"))))
14382 (build-system emacs-build-system)
14383 (propagated-inputs (list emacs-dash))
14384 (native-inputs
14385 (list emacs-ert-runner))
14386 (arguments
14387 `(#:tests? #t
14388 #:test-command '("ert-runner")))
14389 (home-page "https://github.com/Wilfred/ht.el")
14390 (synopsis "Hash table library for Emacs")
14391 (description
14392 "This package simplifies the use of hash tables in elisp. It also
14393 provides functions to convert hash tables from and to alists and plists.")
14394 (license license:gpl3+)))
14395
14396 (define-public emacs-log4e
14397 (package
14398 (name "emacs-log4e")
14399 (version "0.3.3")
14400 (source
14401 (origin
14402 (method git-fetch)
14403 (uri (git-reference
14404 (url "https://github.com/aki2o/log4e")
14405 (commit (string-append "v" version))))
14406 (file-name (git-file-name name version))
14407 (sha256
14408 (base32 "0dbnks76v05allzkhx9zmyqpn6sk5376n8k2rbpnaw6gmz1ib2fv"))))
14409 (build-system emacs-build-system)
14410 (arguments
14411 `(#:phases
14412 (modify-phases %standard-phases
14413 (add-after 'unpack 'remove-tests
14414 ;; Guile builder complains about null characters in some
14415 ;; strings of test files. Remove "test" directory (it is not
14416 ;; needed anyway).
14417 (lambda _
14418 (delete-file-recursively "test"))))))
14419 (home-page "https://github.com/aki2o/log4e")
14420 (synopsis "Logging framework for elisp")
14421 (description
14422 "This package provides a logging framework for elisp. It allows
14423 you to deal with multiple log levels.")
14424 (license license:gpl3+)))
14425
14426 (define-public emacs-denote
14427 (package
14428 (name "emacs-denote")
14429 (version "0.6.0")
14430 (source
14431 (origin
14432 (method git-fetch)
14433 (uri (git-reference
14434 (url "https://git.sr.ht/~protesilaos/denote")
14435 (commit version)))
14436 (file-name (git-file-name name version))
14437 (sha256
14438 (base32 "0wqrl2fdprmgffxg5xak881gs0g4ffdy2n8wcb4wbz3f6anhfaa5"))))
14439 (build-system emacs-build-system)
14440 (native-inputs (list texinfo))
14441 (home-page "https://protesilaos.com/emacs/denote/")
14442 (synopsis "Simple notes for Emacs")
14443 (description
14444 "Denote is a simple note-taking tool for Emacs. It is based on the idea that
14445 notes should follow a predictable and descriptive file-naming scheme. The
14446 file name must offer a clear indication of what the note is about, without
14447 reference to any other metadata. Denote basically streamlines the creation of
14448 such files while providing facilities to link between them.")
14449 (license license:gpl3+)))
14450
14451 (define-public emacs-logos
14452 (package
14453 (name "emacs-logos")
14454 (version "0.4.0")
14455 (source (origin
14456 (method git-fetch)
14457 (uri (git-reference
14458 (url "https://git.sr.ht/~protesilaos/logos")
14459 (commit version)))
14460 (file-name (git-file-name name version))
14461 (sha256
14462 (base32
14463 "1f40h8kbmza2rgmz84rgwbb4bwqkbfxnc3sc7gqshvxdkz3flbb7"))))
14464 (native-inputs (list texinfo))
14465 (build-system emacs-build-system)
14466 (arguments
14467 (list
14468 #:phases
14469 #~(modify-phases %standard-phases
14470 (add-after 'install 'makeinfo
14471 (lambda* (#:key outputs #:allow-other-keys)
14472 (invoke "emacs"
14473 "--batch"
14474 "--eval=(require 'ox-texinfo)"
14475 "--eval=(find-file \"README.org\")"
14476 "--eval=(org-texinfo-export-to-info)")
14477 (install-file "logos.info" (string-append #$output "/share/info")))))))
14478 (home-page "https://protesilaos.com/emacs/logos")
14479 (synopsis "Simple focus mode for Emacs")
14480 (description "This package provides a simple focus mode which can be
14481 applied to any buffer for reading, writing, or even doing a presentation. The
14482 buffer can be divided in pages using the @code{page-delimiter}, outline
14483 structure, or any other pattern.")
14484 (license (list license:gpl3+
14485 license:fdl1.3+)))) ; GFDLv1.3+ for the manual
14486
14487 (define-public emacs-tmr
14488 (package
14489 (name "emacs-tmr")
14490 (version "0.4.0")
14491 (source
14492 (origin
14493 (method git-fetch)
14494 (uri (git-reference
14495 (url "https://git.sr.ht/~protesilaos/tmr")
14496 (commit version)))
14497 (file-name (git-file-name name version))
14498 (sha256
14499 (base32 "1vz9zfqap221baiy41wpxph33g6h2plnanzgpjs0wk8dz1fpwfky"))))
14500 (build-system emacs-build-system)
14501 (arguments
14502 (list
14503 #:phases
14504 #~(modify-phases %standard-phases
14505 (add-after 'unpack 'patch-ffplay
14506 (lambda* (#:key inputs #:allow-other-keys)
14507 (let ((ffplay (search-input-file inputs "/bin/ffplay")))
14508 (make-file-writable "tmr.el")
14509 (substitute* "tmr.el"
14510 (("\"ffplay")
14511 (string-append "\"" ffplay)))))))))
14512 (native-inputs (list texinfo))
14513 (inputs (list ffmpeg))
14514 (home-page "https://protesilaos.com/emacs/tmr/")
14515 (synopsis "Set timers using a convenient notation")
14516 (description
14517 "TMR is an Emacs package that provides facilities for setting timers
14518 using a convenient notation.")
14519 (license license:gpl3+)))
14520
14521 (define-public emacs-gn-mode
14522 (package
14523 (name "emacs-gn-mode")
14524 (version "0.4.1")
14525 (source
14526 (origin
14527 (method git-fetch)
14528 (uri (git-reference
14529 (url "https://github.com/lashtear/gn-mode")
14530 (commit version)))
14531 (file-name (git-file-name name version))
14532 (sha256
14533 (base32 "0dz5kgzbgsssr38z2kg6m915cvfys42ag1k42bsra3la2pixywfx"))))
14534 (build-system emacs-build-system)
14535 (home-page "https://github.com/lashtear/gn-mode")
14536 (synopsis "Emacs major mode for editing GN (ninja generator) config files")
14537 (description
14538 "GN mode is a major mode for editing @acronym{GN,Ninja Generator} config
14539 files in Emacs. Files of this type (e.g., @file{BUILD.gn} or @file{*.gni})
14540 are common in Chromium-derived projects.")
14541 (license license:bsd-3)))
14542
14543 (define-public emacs-drag-stuff
14544 (package
14545 (name "emacs-drag-stuff")
14546 (version "0.3.0")
14547 (source
14548 (origin
14549 (method git-fetch)
14550 (uri (git-reference
14551 (url "https://github.com/rejeep/drag-stuff")
14552 (commit (string-append "v" version))))
14553 (file-name (git-file-name name version))
14554 (sha256
14555 (base32 "1jrr59iazih3imkl9ja1lbni9v3xv6b8gmqs015g2mxhlql35jka"))))
14556 (build-system emacs-build-system)
14557 (home-page "https://github.com/rejeep/drag-stuff")
14558 (synopsis "Drag stuff around in Emacs")
14559 (description
14560 "Drag Stuff is a minor mode for Emacs that makes it possible to drag
14561 stuff (words, region, lines) around in Emacs.")
14562 (license license:gpl3+)))
14563
14564 (define-public emacs-bazel
14565 ;; From 2021-11-21.
14566 ;; No releases available.
14567 (let ((commit "cdb2643dba39fe2bd64ba3b190b94d1ef1d83b18")
14568 (revision "0"))
14569 (package
14570 (name "emacs-bazel")
14571 (version (git-version "0" revision commit))
14572 (source (origin
14573 (method git-fetch)
14574 (uri (git-reference
14575 (url "https://github.com/bazelbuild/emacs-bazel-mode")
14576 (commit commit)))
14577 (file-name (git-file-name name version))
14578 (sha256
14579 (base32 "0ln06dprnivx9zxm6n23ppyx7x4kbn0f85pxwvkq32aq7wnqz82m"))))
14580 (build-system emacs-build-system)
14581 (home-page "https://github.com/bazelbuild/emacs-bazel-mode")
14582 (synopsis "Bazel support for Emacs")
14583 (description
14584 "This package provides support for the Bazel build system. See
14585 @uref{https://bazel.build/} for background on Bazel.")
14586 (license license:asl2.0))))
14587
14588 (define-public emacs-clue
14589 ;; There are no releases so far.
14590 (let ((commit "41895da52cf76f964d97cb8204406ab9828c4839")
14591 (revision "0"))
14592 (package
14593 (name "emacs-clue")
14594 (version (git-version "0" revision commit))
14595 (source (origin
14596 (method git-fetch)
14597 (uri (git-reference
14598 (url "https://github.com/AmaiKinono/clue")
14599 (commit commit)))
14600 (file-name (git-file-name name version))
14601 (sha256
14602 (base32 "08xpdpac82v5vwqqqgbh5imakl4pys6bpfacfk05pk88lw925ql8"))))
14603 (build-system emacs-build-system)
14604 (home-page "https://github.com/AmaiKinono/clue/")
14605 (synopsis "Connecting clues while reading code")
14606 (description
14607 "Clue is a tool for helping you take notes while reading code.
14608
14609 Code reading is all about finding connections between different locations in
14610 a project. With Clue, you can take notes about these connections in plain
14611 text (or your favorite markup language), and insert links to take you to these
14612 locations.")
14613 (license license:gpl3+))))
14614
14615 (define-public emacs-gntp
14616 (package
14617 (name "emacs-gntp")
14618 (version "0.1")
14619 (source
14620 (origin
14621 (method git-fetch)
14622 (uri (git-reference
14623 (url "https://github.com/tekai/gntp.el")
14624 (commit (string-append "v" version))))
14625 (file-name (git-file-name name version))
14626 (sha256
14627 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
14628 (build-system emacs-build-system)
14629 (home-page "https://github.com/tekai/gntp.el")
14630 (synopsis "Growl Notification Protocol for Emacs")
14631 (description
14632 "This package implements the Growl Notification Protocol GNTP
14633 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
14634 It is incomplete as it only lets you send but not receive
14635 notifications.")
14636 (license license:bsd-3)))
14637
14638 (define-public emacs-alert
14639 (package
14640 (name "emacs-alert")
14641 (version "1.3")
14642 (source
14643 (origin
14644 (method git-fetch)
14645 (uri (git-reference
14646 (url "https://github.com/jwiegley/alert")
14647 (commit (string-append "v" version))))
14648 (file-name (git-file-name name version))
14649 (sha256
14650 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
14651 (build-system emacs-build-system)
14652 (propagated-inputs
14653 (list emacs-gntp emacs-log4e))
14654 (home-page "https://github.com/jwiegley/alert")
14655 (synopsis "Growl-style notification system for Emacs")
14656 (description
14657 "Alert is a Growl-workalike for Emacs which uses a common notification
14658 interface and multiple, selectable \"styles\", whose use is fully
14659 customizable by the user.")
14660 (license license:gpl2+)))
14661
14662 (define-public emacs-zones
14663 (package
14664 (name "emacs-zones")
14665 (version "2019.7.13")
14666 (source
14667 (origin
14668 (method url-fetch)
14669 (uri (string-append "https://elpa.gnu.org/packages/"
14670 "zones-" version ".el"))
14671 (sha256
14672 (base32 "0qp1ba2pkqx9d35g7z8hf8qs2k455krf2a92l4rka3ipsbnmq5k1"))))
14673 (build-system emacs-build-system)
14674 (home-page "https://www.emacswiki.org/emacs/Zones")
14675 (synopsis "Define and act on multiple zones of buffer text")
14676 (description
14677 "Library @file{zones.el} lets you easily define and subsequently act on
14678 multiple zones of buffer text. You can think of this as enlarging the notion
14679 of region. In effect, it can remove the requirement of target text being
14680 a contiguous sequence of characters. A set of buffer zones is, in effect,
14681 a (typically) noncontiguous set of text.")
14682 (license license:gpl3+)))
14683
14684 (define-public emacs-mu4e-alert
14685 (package
14686 (name "emacs-mu4e-alert")
14687 (version "1.0")
14688 (source
14689 (origin
14690 (method git-fetch)
14691 (uri (git-reference
14692 (url "https://github.com/iqbalansari/mu4e-alert")
14693 (commit (string-append "v" version))))
14694 (file-name (git-file-name name version))
14695 (sha256
14696 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
14697 (build-system emacs-build-system)
14698 (propagated-inputs
14699 (list emacs-alert emacs-s emacs-ht mu))
14700 (home-page "https://github.com/iqbalansari/mu4e-alert")
14701 (synopsis "Desktop notification for mu4e")
14702 (description
14703 "This package provides desktop notifications for mu4e.
14704 Additionally it can display the number of unread emails in the
14705 mode-line.")
14706 (license license:gpl3+)))
14707
14708 (define-public emacs-mu4e-jump-to-list
14709 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
14710 (revision "1"))
14711 (package
14712 (name "emacs-mu4e-jump-to-list")
14713 (version (git-version "1.0" revision commit))
14714 (source
14715 (origin
14716 (method git-fetch)
14717 (uri (git-reference
14718 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
14719 (commit commit)))
14720 (file-name (git-file-name name version))
14721 (sha256
14722 (base32
14723 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
14724 (build-system emacs-build-system)
14725 (propagated-inputs
14726 (list mu))
14727 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
14728 (synopsis "Select and view mailing lists in mu4e")
14729 (description
14730 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
14731 automatically using existing List-ID headers in your mu database. Just press
14732 \"l\" in the headers view and any mailing list you've subscribed to will be
14733 automatically discovered and presented in recency order.")
14734 (license license:gpl3+))))
14735
14736 (define-public emacs-mentor
14737 (package
14738 (name "emacs-mentor")
14739 (version "0.4")
14740 (source
14741 (origin
14742 (method url-fetch)
14743 (uri (string-append "https://elpa.nongnu.org/nongnu/mentor-"
14744 version ".tar"))
14745 (sha256
14746 (base32
14747 "1n51yabm4npx62fpfn8rhky09x4y779ismdxa026fycy7va7ynzz"))))
14748 (build-system emacs-build-system)
14749 (propagated-inputs
14750 (list emacs-async emacs-xml-rpc))
14751 (home-page "https://elpa.nongnu.org/nongnu/mentor.html")
14752 (synopsis "Emacs front-end for the rTorrent bittorrent client")
14753 (description
14754 "Mentor is a GNU Emacs frontend for the rTorrent bittorrent client.
14755
14756 By default, it will start and run rTorrent from within Emacs but can also be
14757 configured to use an external rTorrent instance over XML-RPC.
14758
14759 This project aims to provide a feature complete and customizable interface,
14760 that will feel familiar to Emacs users. Key bindings are chosen to be as
14761 close to the vanilla rTorrent curses interface as possible.")
14762 (license license:gpl3+)))
14763
14764 (define-public emacs-message-view-patch
14765 (let ((commit "40bc2e554fc1d0b6f0c403192c0a3ceaa019a78d")
14766 (revision "2"))
14767 (package
14768 (name "emacs-message-view-patch")
14769 (version (git-version "0.2.0" revision commit))
14770 (source (origin
14771 (method git-fetch)
14772 (uri (git-reference
14773 (url "https://github.com/seanfarley/message-view-patch")
14774 (commit commit)))
14775 (file-name (git-file-name name version))
14776 (sha256
14777 (base32
14778 "0cmkiggrl42sjx31dwnzac32bs3q2ksmamkq1pjjl8fwshp4g8sv"))))
14779 (build-system emacs-build-system)
14780 (inputs (list emacs-magit))
14781 (home-page "https://github.com/seanfarley/message-view-patch")
14782 (synopsis "Colorize patch-like emails in mu4e or gnus")
14783 (description
14784 "Extension for mu4e or gnus to colorize patch-like emails with diff-mode.
14785 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
14786 been adapted to also work with mu4e.")
14787 (license license:gpl3+))))
14788
14789 (define-public emacs-mu4e-patch
14790 (deprecated-package "emacs-mu4e-patch" emacs-message-view-patch))
14791
14792 (define-public emacs-pretty-mode
14793 (package
14794 (name "emacs-pretty-mode")
14795 (version "2.0.3")
14796 (source
14797 (origin
14798 (method git-fetch)
14799 (uri (git-reference
14800 (url "https://github.com/akatov/pretty-mode/")
14801 (commit version)))
14802 (file-name (git-file-name name version))
14803 (sha256
14804 (base32
14805 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
14806 (build-system emacs-build-system)
14807 (home-page "https://github.com/akatov/pretty-mode")
14808 (synopsis "Redisplay parts of the buffer as Unicode symbols")
14809 (description
14810 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
14811 (license license:gpl3+)))
14812
14813 (define-public emacs-tempel
14814 (package
14815 (name "emacs-tempel")
14816 (version "0.5")
14817 (source (origin
14818 (method git-fetch)
14819 (uri (git-reference
14820 (url "https://github.com/minad/tempel")
14821 (commit version)))
14822 (file-name (git-file-name name version))
14823 (sha256
14824 (base32
14825 "1za73zszj373r8pxf89cwwfrwsf8dy6nxciw11adcccrm92xwdsz"))))
14826 (build-system emacs-build-system)
14827 (home-page "https://github.com/minad/tempel")
14828 (synopsis "Simple templates for Emacs")
14829 (description
14830 "Tempel is a tiny template package for Emacs, which uses the syntax of
14831 the Emacs Tempo library. You may also write your templates in Lisp.")
14832 (license license:gpl3+)))
14833
14834 (define-public emacs-yasnippet
14835 (package
14836 (name "emacs-yasnippet")
14837 (version "0.14.0")
14838 (source
14839 (origin
14840 (method git-fetch)
14841 (uri (git-reference
14842 (url "https://github.com/joaotavora/yasnippet")
14843 (commit version)))
14844 (file-name (git-file-name name version))
14845 (sha256
14846 (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
14847 (patches
14848 (search-patches "emacs-yasnippet-fix-tests.patch"))))
14849 (build-system emacs-build-system)
14850 (arguments
14851 `(#:tests? #t
14852 #:test-command '("emacs" "--batch"
14853 "-l" "yasnippet-tests.el"
14854 "-f" "ert-run-tests-batch-and-exit")
14855 #:phases
14856 (modify-phases %standard-phases
14857 ;; Set HOME, otherwise test-rebindings fails.
14858 (add-before 'check 'set-home
14859 (lambda _
14860 (setenv "HOME" (getcwd))
14861 #t)))))
14862 (home-page "https://github.com/joaotavora/yasnippet")
14863 (synopsis "Yet another snippet extension for Emacs")
14864 (description "YASnippet is a template system for Emacs. It allows you to
14865 type an abbreviation and automatically expand it into function templates.")
14866 (license license:gpl3+)))
14867
14868 (define-public emacs-yasnippet-snippets
14869 (package
14870 (name "emacs-yasnippet-snippets")
14871 (version "1.0")
14872 (source
14873 (origin
14874 (method git-fetch)
14875 (uri (git-reference
14876 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
14877 (commit version)))
14878 (file-name (git-file-name name version))
14879 (sha256
14880 (base32 "0m78jxhjyf4212ig2ncxr6bhhd6yx4c3nc8x4ylamzq21x4fl21r"))))
14881 (build-system emacs-build-system)
14882 (arguments
14883 `(#:include (cons* "^snippets\\/" %default-include)))
14884 (propagated-inputs
14885 (list emacs-yasnippet))
14886 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
14887 (synopsis "Collection of YASnippet snippets for many languages")
14888 (description "This package provides an extensive collection of YASnippet
14889 snippets. When this package is installed, the extra snippets it provides are
14890 automatically made available to YASnippet.")
14891 (license license:gpl3+)))
14892
14893 (define-public emacs-doom-snippets
14894 ;; Use the latest commit, as there are no tagged releases. Version is
14895 ;; extracted from main file.
14896 (let ((release "1.1.0")
14897 (revision "0")
14898 (commit "bc613f448eed1bd363e61c41691a61e9fd139534"))
14899 (package
14900 (name "emacs-doom-snippets")
14901 (version (git-version release revision commit))
14902 (source
14903 (origin
14904 (method git-fetch)
14905 (uri (git-reference
14906 (url "https://github.com/hlissner/doom-snippets")
14907 (commit commit)))
14908 (file-name (git-file-name name version))
14909 (sha256
14910 (base32 "0n4b2pr0gpn8vb2n1rckdq4jk9sj995a62yxk6z2ygw5ad7pkj8f"))))
14911 (build-system emacs-build-system)
14912 (arguments
14913 `(#:include (cons* "^.*\\/" %default-include)))
14914 (propagated-inputs
14915 (list emacs-yasnippet))
14916 (home-page "https://github.com/hlissner/doom-snippets")
14917 (synopsis "Doom Emacs' snippet library")
14918 (description
14919 "This package provides Yasnippets snippets for Doom Emacs. It also
14920 exposes a small API to assist in writing your own snippets.")
14921 (license license:expat))))
14922
14923 (define-public emacs-helm-c-yasnippet
14924 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
14925 (revision "1"))
14926 (package
14927 (name "emacs-helm-c-yasnippet")
14928 (version (string-append "0.6.7" "-" revision "."
14929 (string-take commit 7)))
14930 (source (origin
14931 (method git-fetch)
14932 (uri (git-reference
14933 (url "https://github.com/emacs-jp/helm-c-yasnippet")
14934 (commit commit)))
14935 (file-name (git-file-name name version))
14936 (sha256
14937 (base32
14938 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
14939 (build-system emacs-build-system)
14940 (propagated-inputs
14941 (list emacs-helm emacs-yasnippet))
14942 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
14943 (synopsis "Helm integration for Yasnippet")
14944 (description "This Emacs library provides Helm interface for
14945 Yasnippet.")
14946 (license license:gpl2+))))
14947
14948 (define-public emacs-helm-system-packages
14949 (package
14950 (name "emacs-helm-system-packages")
14951 (version "1.10.2")
14952 (source (origin
14953 (method git-fetch)
14954 (uri (git-reference
14955 (url "https://github.com/emacs-helm/helm-system-packages")
14956 (commit (string-append "v" version))))
14957 (file-name (git-file-name name version))
14958 (sha256
14959 (base32
14960 "13a8jpj4wwm0yjv8hnsizgjf8wi3r2ap87lyvw7g4c7snp2dydwa"))))
14961 (build-system emacs-build-system)
14962 (inputs
14963 (list recutils))
14964 (propagated-inputs
14965 (list emacs-helm))
14966 (arguments
14967 `(#:phases
14968 (modify-phases %standard-phases
14969 (add-after 'unpack 'configure
14970 (lambda* (#:key inputs outputs #:allow-other-keys)
14971 (let ((recutils (assoc-ref inputs "recutils")))
14972 ;; Specify the absolute file names of the various
14973 ;; programs so that everything works out-of-the-box.
14974 (substitute* "helm-system-packages-guix.el"
14975 (("recsel") (string-append recutils "/bin/recsel")))))))))
14976 (home-page "https://github.com/emacs-helm/helm-system-packages")
14977 (synopsis "Helm System Packages is an interface to your package manager")
14978 (description "List all available packages in Helm (with installed
14979 packages displayed in their own respective face). Fuzzy-search, mark and
14980 execute the desired action over any selections of packages: Install,
14981 uninstall, display packages details (in Org Mode) or insert details at point,
14982 find files owned by packages... And much more, including performing all the
14983 above over the network.")
14984 (license license:gpl3+)))
14985
14986 (define-public emacs-helm-org-rifle
14987 (package
14988 (name "emacs-helm-org-rifle")
14989 (version "1.7.1")
14990 (source
14991 (origin
14992 (method git-fetch)
14993 (uri (git-reference
14994 (url "https://github.com/alphapapa/helm-org-rifle")
14995 (commit version)))
14996 (file-name (git-file-name name version))
14997 (sha256
14998 (base32
14999 "0pm6va26kadjvbai4qsnjc2bk379w2nk6h3b5f0c2yv3q5na0p49"))))
15000 (build-system emacs-build-system)
15001 (propagated-inputs
15002 (list emacs-dash emacs-f emacs-helm emacs-org emacs-s))
15003 (home-page "https://github.com/alphapapa/helm-org-rifle")
15004 (synopsis "Rifle through Org files")
15005 (description "This package searches both headings and contents of entries
15006 in Org buffers and displays matching entries.")
15007 (license license:gpl3+)))
15008
15009 (define-public emacs-dired-git-info
15010 ;; Upstream has no proper release. The base version is extracted from the
15011 ;; "Version" keyword in the main file.
15012 (let ((commit "91d57e3a4c5104c66a3abc18e281ee55e8979176")
15013 (revision "0"))
15014 (package
15015 (name "emacs-dired-git-info")
15016 (version (git-version "0.3.1" revision commit))
15017 (source
15018 (origin
15019 (method git-fetch)
15020 (uri
15021 (git-reference
15022 (url "https://github.com/clemera/dired-git-info")
15023 (commit commit)))
15024 (file-name (git-file-name name version))
15025 (sha256
15026 (base32 "1dr4iv95s4barxxj56znqkl9z0lg5jw731jmjr01s6vn8ar69gik"))))
15027 (build-system emacs-build-system)
15028 (home-page "https://github.com/clemera/dired-git-info/")
15029 (synopsis "Show git info in Emacs Dired")
15030 (description "This Emacs package provides a minor mode which shows git
15031 information inside the Dired buffer.")
15032 (license license:gpl3+))))
15033
15034 (define-public emacs-dired-toggle-sudo
15035 (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
15036 (revision "0"))
15037 (package
15038 (name "emacs-dired-toggle-sudo")
15039 (version (git-version "1.0" revision commit))
15040 (source
15041 (origin
15042 (method git-fetch)
15043 (uri (git-reference
15044 (url "https://github.com/renard/dired-toggle-sudo")
15045 (commit commit)))
15046 (file-name (git-file-name name version))
15047 (sha256
15048 (base32
15049 "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car"))))
15050 (build-system emacs-build-system)
15051 (home-page "https://github.com/renard/dired-toggle-sudo")
15052 (synopsis "Browse directory with @code{sudo} privileges")
15053 (description "This package allows for the use of @code{dired} with
15054 @code{sudo} privileges.")
15055 (license license:wtfpl2))))
15056
15057 (define-public emacs-diredfl
15058 (package
15059 (name "emacs-diredfl")
15060 (version "0.4")
15061 (source
15062 (origin
15063 (method git-fetch)
15064 (uri
15065 (git-reference
15066 (url "https://github.com/purcell/diredfl")
15067 (commit version)))
15068 (file-name (git-file-name name version))
15069 (sha256
15070 (base32 "1zb2lz7rp58zqvpniqcsmqabi7nqg2d8bfd0hgmq68bn2hd25b5z"))))
15071 (build-system emacs-build-system)
15072 (home-page "https://github.com/purcell/diredfl/")
15073 (synopsis "Extra Emacs font lock rules for a more colourful Dired")
15074 (description "This library enables additional font locking in Dired mode.
15075 This is adapted from the extra font lock rules provided by Drew Adams' Dired+
15076 package.")
15077 (license license:gpl3+)))
15078
15079 (define-public emacs-memoize
15080 (package
15081 (name "emacs-memoize")
15082 (version "1.1")
15083 (source
15084 (origin
15085 (method git-fetch)
15086 (uri (git-reference
15087 (url "https://github.com/skeeto/emacs-memoize")
15088 (commit version)))
15089 (file-name (git-file-name name version))
15090 (sha256
15091 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
15092 (build-system emacs-build-system)
15093 (arguments
15094 `(#:tests? #t
15095 #:test-command '("emacs" "--batch"
15096 "-l" "memoize-test.el"
15097 "-f" "ert-run-tests-batch-and-exit")))
15098 (home-page "https://github.com/skeeto/emacs-memoize")
15099 (synopsis "Emacs lisp memoization library")
15100 (description "@code{emacs-memoize} is an Emacs library for
15101 memoizing functions.")
15102 (license license:unlicense)))
15103
15104 (define-public emacs-linum-relative
15105 (package
15106 (name "emacs-linum-relative")
15107 (version "0.6")
15108 (source
15109 (origin
15110 (method git-fetch)
15111 (uri (git-reference
15112 (url "https://github.com/coldnew/linum-relative")
15113 (commit version)))
15114 (file-name (git-file-name name version))
15115 (sha256
15116 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
15117 (build-system emacs-build-system)
15118 (home-page "https://github.com/coldnew/linum-relative")
15119 (synopsis "Relative line numbering for Emacs")
15120 (description "@code{emacs-linum-relative} displays the relative line
15121 number on the left margin in Emacs.")
15122 (license license:gpl2+)))
15123
15124 (define-public emacs-lin
15125 (package
15126 (name "emacs-lin")
15127 (version "0.3.0")
15128 (source (origin
15129 (method git-fetch)
15130 (uri (git-reference
15131 (url "https://git.sr.ht/~protesilaos/lin")
15132 (commit version)))
15133 (file-name (git-file-name name version))
15134 (sha256
15135 (base32
15136 "1w1mli2wrxbnwagn3rx5ygslmzlri3drm74nqgwpl4pwh66xi98a"))))
15137 (native-inputs (list texinfo))
15138 (build-system emacs-build-system)
15139 (arguments
15140 (list
15141 #:phases
15142 #~(modify-phases %standard-phases
15143 (add-after 'install 'makeinfo
15144 (lambda _
15145 (invoke "emacs"
15146 "--batch"
15147 "--eval=(require 'ox-texinfo)"
15148 "--eval=(find-file \"README.org\")"
15149 "--eval=(org-texinfo-export-to-info)")
15150 (install-file "lin.info" (string-append #$output "/share/info")))))))
15151 (home-page "https://protesilaos.com/emacs/lin")
15152 (synopsis "Make @command{hl-line-mode} more suitable for selection UIs")
15153 (description "Lin is a stylistic enhancement for Emacs’ built-in
15154 @command{hl-line-mode}. It remaps the hl-line face (or equivalent)
15155 buffer-locally to a style that is optimal for major modes where line selection
15156 is the primary mode of interaction.")
15157 (license (list license:gpl3+
15158 license:fdl1.3+)))) ; GFDLv1.3+ for the manual
15159
15160 (define-public emacs-idle-highlight
15161 (package
15162 (name "emacs-idle-highlight")
15163 (version "1.1.3")
15164 (source
15165 (origin
15166 (method git-fetch)
15167 (uri (git-reference
15168 (url "https://github.com/nonsequitur/idle-highlight-mode")
15169 (commit version)))
15170 (file-name (git-file-name name version))
15171 (sha256
15172 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
15173 (build-system emacs-build-system)
15174 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
15175 (synopsis "Highlights all occurrences of the word the point is on")
15176 (description
15177 "This Emacs package provides @code{idle-highlight-mode} that sets
15178 an idle timer to highlight all occurrences in the buffer of the word under
15179 the point.")
15180 (license license:gpl3+)))
15181
15182 (define-public emacs-ox-twbs
15183 (package
15184 (name "emacs-ox-twbs")
15185 (version "1.1.4")
15186 (source
15187 (origin
15188 (method git-fetch)
15189 (uri (git-reference
15190 (url "https://github.com/marsmining/ox-twbs")
15191 (commit (string-append "v" version))))
15192 (file-name (git-file-name name version))
15193 (sha256
15194 (base32 "0nffy7ivs8fw0dj3s66hbsby0riz5wrv7xzm8g9mrfvhki938pqa"))))
15195 (build-system emacs-build-system)
15196 (home-page "https://github.com/marsmining/ox-twbs")
15197 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
15198 (description
15199 "This Emacs package outputs your org-mode docs with a simple, clean and
15200 modern look. It implements a new HTML back-end for exporting org-mode docs as
15201 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
15202 jQuery and Bootstrap resources included via osscdn.")
15203 (license license:gpl3+)))
15204
15205 (define-public emacs-highlight-sexp
15206 (package
15207 (name "emacs-highlight-sexp")
15208 (version "1.0")
15209 (source
15210 (origin
15211 (method git-fetch)
15212 (uri (git-reference
15213 (url "https://github.com/daimrod/highlight-sexp")
15214 (commit (string-append "v" version))))
15215 (file-name (git-file-name name version))
15216 (sha256
15217 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
15218 (build-system emacs-build-system)
15219 (home-page "https://github.com/daimrod/highlight-sexp")
15220 (synopsis "Minor mode that highlights the s-exp at the current position")
15221 (description
15222 "This Emacs package highlights the s-exp at the current position.")
15223 (license license:gpl3+)))
15224
15225 (define-public emacs-highlight-stages
15226 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
15227 (revision "1"))
15228 (package
15229 (name "emacs-highlight-stages")
15230 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
15231 (source
15232 (origin
15233 (method git-fetch)
15234 (uri (git-reference
15235 (url "https://github.com/zk-phi/highlight-stages")
15236 (commit commit)))
15237 (file-name (git-file-name name version))
15238 (sha256
15239 (base32
15240 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
15241 (patches
15242 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
15243 (build-system emacs-build-system)
15244 (home-page "https://github.com/wigust/highlight-stages")
15245 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
15246 (description "@code{highlight-stages} provides an Emacs minor mode that
15247 highlights quasi-quoted expressions.")
15248 (license license:gpl3+))))
15249
15250 (define-public emacspeak
15251 (package
15252 (name "emacspeak")
15253 (version "53.0")
15254 (source
15255 (origin
15256 (method url-fetch)
15257 (uri (string-append
15258 "https://github.com/tvraman/emacspeak/releases/download/"
15259 version "/emacspeak-" version ".tar.bz2"))
15260 (sha256
15261 (base32 "0lasj4ggsh93ingf46n16wxfx5zzxvr1igikbmdqlz3i99j331gs"))))
15262 (build-system gnu-build-system)
15263 (arguments
15264 (list
15265 #:make-flags #~(list (string-append "prefix=" #$output))
15266 #:phases
15267 #~(modify-phases %standard-phases
15268 (replace 'configure
15269 (lambda* (#:key inputs outputs #:allow-other-keys)
15270 (setenv "SHELL" (which "sh"))
15271 ;; Ensure the tclespeak.so binary is found in the correct location
15272 ;; by adding the path to the Tclx library to the Tcl $auto_path
15273 ;; variable.
15274 (with-fluids ((%default-port-encoding "ISO-8859-1"))
15275 (substitute* "servers/espeak"
15276 (("package require Tclx")
15277 (string-append "set auto_path [linsert $auto_path 0 "
15278 #$tclx
15279 "/lib]\n"
15280 "package require Tclx"))))
15281 ;; Configure Emacspeak according to etc/install.org.
15282 (invoke "make" "config")))
15283 (add-after 'build 'build-espeak
15284 (lambda _
15285 (invoke "make" "espeak")))
15286 (replace 'install
15287 (lambda* (#:key inputs outputs #:allow-other-keys)
15288 (let* ((out (assoc-ref outputs "out"))
15289 (bin (string-append out "/bin"))
15290 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
15291 (info (string-append out "/share/info"))
15292 (emacs (search-input-file inputs "/bin/emacs")))
15293 ;; According to etc/install.org, the Emacspeak directory should
15294 ;; be copied to its installation destination.
15295 (for-each
15296 (lambda (file)
15297 (copy-recursively file (string-append lisp "/" file)))
15298 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
15299 "stumpwm" "xsl"))
15300 ;; Make sure emacspeak is loaded from the correct directory.
15301 (substitute* "run"
15302 (("\\./lisp/emacspeak-setup.el")
15303 (string-append lisp "/lisp/emacspeak-setup.el")))
15304 ;; Install the convenient startup script.
15305 (mkdir-p bin)
15306 (copy-file "run" (string-append bin "/emacspeak"))))))
15307 #:tests? #f)) ; no check target
15308 (inputs
15309 (list emacs espeak-ng perl tcl tclx))
15310 (home-page "http://emacspeak.sourceforge.net")
15311 (synopsis "Audio desktop interface for Emacs")
15312 (description
15313 "Emacspeak is a speech interface that allows visually impaired users to
15314 interact independently and efficiently with the computer. Audio
15315 formatting---a technique pioneered by AsTeR---and full support for W3C's Aural
15316 CSS (ACSS) allows Emacspeak to produce rich aural presentations of electronic
15317 information. By seamlessly blending all aspects of the Internet such as
15318 Web-surfing and messaging, Emacspeak speech-enables local and remote
15319 information via a consistent and well-integrated user interface.")
15320 (license license:gpl2+)))
15321
15322 (define-public emacs-adaptive-wrap
15323 (package
15324 (name "emacs-adaptive-wrap")
15325 (version "0.8")
15326 (source
15327 (origin
15328 (method url-fetch)
15329 (uri (string-append "https://elpa.gnu.org/packages/"
15330 "adaptive-wrap-" version ".tar"))
15331 (sha256
15332 (base32 "1gs1pqzywvvw4prj63vpj8abh8h14pjky11xfl23pgpk9l3ldrb0"))))
15333 (build-system emacs-build-system)
15334 (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html")
15335 (synopsis "Smart line-wrapping with wrap-prefix")
15336 (description
15337 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
15338 minor mode which sets the wrap-prefix property on the fly so that
15339 single-long-line paragraphs get word-wrapped in a way similar to what
15340 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
15341 actually changing the buffer's text.")
15342 (license license:gpl3+)))
15343
15344 (define-public emacs-diff-hl
15345 ;;; XXX: Latest release is not tagged. Use commit matching version bump.
15346 (let ((commit "37b00f3bad841e131d69442a89cbebc3041d996b"))
15347 (package
15348 (name "emacs-diff-hl")
15349 (version "1.9.0")
15350 (source
15351 (origin
15352 (method git-fetch)
15353 (uri (git-reference
15354 (url "https://github.com/dgutov/diff-hl")
15355 (commit commit)))
15356 (file-name (git-file-name name version))
15357 (sha256
15358 (base32 "0s3fcwk6c99n2q25bf0a33lphr9mcrxmvr5wz8qsj86jfbyi1is1"))))
15359 (build-system emacs-build-system)
15360 (home-page "https://github.com/dgutov/diff-hl")
15361 (synopsis
15362 "Highlight uncommitted changes using VC")
15363 (description
15364 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
15365 window (using the fringe, by default), allows you to jump between
15366 the hunks and revert them selectively.")
15367 (license license:gpl3+))))
15368
15369 (define-public emacs-diminish
15370 ;; XXX: Upstream did not tag last release.
15371 (let ((commit "fd486ef76e4c1d8211ae337a43b8bba106d4bca7")
15372 (revision "1"))
15373 (package
15374 (name "emacs-diminish")
15375 (version (git-version "0.46" revision commit))
15376 (source
15377 (origin
15378 (method git-fetch)
15379 (uri (git-reference
15380 (url "https://github.com/myrjola/diminish.el")
15381 (commit commit)))
15382 (file-name (git-file-name name version))
15383 (sha256
15384 (base32 "1vlgn7swwfzy6yr880698h3qsmfcqprcb1jvffkzmbvhvf458szf"))))
15385 (build-system emacs-build-system)
15386 (home-page "https://github.com/myrjola/diminish.el")
15387 (synopsis "Diminish minor modes with no modeline display")
15388 (description "@code{emacs-diminish} implements hiding or
15389 abbreviation of the mode line displays (lighters) of minor modes.")
15390 (license license:gpl3+))))
15391
15392 (define-public emacs-use-package
15393 (package
15394 (name "emacs-use-package")
15395 (version "2.4.1")
15396 (source (origin
15397 (method git-fetch)
15398 (uri (git-reference
15399 (url "https://github.com/jwiegley/use-package")
15400 (commit version)))
15401 (file-name (git-file-name name version))
15402 (sha256
15403 (base32
15404 "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"))))
15405 (build-system emacs-build-system)
15406 (native-inputs
15407 (list texinfo))
15408 (propagated-inputs
15409 (list emacs-diminish))
15410 (arguments
15411 `(#:tests? #t
15412 #:test-command '("emacs" "--batch"
15413 "-l" "use-package-tests.el"
15414 "-f" "ert-run-tests-batch-and-exit")
15415 #:phases
15416 (modify-phases %standard-phases
15417 (add-before 'install 'install-manual
15418 (lambda* (#:key outputs #:allow-other-keys)
15419 (let* ((out (assoc-ref outputs "out"))
15420 (info-dir (string-append out "/share/info")))
15421 (mkdir-p info-dir)
15422 (install-file "use-package.info" info-dir)
15423 #t)))
15424 (add-before 'install-manual 'build-manual
15425 (lambda _
15426 (invoke "makeinfo" "use-package.texi")
15427 #t)))))
15428 (home-page "https://github.com/jwiegley/use-package")
15429 (synopsis "Declaration for simplifying your .emacs")
15430 (description "The use-package macro allows you to isolate package
15431 configuration in your @file{.emacs} file in a way that is both
15432 performance-oriented and tidy.")
15433 (license license:gpl2+)))
15434
15435 (define-public emacs-leaf
15436 (package
15437 (name "emacs-leaf")
15438 (version "4.5.5")
15439 (source
15440 (origin
15441 (method url-fetch)
15442 (uri (string-append "https://elpa.gnu.org/packages/"
15443 "leaf-" version ".tar"))
15444 (sha256
15445 (base32 "1rdbrf84ijapiqhq72gy8r5xgk54sf0jy31pgd3w4rl1wywh5cas"))))
15446 (build-system emacs-build-system)
15447 (home-page "https://github.com/conao3/leaf.el")
15448 (synopsis "Simplify your init.el configuration, extended use-package")
15449 (description
15450 "This package provides macros that allows you to declaratively configure
15451 settings typical of an Elisp package with various keywords. The syntax is
15452 similar, but not identical to use-package -- overall, leaf aims at a cleaner
15453 and more predictable implementation.")
15454 (license license:agpl3+)))
15455
15456 (define-public emacs-strace-mode
15457 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
15458 (revision "1"))
15459 (package
15460 (name "emacs-strace-mode")
15461 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
15462 (source (origin
15463 (method git-fetch)
15464 (uri (git-reference
15465 (url "https://github.com/pkmoore/strace-mode")
15466 (commit commit)))
15467 (file-name (git-file-name name version))
15468 (sha256
15469 (base32
15470 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
15471 (build-system emacs-build-system)
15472 (home-page "https://github.com/pkmoore/strace-mode")
15473 (synopsis "Emacs major mode to highlight strace outputs")
15474 (description "@code{emacs-strace-mode} provides an Emacs major mode
15475 highlighting strace outputs.")
15476 (license license:gpl3+))))
15477
15478 (define-public emacs-default-encrypt
15479 (package
15480 (name "emacs-default-encrypt")
15481 (version "4.4")
15482 (source
15483 (origin
15484 (method url-fetch)
15485 (uri (string-append
15486 "https://informationelle-selbstbestimmung-im-internet.de"
15487 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
15488 (file-name (string-append "jl-encrypt-" version ".el"))
15489 (sha256
15490 (base32
15491 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
15492 (build-system emacs-build-system)
15493 (home-page
15494 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
15495 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
15496 (description
15497 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
15498 automatically encrypts messages that you send (e.g., email) when public keys
15499 for all recipients are available, and it protects you from accidentally
15500 sending un-encrypted messages. It can also be configured to automatically
15501 sign messages that you send. For details and instructions on how to use
15502 DefaultEncrypt, please refer to the home page or read the comments in the
15503 source file, @file{jl-encrypt.el}.")
15504 (license license:gpl3+)))
15505
15506 (define-public emacs-extend-smime
15507 (package
15508 (name "emacs-extend-smime")
15509 (version "3.3")
15510 (source
15511 (origin
15512 (method url-fetch)
15513 (uri (string-append
15514 "https://informationelle-selbstbestimmung-im-internet.de"
15515 "/emacs/jl-smime" version "/jl-smime.el"))
15516 (file-name (string-append "jl-smime-" version ".el"))
15517 (sha256
15518 (base32
15519 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
15520 (build-system emacs-build-system)
15521 (home-page
15522 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
15523 (synopsis "Improved S/MIME support for Gnus in Emacs")
15524 (propagated-inputs
15525 (list emacs-default-encrypt))
15526 (description
15527 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
15528 ;; should not be translated. The name "emacs-default-encrypt" refers to
15529 ;; the Guix package that provides DefaultEncrypt.
15530 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
15531 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
15532 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
15533 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
15534 certificates via LDAP and imports them into @code{gpgsm}. When certificates
15535 for all recipients are available, DefaultEncrypt automatically encrypts the
15536 message. For details and instructions on how to use ExtendSMIME, please refer
15537 to the home page or read the comments in the source file,
15538 @file{jl-smime.el}.")
15539 (license license:gpl3+)))
15540
15541 (define-public emacs-htmlize
15542 (package
15543 (name "emacs-htmlize")
15544 (version "1.56")
15545 (source
15546 (origin
15547 (method git-fetch)
15548 (uri (git-reference
15549 (url "https://github.com/hniksic/emacs-htmlize")
15550 (commit (string-append "release/" version))))
15551 (file-name (git-file-name name version))
15552 (sha256
15553 (base32 "14m8si49br62lgx7asdyp9jysq0v6midrfk32sxy521ydqmqr3c1"))))
15554 (build-system emacs-build-system)
15555 (home-page "https://github.com/hniksic/emacs-htmlize")
15556 (synopsis "Convert buffer text and decorations to HTML")
15557 (description "@code{emacs-htmlize} converts the buffer text and
15558 the associated decorations to HTML. Output to CSS, inline CSS and
15559 fonts is supported.")
15560 (license license:gpl2+)))
15561
15562 (define-public emacs-xmlgen
15563 (package
15564 (name "emacs-xmlgen")
15565 (version "0.5")
15566 (source
15567 (origin
15568 (method git-fetch)
15569 (uri (git-reference
15570 (url "https://github.com/philjackson/xmlgen")
15571 (commit version)))
15572 (file-name (git-file-name name version))
15573 (sha256
15574 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
15575 (build-system emacs-build-system)
15576 (arguments
15577 `(#:tests? #t
15578 #:test-command '("emacs" "--batch"
15579 "-l" "xmlgen-test.el"
15580 "-f" "ert-run-tests-batch-and-exit")))
15581 (home-page "https://github.com/philjackson/xmlgen")
15582 (synopsis "S-expression to XML domain specific language (DSL) in
15583 Emacs Lisp")
15584 (description "@code{emacs-xmlgen} provides S-expression to XML
15585 conversion for Emacs Lisp.")
15586 (license license:gpl2+)))
15587
15588 (define-public emacs-cdlatex
15589 (package
15590 (name "emacs-cdlatex")
15591 (version "4.7")
15592 (source
15593 (origin
15594 (method git-fetch)
15595 (uri (git-reference
15596 (url "https://github.com/cdominik/cdlatex")
15597 (commit version)))
15598 (file-name (git-file-name name version))
15599 (sha256
15600 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
15601 (build-system emacs-build-system)
15602 (propagated-inputs
15603 (list emacs-auctex))
15604 (home-page "https://github.com/cdominik/cdlatex")
15605 (synopsis "Fast Emacs input methods for LaTeX environments and
15606 math")
15607 (description "CDLaTeX is an Emacs minor mode supporting fast
15608 insertion of environment templates and math in LaTeX. Similar
15609 commands are also offered as part of the AUCTeX package, but it is not
15610 the same - CDLaTeX focuses on speediness for inserting LaTeX
15611 constructs.")
15612 (license license:gpl3+)))
15613
15614 (define-public emacs-cnfonts
15615 (package
15616 (name "emacs-cnfonts")
15617 (version "0.9.1")
15618 (source
15619 (origin
15620 (method git-fetch)
15621 (uri (git-reference
15622 (url "https://github.com/tumashu/cnfonts")
15623 (commit (string-append "v" version))))
15624 (file-name (git-file-name name version))
15625 (sha256
15626 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
15627 (build-system emacs-build-system)
15628 (home-page "https://github.com/tumashu/cnfonts")
15629 (synopsis "Emacs Chinese fonts setup tool")
15630 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
15631 configuration of Chinese fonts.")
15632 (license license:gpl2+)))
15633
15634 (define-public emacs-boon
15635 (package
15636 (name "emacs-boon")
15637 (version "1.2")
15638 (source
15639 (origin
15640 (method git-fetch)
15641 (uri (git-reference
15642 (url "https://github.com/jyp/boon")
15643 (commit version)))
15644 (file-name (git-file-name name version))
15645 (sha256
15646 (base32 "18il2licf8pgfcrpx2bk55gpf8f537kb9cxqz83jldkhiyry74il"))))
15647 (build-system emacs-build-system)
15648 (propagated-inputs
15649 (list emacs-dash emacs-expand-region emacs-multiple-cursors
15650 emacs-powerline emacs-spaceline))
15651 (home-page "https://github.com/jyp/boon")
15652 (synopsis "Ergonomic command mode for Emacs")
15653 (description "Boon is a complete package for modal editing with a focus on
15654 ergonomics and modularity. Spacial allocation of keys comes first, mnemonics
15655 second. Most common operations are mapped to the home row, common editing
15656 commands are bound to keys reachable with the left hand and movement keys are
15657 reached with the right hand.")
15658 (license license:gpl3+)))
15659
15660 (define-public emacs-cc-mode
15661 (package
15662 (name "emacs-cc-mode")
15663 (version "5.35")
15664 (source
15665 (origin
15666 (method hg-fetch)
15667 (uri (hg-reference
15668 (url "http://hg.code.sf.net/p/cc-mode/cc-mode")
15669 (changeset
15670 (string-append "Release_"
15671 (string-replace-substring version "." "_")))))
15672 (file-name (hg-file-name name version))
15673 (sha256
15674 (base32 "03cvl61baccx57zd62nz2wy4hvij5hl2syg7byaxgrs4c7grr414"))))
15675 (build-system emacs-build-system)
15676 (arguments
15677 '(#:tests? #t
15678 #:test-command '("make" "test")
15679 #:phases
15680 (modify-phases %standard-phases
15681 (add-before 'install 'make-info
15682 (lambda _
15683 (invoke "make" "info"))))))
15684 (native-inputs
15685 (list texinfo))
15686 (home-page "http://cc-mode.sourceforge.net/")
15687 (synopsis "Framework for creating major modes for C-style languages")
15688 (description
15689 "CC Mode is an Emacs and XEmacs mode for editing C and other languages with
15690 similar syntax; currently C++, Objective-C, Java, CORBA's IDL, Pike, and AWK.")
15691 (license license:gpl3+)))
15692
15693 (define-public emacs-csharp-mode
15694 (package
15695 (name "emacs-csharp-mode")
15696 (version "1.1.1")
15697 (source
15698 (origin
15699 (method git-fetch)
15700 (uri (git-reference
15701 (url "https://github.com/josteink/csharp-mode")
15702 (commit version)))
15703 (file-name (git-file-name name version))
15704 (sha256
15705 (base32 "0wfd4jdjsq8qp6pavf25y87dxvlnsqapfi4c4m3xj24baalr2dpq"))))
15706 (build-system emacs-build-system)
15707 (home-page "https://github.com/josteink/csharp-mode")
15708 (synopsis "Major mode for C# code")
15709 (description
15710 "This is a C# editing mode for Emacs, based on CC mode. It handles
15711 syntax coloring, indentation, insertion of matched pairs of curly braces and
15712 documentation generation. In addition, it provides menu-based navigation
15713 using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.")
15714 (license license:gpl3+)))
15715
15716 (define-public emacs-vala-mode
15717 ;; Upstream has no tagged release.
15718 (let ((commit "d696a8177e94c81ea557ad364a3b3dcc3abbc50f")
15719 (revision "0"))
15720 (package
15721 (name "emacs-vala-mode")
15722 (version (git-version "0.1" revision commit))
15723 (source
15724 (origin
15725 (method git-fetch)
15726 (uri (git-reference
15727 (url "https://github.com/rrthomas/vala-mode")
15728 (commit commit)))
15729 (file-name (git-file-name name version))
15730 (sha256
15731 (base32 "0g5pdq757z9d8rk489n5ilhqipdc4i4sfkjwwrxyvgjlapjc04c0"))))
15732 (build-system emacs-build-system)
15733 (arguments
15734 '(#:phases
15735 (modify-phases %standard-phases
15736 (add-after 'unpack 'disable-multiline-support
15737 (lambda* (#:key inputs #:allow-other-keys)
15738 (make-file-writable "vala-mode.el")
15739 (emacs-batch-edit-file "vala-mode.el"
15740 '(progn
15741 (require 'thingatpt) ;; beginning-of-thing, end-of-thing
15742 (goto-char (point-min))
15743 (save-excursion
15744 (re-search-forward ";; Support multiline strings")
15745 (goto-char (match-beginning 0))
15746 (kill-sexp)
15747 (insert ";; FIXME: Support multiline strings
15748 (c-lang-defconst c-multiline-string-start-char vala nil)"))
15749 (save-excursion
15750 (re-search-forward "(defcustom vala-multiline-strings")
15751 (goto-char (match-beginning 0))
15752 (insert ";; FIXME: Support multiline strings\n")
15753 (comment-region (beginning-of-thing 'sexp)
15754 (end-of-thing 'sexp)))
15755 (basic-save-buffer))))))))
15756 (home-page "https://github.com/rrthomas/vala-mode")
15757 (synopsis "Vala mode for Emacs")
15758 (description
15759 "This package provides a major mode for editing .vala and .vapi files
15760 in Emacs.")
15761 (license license:gpl2+))))
15762
15763 (define-public emacs-php-mode
15764 (package
15765 (name "emacs-php-mode")
15766 (version "1.24.1")
15767 (source
15768 (origin
15769 (method git-fetch)
15770 (uri (git-reference
15771 (url "https://github.com/ejmr/php-mode")
15772 (commit (string-append "v" version))))
15773 (file-name (git-file-name name version))
15774 (sha256
15775 (base32 "06xgmlbvqhkrnk6390mdbpjij34msxxwzqmagi6zpwpsf38mn6qf"))))
15776 (build-system emacs-build-system)
15777 (arguments
15778 `(#:phases
15779 (modify-phases %standard-phases
15780 (add-after 'unpack 'enter-source-directory
15781 (lambda _
15782 (chdir "lisp"))))))
15783 (propagated-inputs (list emacs-projectile))
15784 (home-page "https://github.com/ejmr/php-mode")
15785 (synopsis "Major mode for editing PHP code")
15786 (description
15787 "PHP mode is a major mode for editing PHP source code. It's an extension
15788 of C mode; thus it inherits all C mode's navigation functionality. But it
15789 colors according to the PHP grammar and indents according to the PEAR coding
15790 guidelines. It also includes a couple handy IDE-type features such as
15791 documentation search and a source and class browser.")
15792 (license license:gpl3+)))
15793
15794 (define-public emacs-pos-tip
15795 (package
15796 (name "emacs-pos-tip")
15797 (version "0.4.6")
15798 (source
15799 (origin
15800 (method git-fetch)
15801 (uri (git-reference
15802 (url "https://github.com/pitkali/pos-tip")
15803 (commit version)))
15804 (file-name (git-file-name name version))
15805 (sha256
15806 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
15807 (build-system emacs-build-system)
15808 ;; The following functions and variables needed by emacs-pos-tip are
15809 ;; not included in emacs-minimal:
15810 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
15811 (arguments `(#:emacs ,emacs))
15812 (home-page "https://github.com/pitkali/pos-tip")
15813 (synopsis "Show tooltip at point")
15814 (description "The standard library tooltip.el provides a function for
15815 displaying a tooltip at the mouse position. However, locating a tooltip at an
15816 arbitrary buffer position in a window is not easy. Pos-tip provides such a
15817 function to be used by other frontend programs.")
15818 (license license:gpl2+)))
15819
15820 (define-public emacs-pyim-basedict
15821 ;; XXX: The commit below points to the lastest (un-tagged) release.
15822 (let ((commit "d61af27686f7a39e6c138b7261a686e7ea7a0ef7"))
15823 (package
15824 (name "emacs-pyim-basedict")
15825 (version "0.5.4")
15826 (source
15827 (origin
15828 (method git-fetch)
15829 (uri (git-reference
15830 (url "https://github.com/tumashu/pyim-basedict")
15831 (commit commit)))
15832 (file-name (git-file-name name version))
15833 (sha256
15834 (base32 "0fzyh8qmicq2vy9j1ca708ir67dpxp1cwjaw0sw469p24cvj12yy"))))
15835 (build-system emacs-build-system)
15836 (propagated-inputs
15837 (list emacs-pyim))
15838 (home-page "https://github.com/tumashu/pyim-basedict")
15839 (synopsis "Input method dictionary of pyim")
15840 (description "Pyim-basedict is the default pinyin input method dictionary,
15841 containing words from the Rime project.")
15842 (license license:gpl2+))))
15843
15844 (define-public emacs-pyim
15845 (package
15846 (name "emacs-pyim")
15847 (version "5.2.6")
15848 (source
15849 (origin
15850 (method url-fetch)
15851 (uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
15852 (sha256
15853 (base32 "17jx7hbndm7b7b22z59g4h3nkwhydc0kq9447nhafr8hz2xrdlp6"))))
15854 (build-system emacs-build-system)
15855 (propagated-inputs
15856 (list emacs-async emacs-popup emacs-posframe emacs-xr))
15857 (home-page "https://github.com/tumashu/pyim")
15858 (synopsis "Chinese input method")
15859 (description
15860 "This package provides a Chinese input method which supports quanpin,
15861 shuangpin, wubi and cangjie.")
15862 (license license:gpl2+)))
15863
15864 (define-public emacs-pinyinlib
15865 (package
15866 (name "emacs-pinyinlib")
15867 (version "0.1.1")
15868 (source
15869 (origin
15870 (method git-fetch)
15871 (uri (git-reference
15872 (url "https://github.com/cute-jumper/pinyinlib.el")
15873 (commit version)))
15874 (file-name (git-file-name name version))
15875 (sha256
15876 (base32
15877 "1nwj4c3y0kdlkf3jqd2dnibaiazrq6qcj533xk2qw4wmx072yij0"))))
15878 (build-system emacs-build-system)
15879 (home-page "https://github.com/cute-jumper/pinyinlib.el")
15880 (synopsis "Convert first letter of Pinyin to Chinese characters")
15881 (description
15882 "This Emacs library provides functionality for converting the first
15883 letter of Pinyin to Simplified/Traditional Chinese characters.")
15884 (license license:gpl3+)))
15885
15886 (define-public emacs-reverse-im
15887 (package
15888 (name "emacs-reverse-im")
15889 (version "0.0.8")
15890 (source
15891 (origin
15892 (method git-fetch)
15893 (uri (git-reference
15894 (url "https://github.com/a13/reverse-im.el")
15895 (commit (string-append "v" version))))
15896 (file-name (git-file-name name version))
15897 (sha256
15898 (base32 "1h4gpyqir0kqf6a7ni8dbqwd4mr33imay0fmprrpfpfqxj0lj7c1"))))
15899 (build-system emacs-build-system)
15900 (home-page "https://github.com/a13/reverse-im.el")
15901 (synopsis "Reverse mapping for non-default system layouts")
15902 (description
15903 "Reverse IM provides a minor mode that toggles translations for all input
15904 methods from a given list.")
15905 (license license:gpl3+)))
15906
15907 (define-public emacs-mini-frame
15908 (let ((commit "60838f3cab438dcbda8eaa15ab3e5d1af88910e9")
15909 (revision "0"))
15910 (package
15911 (name "emacs-mini-frame")
15912 (version (git-version "1.19" revision commit))
15913 (source
15914 (origin
15915 (uri (git-reference
15916 (url "https://github.com/muffinmad/emacs-mini-frame.git")
15917 (commit commit)))
15918 (method git-fetch)
15919 (sha256
15920 (base32 "0q01iymz657bg3mcmq7vcl8r0ypsa1pqj1p6gxs7ywx1d33lan4d"))
15921 (file-name (git-file-name name version))))
15922 (build-system emacs-build-system)
15923 (home-page "https://github.com/muffinmad/emacs-mini-frame")
15924 (synopsis "Show minibuffer in child frame")
15925 (description
15926 "@dfn{mini-frame-mode} adds an advice around @code{read-from-minibuffer}
15927 to show the minibuffer as a child frame on top of the current frame.
15928 @code{find-file} and similar functions associated mini-buffers may appear at
15929 the center of the screen and not at the bottom.")
15930 (license license:gpl3+))))
15931
15932 (define-public emacs-posframe
15933 (package
15934 (name "emacs-posframe")
15935 (version "1.1.8")
15936 (source
15937 (origin
15938 (method url-fetch)
15939 (uri (string-append "https://elpa.gnu.org/packages/"
15940 "posframe-" version ".tar"))
15941 (sha256
15942 (base32 "0560f05c2rh6jkdba4yq9qbazfz6qbdrymqm5zcihvz7cy019dzm"))))
15943 (build-system emacs-build-system)
15944 ;; emacs-minimal does not include the function font-info.
15945 (arguments
15946 `(#:emacs ,emacs))
15947 (home-page "https://github.com/tumashu/posframe")
15948 (synopsis "Pop a posframe (a child frame) at point")
15949 (description
15950 "Posframe can pop a posframe at point. A posframe is a child frame
15951 displayed within its root window's buffer. Posframe is fast and works well
15952 with CJK languages.")
15953 (license license:gpl3+)))
15954
15955 (define-public emacs-el2org
15956 (package
15957 (name "emacs-el2org")
15958 (version "0.6.0")
15959 (source
15960 (origin
15961 (method git-fetch)
15962 (uri (git-reference
15963 (url "https://github.com/tumashu/el2org")
15964 (commit (string-append "v" version))))
15965 (file-name (git-file-name name version))
15966 (sha256
15967 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
15968 (build-system emacs-build-system)
15969 (home-page "https://github.com/tumashu/el2org")
15970 (synopsis "Convert Emacs-lisp file to org file")
15971 (description "El2org is a simple tool, which can convert Emacs-lisp file
15972 to org file, you can use this tool to write orgify commentary.")
15973 (license license:gpl2+)))
15974
15975 (define-public emacs-muse
15976 (package
15977 (name "emacs-muse")
15978 (version "3.20.2")
15979 (source
15980 (origin
15981 (method url-fetch)
15982 (uri (string-append "https://elpa.gnu.org/packages/"
15983 "muse-" version ".tar"))
15984 (sha256
15985 (base32 "0g2ff6x45x2k5dnkp31sk3bjj92jyhhnar7l5hzn8vp22l0rv8wn"))))
15986 (build-system emacs-build-system)
15987 (home-page "https://www.gnu.org/software/emacs-muse")
15988 (synopsis "Authoring and publishing environment for Emacs")
15989 (description
15990 "Emacs Muse (also known as Muse) is an authoring and publishing
15991 environment for Emacs. It simplifies the process of writing documents and
15992 publishing them to various output formats such as HTML, LaTeX, or PDF.")
15993 (license license:gpl3+)))
15994
15995 (define-public emacs-mustache
15996 (package
15997 (name "emacs-mustache")
15998 (version "0.23")
15999 (source
16000 (origin
16001 (method git-fetch)
16002 (uri (git-reference
16003 (url "https://github.com/Wilfred/mustache.el")
16004 (commit version)))
16005 (file-name (git-file-name name version))
16006 (sha256
16007 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
16008 (build-system emacs-build-system)
16009 (propagated-inputs
16010 (list emacs-dash emacs-ht emacs-s))
16011 (home-page "https://github.com/Wilfred/mustache.el")
16012 (synopsis "Mustache templating library for Emacs")
16013 (description "Mustache templating library for Emacs, mustache is
16014 a simple web template system, which is described as a logic-less system
16015 because it lacks any explicit control flow statements, both looping and
16016 conditional evaluation can be achieved using section tags processing lists
16017 and lambdas.")
16018 (license license:gpl3+)))
16019
16020 (define-public emacs-org2web
16021 (package
16022 (name "emacs-org2web")
16023 (version "0.9.1")
16024 (source
16025 (origin
16026 (method git-fetch)
16027 (uri (git-reference
16028 (url "https://github.com/tumashu/org2web")
16029 (commit (string-append "v" version))))
16030 (file-name (git-file-name name version))
16031 (sha256
16032 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
16033 (build-system emacs-build-system)
16034 (propagated-inputs
16035 (list emacs-dash emacs-el2org emacs-ht emacs-mustache
16036 emacs-simple-httpd))
16037 (home-page "https://github.com/tumashu/org2web")
16038 (synopsis "Static site generator based on org-mode")
16039 (description "Org2web is a static site generator based on org-mode,
16040 which code derived from Kelvin H's org-page.")
16041 (license license:gpl2+)))
16042
16043 (define-public emacs-meow
16044 (package
16045 (name "emacs-meow")
16046 (version "1.4.2")
16047 (source
16048 (origin
16049 (method git-fetch)
16050 (uri (git-reference
16051 (url "https://github.com/meow-edit/meow")
16052 (commit (string-append "v" version))))
16053 (file-name (git-file-name name version))
16054 (sha256
16055 (base32 "11iz95lm25vpdc3plpm3h1zlmfmfz08xlman8iqk5fa13636v7hj"))))
16056 (build-system emacs-build-system)
16057 (home-page "https://github.com/meow-edit/meow")
16058 (synopsis "Yet another modal editing on Emacs")
16059 (description "Meow is yet another modal editing mode for Emacs. It aims
16060 to blend modal editing into Emacs with minimum interface with its original
16061 key-bindings, avoiding most if not all the hassle introduced by key-binding
16062 conflicts.")
16063 (license license:gpl3+)))
16064
16065 (define-public emacs-xelb
16066 (package
16067 (name "emacs-xelb")
16068 (version "0.18")
16069 (source (origin
16070 (method url-fetch)
16071 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
16072 version ".tar"))
16073 (sha256
16074 (base32
16075 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
16076 (build-system emacs-build-system)
16077 ;; The following functions and variables needed by emacs-xelb are
16078 ;; not included in emacs-minimal:
16079 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
16080 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
16081 ;; x-display-pixel-width, x-display-pixel-height
16082 (arguments
16083 `(#:emacs ,emacs
16084 #:phases
16085 (modify-phases %standard-phases
16086 (add-after 'unpack 'regenerate-el-files
16087 (lambda* (#:key inputs #:allow-other-keys)
16088 (invoke "make"
16089 (string-append "PROTO_PATH="
16090 (assoc-ref inputs "xcb-proto")
16091 "/share/xcb")
16092 (string-append "EMACS_BIN="
16093 (assoc-ref inputs "emacs")
16094 "/bin/emacs -Q")))))))
16095 (native-inputs (list xcb-proto))
16096 (home-page "https://github.com/ch11ng/xelb")
16097 (synopsis "X protocol Emacs Lisp binding")
16098 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
16099 X11 protocol based on the XML description files from the XCB project. It
16100 features an object-oriented API and permits a certain degree of concurrency.
16101 It should enable you to implement low-level X11 applications.")
16102 (license license:gpl3+)))
16103
16104 (define-public emacs-exwm
16105 (package
16106 (name "emacs-exwm")
16107 (version "0.26")
16108 (synopsis "Emacs X window manager")
16109 (source
16110 (origin
16111 (method url-fetch)
16112 (uri (string-append "https://elpa.gnu.org/packages/"
16113 "exwm-" version ".tar"))
16114 (sha256
16115 (base32 "03pg0r8a5vb1wc5grmjgzql74p47fniv47x39gdll5s3cq0haf6q"))))
16116 (build-system emacs-build-system)
16117 (propagated-inputs
16118 (list emacs-xelb))
16119 (inputs
16120 (list xhost dbus))
16121 ;; The following functions and variables needed by emacs-exwm are
16122 ;; not included in emacs-minimal:
16123 ;; scroll-bar-mode, fringe-mode
16124 ;; x-display-pixel-width, x-display-pixel-height
16125 (arguments
16126 `(#:emacs ,emacs
16127 #:phases
16128 (modify-phases %standard-phases
16129 (add-after 'build 'install-xsession
16130 (lambda* (#:key inputs outputs #:allow-other-keys)
16131 (let* ((out (assoc-ref outputs "out"))
16132 (xsessions (string-append out "/share/xsessions"))
16133 (bin (string-append out "/bin"))
16134 (exwm-executable (string-append bin "/exwm")))
16135 ;; Add a .desktop file to xsessions
16136 (mkdir-p xsessions)
16137 (mkdir-p bin)
16138 (make-desktop-entry-file
16139 (string-append xsessions "/exwm.desktop")
16140 #:name ,name
16141 #:comment ,synopsis
16142 #:exec exwm-executable
16143 #:try-exec exwm-executable)
16144 ;; Add a shell wrapper to bin
16145 (with-output-to-file exwm-executable
16146 (lambda _
16147 (format #t "#!~a ~@
16148 ~a +SI:localuser:$USER ~@
16149 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
16150 (search-input-file inputs "/bin/sh")
16151 (search-input-file inputs "/bin/xhost")
16152 (search-input-file inputs "/bin/dbus-launch")
16153 (search-input-file inputs "/bin/emacs")
16154 '(cond
16155 ((file-exists-p "~/.exwm")
16156 (load-file "~/.exwm"))
16157 ((not (featurep 'exwm))
16158 (require 'exwm)
16159 (require 'exwm-config)
16160 (exwm-config-default)
16161 (message (concat "exwm configuration not found. "
16162 "Falling back to default configuration...")))))))
16163 (chmod exwm-executable #o555)
16164 #t))))))
16165 (home-page "https://github.com/ch11ng/exwm")
16166 (description
16167 "EXWM is a full-featured tiling X window manager for Emacs built on top
16168 of XELB.")
16169 (license license:gpl3+)))
16170
16171 (define-public emacs-xelb-no-x-toolkit
16172 (package
16173 (inherit emacs-xelb)
16174 (name "emacs-xelb-no-x-toolkit")
16175 (arguments
16176 (substitute-keyword-arguments (package-arguments emacs-xelb)
16177 ((#:emacs emacs) `,emacs-no-x-toolkit)))))
16178
16179 (define-public emacs-exwm-no-x-toolkit
16180 (package
16181 (inherit emacs-exwm)
16182 (name "emacs-exwm-no-x-toolkit")
16183 (synopsis "Emacs X window manager (without an X toolkit)")
16184 (propagated-inputs
16185 (list emacs-xelb-no-x-toolkit))
16186 (arguments
16187 (substitute-keyword-arguments (package-arguments emacs-exwm)
16188 ((#:emacs emacs) `,emacs-no-x-toolkit)))))
16189
16190 (define-public emacs-switch-window
16191 (package
16192 (name "emacs-switch-window")
16193 (version "1.6.2")
16194 (source
16195 (origin
16196 (method git-fetch)
16197 (uri (git-reference
16198 (url "https://github.com/dimitri/switch-window")
16199 (commit (string-append "v" version))))
16200 (file-name (git-file-name name version))
16201 (sha256
16202 (base32
16203 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
16204 (build-system emacs-build-system)
16205 (home-page "https://github.com/dimitri/switch-window")
16206 (synopsis "Emacs window switch tool")
16207 (description "Switch-window is an emacs window switch tool, which
16208 offer a visual way to choose a window to switch to, delete, split or
16209 other operations.")
16210 (license license:wtfpl2)))
16211
16212 (define-public emacs-exwm-x
16213 (package
16214 (name "emacs-exwm-x")
16215 (version "2.0.2")
16216 (synopsis "Derivative window manager based on EXWM")
16217 (source
16218 (origin
16219 (method git-fetch)
16220 (uri (git-reference
16221 (url "https://github.com/tumashu/exwm-x")
16222 (commit (string-append "v" version))))
16223 (file-name (git-file-name name version))
16224 (sha256
16225 (base32
16226 "0h248mma7kky30jr9bbhmp95wchl2cx5p6kh0gxmzpbc247dn2cc"))))
16227 (build-system emacs-build-system)
16228 (propagated-inputs
16229 (list emacs-counsel emacs-exwm emacs-switch-window emacs-use-package))
16230 (inputs
16231 (list xhost dbus))
16232 ;; Need emacs instead of emacs-minimal,
16233 ;; for emacs's bin path will be inserted into bin/exwm-x file.
16234 (arguments
16235 `(#:emacs ,emacs
16236 #:phases
16237 (modify-phases %standard-phases
16238 (add-after 'build 'install-xsession
16239 (lambda* (#:key inputs outputs #:allow-other-keys)
16240 (let* ((out (assoc-ref outputs "out"))
16241 (xsessions (string-append out "/share/xsessions"))
16242 (bin (string-append out "/bin"))
16243 (exwm-executable (string-append bin "/exwm-x")))
16244 ;; Add a .desktop file to xsessions
16245 (mkdir-p xsessions)
16246 (mkdir-p bin)
16247 (with-output-to-file
16248 (string-append xsessions "/exwm-x.desktop")
16249 (lambda _
16250 (format #t "[Desktop Entry]~@
16251 Name=~a~@
16252 Comment=~a~@
16253 Exec=~a~@
16254 TryExec=~@*~a~@
16255 Type=Application~%" ,name ,synopsis exwm-executable)))
16256 ;; Add a shell wrapper to bin
16257 (with-output-to-file exwm-executable
16258 (lambda _
16259 (format #t "#!~a ~@
16260 ~a +SI:localuser:$USER ~@
16261 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
16262 (search-input-file inputs "/bin/sh")
16263 (search-input-file inputs "/bin/xhost")
16264 (search-input-file inputs "/bin/dbus-launch")
16265 (search-input-file inputs "/bin/emacs")
16266 '(require 'exwmx-loader))))
16267 (chmod exwm-executable #o555)
16268 #t))))))
16269 (home-page "https://github.com/tumashu/exwm-x")
16270 (description "EXWM-X is a derivative window manager based on EXWM, with focus
16271 on mouse-control.")
16272 (license license:gpl3+)))
16273
16274 (define-public emacs-gnugo
16275 (package
16276 (name "emacs-gnugo")
16277 (version "3.1.2")
16278 (source
16279 (origin
16280 (method url-fetch)
16281 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
16282 version ".tar"))
16283 (sha256
16284 (base32
16285 "138gzdyi8scqimvs49da66j8f5a43bhgpasn1bxzdj2zffwlwp6g"))))
16286 (build-system emacs-build-system)
16287 (arguments
16288 `(#:phases
16289 (modify-phases %standard-phases
16290 (add-after 'unpack 'configure
16291 (lambda* (#:key inputs #:allow-other-keys)
16292 (emacs-substitute-variables "gnugo.el"
16293 ("gnugo-xpms" "#'gnugo-imgen-create-xpms" (as-display))
16294 ("gnugo-program" (search-input-file inputs "/bin/gnugo"))))))))
16295 (inputs (list gnugo))
16296 (propagated-inputs
16297 (list emacs-ascii-art-to-unicode emacs-xpm))
16298 (home-page "https://elpa.gnu.org/packages/gnugo.html")
16299 (synopsis "Emacs major mode for playing GNU Go")
16300 (description "This package provides an Emacs based interface for GNU Go,
16301 which can be started via @samp{M-x gnugo}. It has a graphical mode where the
16302 board and stones are drawn using XPM images and supports the use of a mouse.
16303 You can switch to the graphical mode by running @samp{M-x
16304 gnugo-image-display-mode}.")
16305 (license license:gpl3+)))
16306
16307 (define-public emacs-gnuplot
16308 (package
16309 (name "emacs-gnuplot")
16310 (version "0.8.0")
16311 (source
16312 (origin
16313 (method git-fetch)
16314 (uri (git-reference
16315 (url "https://github.com/emacsorphanage/gnuplot-mode")
16316 (commit version)))
16317 (file-name (git-file-name name version))
16318 (sha256
16319 (base32 "09y177sq24gs7wwjihw59g0m4n1rv2ws9890ynxjxawv823r0fxm"))))
16320 (build-system emacs-build-system)
16321 (home-page "https://github.com/emacsorphanage/gnuplot-mode")
16322 (synopsis "Emacs major mode for interacting with Gnuplot")
16323 (description
16324 "Emacs Gnuplot is an Emacs major mode for interacting with Gnuplot.")
16325 (license license:gpl2+)))
16326
16327 (define-public emacs-transpose-frame
16328 (package
16329 (name "emacs-transpose-frame")
16330 (version "0.2.1")
16331 (source
16332 (origin
16333 (method git-fetch)
16334 (uri (git-reference
16335 (url "https://github.com/emacsorphanage/transpose-frame")
16336 (commit (string-append "v" version))))
16337 (file-name (git-file-name name version))
16338 (sha256
16339 (base32 "0m9jmfwwhgkwxbq3y000ymx7parbgqr7gq3yjm2wh1ll747gv51y"))))
16340 (build-system emacs-build-system)
16341 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
16342 (synopsis "Transpose window arrangement in current frame")
16343 (description "@code{emacs-transpose-frame} provides some interactive
16344 functions which allows users to transpose windows arrangement in currently
16345 selected frame.")
16346 (license license:bsd-2)))
16347
16348 (define-public emacs-transpose-mark
16349 ;; XXX: Upstream made no release so far, and did not add a Version keyword.
16350 (let ((commit "667327602004794de97214cf336ac61650ef75b7")
16351 (revision "0"))
16352 (package
16353 (name "emacs-transpose-mark")
16354 (version (git-version "0" revision commit))
16355 (source
16356 (origin
16357 (method git-fetch)
16358 (uri (git-reference
16359 (url "https://github.com/kwrooijen/transpose-mark")
16360 (commit commit)))
16361 (file-name (git-file-name name version))
16362 (sha256
16363 (base32 "03wc50vn1kmrgnzzhs06pwpap2p2rx84wwzxw0hawsg1f1l35m2x"))))
16364 (build-system emacs-build-system)
16365 (home-page "https://github.com/kwrooijen/transpose-mark")
16366 (synopsis "Library for transposing lines and regions")
16367 (description "Transpose mark provides some commands that makes
16368 transposing lines and regions easier. You can mark a line and transpose it
16369 with a line at point, or mark a region and transpose it with another region
16370 a point. The plugin provides visual feedback for marked regions.")
16371 (license license:gpl3+))))
16372
16373 (define-public emacs-key-chord
16374 (package
16375 (name "emacs-key-chord")
16376 (version "0.6")
16377 (source
16378 (origin
16379 (method url-fetch)
16380 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
16381 (file-name (string-append "key-chord-" version ".el"))
16382 (sha256
16383 (base32
16384 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
16385 (build-system emacs-build-system)
16386 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
16387 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
16388 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
16389 mode for binding key chords to commands. A key chord is defined as two keys
16390 pressed simultaneously or a single key quickly pressed twice.")
16391 (license license:gpl2+)))
16392
16393 (define-public emacs-evil-surround
16394 (package
16395 (name "emacs-evil-surround")
16396 (version "1.1.1")
16397 (source
16398 (origin
16399 (method git-fetch)
16400 (uri (git-reference
16401 (url "https://github.com/emacs-evil/evil-surround")
16402 (commit version)))
16403 (file-name (git-file-name name version))
16404 (sha256
16405 (base32 "1gfgmr4909m36gknprcam6q4rkcqfbi6w43ky7x6jnlmgb6mxggg"))))
16406 (build-system emacs-build-system)
16407 (propagated-inputs
16408 (list emacs-evil))
16409 (arguments
16410 `(#:tests? #t
16411 #:test-command '("make" "test")))
16412 (home-page "https://github.com/emacs-evil/evil-surround")
16413 (synopsis "Easily modify surrounding parentheses and quotes")
16414 (description "@code{emacs-evil-surround} allows easy deletion, change and
16415 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
16416 (license license:gpl3+)))
16417
16418 (define-public emacs-evil-commentary
16419 (package
16420 (name "emacs-evil-commentary")
16421 (version "2.2.0")
16422 (source
16423 (origin
16424 (method git-fetch)
16425 (uri (git-reference
16426 (url "https://github.com/linktohack/evil-commentary")
16427 (commit (string-append "v" version))))
16428 (file-name (git-file-name name version))
16429 (sha256
16430 (base32 "1l8zi9wlg1f7ffm8gh92qwk3q7h6cdl8b8zkd9hcda53mq6klpjr"))))
16431 (build-system emacs-build-system)
16432 (propagated-inputs
16433 (list emacs-evil))
16434 (home-page "https://github.com/linktohack/evil-commentary")
16435 (synopsis "Comment out code in evil mode")
16436 (description "@code{emacs-evil-commentary} adds keybindings to easily
16437 comment out lines of code in evil mode. It provides @code{gcc} to comment out
16438 lines, and @code{gc} to comment out the target of a motion.")
16439 (license license:gpl3+)))
16440
16441 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
16442 ;; therefore cannot be run
16443 (define-public emacs-ansi
16444 (let ((commit "2367fba7b3b2340364a30cd6de7f3eb6bb9898a3")
16445 (revision "2"))
16446 (package
16447 (name "emacs-ansi")
16448 (version (git-version "0.4.1" revision commit))
16449 (source
16450 (origin
16451 (method git-fetch)
16452 (uri (git-reference
16453 (url "https://github.com/rejeep/ansi.el")
16454 (commit commit)))
16455 (file-name (git-file-name name version))
16456 (sha256
16457 (base32 "1n7h6l4icm6lks3zpvd83j1fzrnspw19rmz7c96vy7pdh1y4v3p3"))))
16458 (build-system emacs-build-system)
16459 (home-page "https://github.com/rejeep/ansi.el")
16460 (synopsis "Convert strings to ANSI")
16461 (description "@code{emacs-ansi} defines functions that turns simple
16462 strings to ANSI strings. Turning a string into an ANSI string can be to add
16463 color to a text, add color in the background of a text or adding a style, such
16464 as bold, underscore or italic.")
16465 (license license:gpl3+))))
16466
16467 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
16468 ;; therefore cannot be run
16469 (define-public emacs-commander
16470 (package
16471 (name "emacs-commander")
16472 (version "0.7.0")
16473 (source
16474 (origin
16475 (method git-fetch)
16476 (uri (git-reference
16477 (url "https://github.com/rejeep/commander.el")
16478 (commit (string-append "v" version))))
16479 (file-name (git-file-name name version))
16480 (sha256
16481 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
16482 (build-system emacs-build-system)
16483 (propagated-inputs
16484 (list emacs-dash emacs-f emacs-s))
16485 (home-page "https://github.com/rejeep/commander.el")
16486 (synopsis "Emacs command line parser")
16487 (description "@code{emacs-commander} provides command line parsing for
16488 Emacs.")
16489 (license license:gpl3+)))
16490
16491 (define-public emacs-eglot
16492 (package
16493 (name "emacs-eglot")
16494 (version "1.9")
16495 (source
16496 (origin
16497 (method git-fetch)
16498 (uri (git-reference
16499 (url "https://github.com/joaotavora/eglot")
16500 (commit version)))
16501 (file-name (git-file-name name version))
16502 (sha256
16503 (base32
16504 "030837yak24ymjawsfr1hgyfdjy3k30ld1ca0cgnrxhgxc7p8hwv"))))
16505 (build-system emacs-build-system)
16506 (arguments
16507 (list
16508 #:tests? #t
16509 #:test-command #~(list "emacs" "--batch"
16510 "-l" "eglot.el"
16511 "-l" "eglot-tests.el"
16512 "-f" "ert-run-tests-batch-and-exit")))
16513 (propagated-inputs
16514 (list emacs-eldoc emacs-jsonrpc emacs-project))
16515 (home-page "https://github.com/joaotavora/eglot")
16516 (synopsis "Client for Language Server Protocol (LSP) servers")
16517 (description
16518 "Emacs Polyglot, or Eglot, is an Emacs @acronym{Language Server Protocol,
16519 LSP} client that stays out of the way. It guesses the LSP program to start
16520 for the current file, using the major mode as a hint. It prompts you to enter
16521 one if it fails.")
16522 (license license:gpl3+)))
16523
16524 (define-public emacs-eldoc
16525 (package
16526 (name "emacs-eldoc")
16527 (version "1.13.0")
16528 (source
16529 (origin
16530 (method url-fetch)
16531 (uri (string-append
16532 "https://elpa.gnu.org/packages/eldoc-" version ".tar"))
16533 (sha256
16534 (base32 "0c05dzrs7vrhibj46jpz625482ah6xywji7way6wcvwc711y74fz"))))
16535 (build-system emacs-build-system)
16536 (home-page "http://elpa.gnu.org/packages/eldoc.html")
16537 (synopsis "Show function arglist or variable docstring in echo area")
16538 (description
16539 "This program was inspired by the behavior of the ``mouse documentation
16540 window'' on many Lisp Machine systems; as you type a function's symbol name as
16541 part of a sexp, it will print the argument list for that function. Behavior
16542 is not identical; for example, you need not actually type the function name,
16543 you need only move point around in a sexp that calls it. Also, if point is
16544 over a documented variable, it will print the one-line documentation for that
16545 variable instead, to remind you of that variable's meaning.")
16546 (license license:gpl3+)))
16547
16548 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
16549 ;; cannot be run
16550 (define-public emacs-ert-runner
16551 (package
16552 (name "emacs-ert-runner")
16553 (version "0.8.0")
16554 (source
16555 (origin
16556 (method git-fetch)
16557 (uri (git-reference
16558 (url "https://github.com/rejeep/ert-runner.el")
16559 (commit (string-append "v" version))))
16560 (file-name (git-file-name name version))
16561 (sha256
16562 (base32
16563 "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98"))))
16564 (build-system emacs-build-system)
16565 (inputs
16566 (list emacs-ansi
16567 emacs-commander
16568 emacs-dash
16569 emacs-f
16570 emacs-s
16571 emacs-shut-up))
16572 (arguments
16573 `(#:phases
16574 (modify-phases %standard-phases
16575 (add-after 'install 'install-executable
16576 (lambda* (#:key inputs outputs #:allow-other-keys)
16577 (let ((out (assoc-ref outputs "out"))
16578 (source-directory (string-append
16579 (getenv "TMPDIR") "/source")))
16580 (substitute* "bin/ert-runner"
16581 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
16582 (string-append "ERT_RUNNER=\"" (elpa-directory out))))
16583 (install-file "bin/ert-runner" (string-append out "/bin"))
16584 (wrap-program (string-append out "/bin/ert-runner")
16585 (list "EMACSLOADPATH" ":" 'prefix
16586 ;; Do not capture the transient source directory in
16587 ;; the wrapper.
16588 (delete source-directory
16589 (string-split (getenv "EMACSLOADPATH") #\:))))
16590 #t))))
16591 #:include (cons* "^reporters/.*\\.el$" %default-include)))
16592 (home-page "https://github.com/rejeep/ert-runner.el")
16593 (synopsis "Opinionated Ert testing workflow")
16594 (description "@code{ert-runner} is a tool for Emacs projects tested
16595 using ERT. It assumes a certain test structure setup and can therefore make
16596 running tests easier.")
16597 (license license:gpl3+)))
16598
16599 (define-public emacs-xtest
16600 (package
16601 (name "emacs-xtest")
16602 (version "1.1.0")
16603 (source (origin
16604 (method git-fetch)
16605 (uri (git-reference
16606 (url "https://github.com/promethial/xtest")
16607 (commit (string-append "v" version))))
16608 (file-name (git-file-name name version))
16609 (sha256
16610 (base32
16611 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
16612 (arguments
16613 `(#:exclude '()))
16614 (build-system emacs-build-system)
16615 (home-page "https://github.com/promethial/xtest/")
16616 (synopsis "Simple testing with Emacs")
16617 (description "This package provides a simple testing library for Emacs.")
16618 (license license:gpl3+)))
16619
16620 (define-public emacs-org-transclusion
16621 (package
16622 (name "emacs-org-transclusion")
16623 (version "1.3.0")
16624 (source
16625 (origin
16626 (method git-fetch)
16627 (uri (git-reference
16628 (url "https://github.com/nobiot/org-transclusion")
16629 (commit (string-append "v" version))))
16630 (file-name (git-file-name name version))
16631 (sha256
16632 (base32 "0pjk6686ss50s9ws014if9mnixsf9m53z1d7bvkbx09lq3jqa7ry"))))
16633 (build-system emacs-build-system)
16634 (home-page "https://nobiot.github.io/org-transclusion/")
16635 (synopsis "Enable transclusion with Org Mode")
16636 (description "Org-transclusion lets you insert a copy of text content via
16637 a file link or ID link within an Org file. It lets you have the same content
16638 present in different buffers at the same time without copy-and-pasting it.
16639 Edit the source of the content, and you can refresh the transcluded copies to
16640 the up-to-date state. Org-transclusion keeps your files clear of the
16641 transcluded copies, leaving only the links to the original content.")
16642 (license license:gpl3+)))
16643
16644 (define-public emacs-disable-mouse
16645 (package
16646 (name "emacs-disable-mouse")
16647 (version "0.3")
16648 (source
16649 (origin
16650 (method git-fetch)
16651 (uri (git-reference
16652 (url "https://github.com/purcell/disable-mouse")
16653 (commit version)))
16654 (file-name (git-file-name name version))
16655 (sha256
16656 (base32 "0l6mai68ns3qw3rlvjvzsnqwdy7bxqiy0vdwflq0l1plxb1vazyc"))))
16657 (build-system emacs-build-system)
16658 (home-page "https://github.com/purcell/disable-mouse")
16659 (synopsis "Disable mouse commands globally")
16660 (description
16661 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
16662 pair of minor modes which suppress all mouse events by intercepting them and
16663 running a customisable handler command (@code{ignore} by default).")
16664 (license license:gpl3+)))
16665
16666 (define-public emacs-json-reformat
16667 (package
16668 (name "emacs-json-reformat")
16669 (version "0.0.7")
16670 (source
16671 (origin
16672 (method git-fetch)
16673 (uri (git-reference
16674 (url "https://github.com/gongo/json-reformat")
16675 (commit version)))
16676 (file-name (git-file-name name version))
16677 (sha256
16678 (base32 "1gaifz1brh7yh1wk1c02gddwis4ab6bggv27gy7gcd2s861f8bkx"))
16679 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
16680 (build-system emacs-build-system)
16681 (arguments
16682 `(#:tests? #t
16683 #:test-command '("ert-runner")
16684 #:phases
16685 (modify-phases %standard-phases
16686 (add-before 'check 'make-tests-writable
16687 (lambda _
16688 (for-each make-file-writable (find-files "test"))))
16689 (add-before 'check 'delete-json-objects-order-test
16690 (lambda _
16691 (emacs-batch-edit-file "test/json-reformat-test.el"
16692 `(progn (progn (goto-char (point-min))
16693 (re-search-forward
16694 "ert-deftest json-reformat-test:json-reformat-region")
16695 (beginning-of-line)
16696 (kill-sexp))
16697 (basic-save-buffer)))))
16698 (add-before 'check 'delete-json-reformat-region-occur-error-test
16699 (lambda _
16700 (emacs-batch-edit-file "test/json-reformat-test.el"
16701 `(progn (goto-char (point-min))
16702 (re-search-forward
16703 "ert-deftest json-reformat-test:json-reformat-region-occur-error")
16704 (beginning-of-line)
16705 (kill-sexp)
16706 (basic-save-buffer))))))))
16707 (native-inputs
16708 (list emacs-dash emacs-ert-runner emacs-shut-up))
16709 (propagated-inputs
16710 (list emacs-undercover))
16711 (home-page "https://github.com/gongo/json-reformat")
16712 (synopsis "Reformatting tool for JSON")
16713 (description "@code{json-reformat} provides a reformatting tool for
16714 @url{http://json.org/, JSON}.")
16715 (license license:gpl3+)))
16716
16717 (define-public emacs-json-snatcher
16718 (package
16719 (name "emacs-json-snatcher")
16720 (version "1.0.0")
16721 (source
16722 (origin
16723 (method git-fetch)
16724 (uri (git-reference
16725 (url "https://github.com/Sterlingg/json-snatcher")
16726 (commit version)))
16727 (file-name (git-file-name name version))
16728 (sha256
16729 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
16730 (build-system emacs-build-system)
16731 (home-page "https://github.com/sterlingg/json-snatcher")
16732 (synopsis "Grabs the path to JSON values in a JSON file")
16733 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
16734 a @url{http://json.org/, JSON} file.")
16735 (license license:gpl3+)))
16736
16737 (define-public emacs-json-mode
16738 (package
16739 (name "emacs-json-mode")
16740 (version "1.8.0")
16741 (source
16742 (origin
16743 (method git-fetch)
16744 (uri (git-reference
16745 (url "https://github.com/joshwnj/json-mode")
16746 (commit (string-append "v" version))))
16747 (file-name (git-file-name name version))
16748 (sha256
16749 (base32 "0r0k56q58kb133l9x9nbisz9p2kbphfgw1l4g2xp0pjqsc9wvq8z"))))
16750 (build-system emacs-build-system)
16751 (propagated-inputs
16752 (list emacs-json-snatcher))
16753 (home-page "https://github.com/joshwnj/json-mode")
16754 (synopsis "Major mode for editing JSON files")
16755 (description "@code{json-mode} extends the builtin js-mode syntax
16756 highlighting.")
16757 (license license:gpl3+)))
16758
16759 (define-public emacs-jsonrpc
16760 ;; Commit refers to a commit in the Emacs repository, as jsonrpc.el was
16761 ;; upstreamed. By convention, it should refer to a commit in which
16762 ;; jsonrpc.el was actually touched.
16763 (let ((commit "50654cf0b1bf6210fc8f46d8e7ae13bbeeccecb5")
16764 (revision "0")) ; Currently a version bump
16765 (package
16766 (name "emacs-jsonrpc")
16767 (version (git-version "1.0.15" revision commit))
16768 (source
16769 (origin
16770 (method git-fetch)
16771 (uri (git-reference
16772 (url "https://git.savannah.gnu.org/git/emacs.git")
16773 (commit commit)))
16774 (file-name (git-file-name name version))
16775 (sha256
16776 (base32
16777 "0srwb171dxha1nfzppk6x9v4bdj3lk74pksqnhalw8jw9c67b72y"))))
16778 (build-system emacs-build-system)
16779 (arguments
16780 (list #:phases
16781 #~(modify-phases %standard-phases
16782 (replace 'unpack
16783 (lambda* (#:key source #:allow-other-keys)
16784 (mkdir "source")
16785 (chdir "source")
16786 (copy-file (string-append source "/lisp/jsonrpc.el")
16787 "jsonrpc.el"))))))
16788 (home-page "http://elpa.gnu.org/packages/jsonrpc.html")
16789 (synopsis "JSON-RPC library")
16790 (description
16791 "This library implements the JSONRPC 2.0 specification as
16792 described in @url{http://www.jsonrpc.org/}. As the name suggests,
16793 JSONRPC is a generic Remote Procedure Call protocol designed around
16794 JSON objects.")
16795 (license license:gpl3+))))
16796
16797 (define-public emacs-jsonnet-mode
16798 (package
16799 (name "emacs-jsonnet-mode")
16800 (version "0.1.3")
16801 (source
16802 (origin
16803 (method git-fetch)
16804 (uri (git-reference
16805 (url "https://github.com/tminor/jsonnet-mode")
16806 (commit (string-append "v" version))))
16807 (file-name (git-file-name name version))
16808 (sha256
16809 (base32
16810 "14nxfa91yg2243v4d5kvynp2645x3811ispmhmpgil3x9qbl9jg9"))))
16811 (build-system emacs-build-system)
16812 (propagated-inputs
16813 (list emacs-dash))
16814 (home-page "https://github.com/tminor/jsonnet-mode")
16815 (synopsis "Major mode for editing jsonnet files")
16816 (description "This package provides syntax highlighting, indenting,
16817 formatting, and utility methods for jsonnet files.")
16818 (license license:gpl3+)))
16819
16820 (define-public emacs-restclient
16821 (let ((commit "ac8aad6c6b9e9d918062fa3c89c22c2f4ec48bc3")
16822 (version "0")
16823 (revision "3")) ;Guix package revision,
16824 ;upstream doesn't have official releases
16825 (package
16826 (name "emacs-restclient")
16827 (version (git-version version revision commit))
16828 (source (origin
16829 (method git-fetch)
16830 (uri (git-reference
16831 (url "https://github.com/pashky/restclient.el")
16832 (commit commit)))
16833 (sha256
16834 (base32
16835 "1a2c7xzy7rsan1zcdskia6m7n6j29xacfkqjlfdhzk6rr1bpzkwk"))
16836 (file-name (git-file-name name version))))
16837 (build-system emacs-build-system)
16838 (propagated-inputs
16839 (list emacs-helm emacs-jq-mode))
16840 (home-page "https://github.com/pashky/restclient.el")
16841 (synopsis "Explore and test HTTP REST webservices")
16842 (description
16843 "This tool allows for testing and exploration of HTTP REST Web services
16844 from within Emacs. Restclient runs queries from a plan-text query sheet,
16845 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
16846 (license license:public-domain))))
16847
16848 (define-public emacs-jq-mode
16849 (package
16850 (name "emacs-jq-mode")
16851 (version "0.5.0")
16852 (source
16853 (origin
16854 (method git-fetch)
16855 (uri (git-reference
16856 (url "https://github.com/ljos/jq-mode")
16857 (commit (string-append "v" version))))
16858 (file-name (git-file-name name version))
16859 (sha256
16860 (base32 "0xk0if5i9cz4w06lx8v1vdm112pn1ybqgfw048sx15yyvfzgril1"))))
16861 (build-system emacs-build-system)
16862 (home-page "https://github.com/ljos/jq-mode")
16863 (synopsis "Major mode for editing jq queries")
16864 (description
16865 "Jq mode is an Emacs major mode for editing jq-scripts.")
16866 (license license:gpl3+)))
16867
16868 (define-public emacs-whitespace-cleanup-mode
16869 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
16870 (revision "1"))
16871 (package
16872 (name "emacs-whitespace-cleanup-mode")
16873 (version (git-version "0.10" revision commit))
16874 (source (origin
16875 (method git-fetch)
16876 (uri (git-reference
16877 (url "https://github.com/purcell/whitespace-cleanup-mode")
16878 (commit commit)))
16879 (sha256
16880 (base32
16881 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
16882 (file-name (git-file-name name version))))
16883 (build-system emacs-build-system)
16884 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
16885 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
16886 (description
16887 "This package provides a minor mode that calls
16888 @code{whitespace-cleanup} before saving the current buffer only if the
16889 whitespace in the buffer was initially clean.")
16890 (license license:gpl3+))))
16891
16892 (define-public emacs-eimp
16893 (let ((version "1.4.0")
16894 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
16895 (revision "1"))
16896 (package
16897 (name "emacs-eimp")
16898 (version (git-version version revision commit))
16899 (source
16900 (origin
16901 (method git-fetch)
16902 (uri (git-reference
16903 (url "https://github.com/nicferrier/eimp")
16904 (commit commit)))
16905 (file-name (git-file-name name version))
16906 (sha256
16907 (base32
16908 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
16909 (build-system emacs-build-system)
16910 (arguments
16911 `(#:phases
16912 (modify-phases %standard-phases
16913 (add-after 'unpack 'configure
16914 (lambda* (#:key inputs #:allow-other-keys)
16915 (let ((imagemagick (assoc-ref inputs "imagemagick")))
16916 ;; eimp.el is read-only in git.
16917 (chmod "eimp.el" #o644)
16918 (emacs-substitute-variables "eimp.el"
16919 ("eimp-mogrify-program"
16920 (string-append imagemagick "/bin/mogrify"))))
16921 #t)))))
16922 (inputs
16923 (list imagemagick))
16924 (home-page "https://github.com/nicferrier/eimp")
16925 (synopsis "Interactive image manipulation utility for Emacs")
16926 (description "@code{emacs-eimp} allows interactive image manipulation
16927 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
16928 the actual transformations.")
16929 (license license:gpl2+))))
16930
16931 (define-public emacs-dired-hacks
16932 (let ((commit "d1a2bda6aa8f890cb367297ed93aee6d3b5ba388")
16933 (revision "3"))
16934 (package
16935 (name "emacs-dired-hacks")
16936 (version (git-version "0.0.1" revision commit))
16937 (source (origin
16938 (method git-fetch)
16939 (uri (git-reference
16940 (url "https://github.com/Fuco1/dired-hacks")
16941 (commit commit)))
16942 (file-name (git-file-name name version))
16943 (sha256
16944 (base32
16945 "12m81a9kjhs4cyq3lym0vp5nx6z3sfnypyzrnia76x6rjvixjf6y"))))
16946 (build-system emacs-build-system)
16947 (propagated-inputs
16948 (list emacs-dash emacs-eimp emacs-f emacs-s))
16949 (home-page "https://github.com/Fuco1/dired-hacks")
16950 (synopsis
16951 "Collection of useful dired additions")
16952 (description
16953 "This package provides the following collection of Emacs dired mode
16954 additions:
16955
16956 @itemize
16957 @item dired-avfs
16958 @item dired-columns
16959 @item dired-filter
16960 @item dired-hacks-utils
16961 @item dired-images
16962 @item dired-list
16963 @item dired-narrow
16964 @item dired-open
16965 @item dired-rainbow
16966 @item dired-ranger
16967 @item dired-subtree
16968 @item dired-tagsistant
16969 @end itemize\n")
16970 (license license:gpl3+))))
16971
16972 (define-public emacs-dired-sidebar
16973 (package
16974 (name "emacs-dired-sidebar")
16975 (home-page "https://github.com/jojojames/dired-sidebar")
16976 (version "0.2.0")
16977 (source
16978 (origin
16979 (method git-fetch)
16980 (uri (git-reference
16981 (url home-page)
16982 (commit version)))
16983 (file-name (git-file-name name version))
16984 (sha256
16985 (base32 "090dqaqyjmkzrz4szjpk1iip0bdvb0frp4l79393f8ki8w7c16c1"))))
16986 (build-system emacs-build-system)
16987 (propagated-inputs
16988 (list emacs-dired-hacks))
16989 (synopsis "Sidebar for Emacs using Dired")
16990 (description
16991 "This package provides a sidebar for Emacs similar to @code{NeoTree}
16992 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
16993 (license license:gpl3+)))
16994
16995 (define-public emacs-which-key
16996 (package
16997 (name "emacs-which-key")
16998 (version "3.6.0")
16999 (source
17000 (origin
17001 (method git-fetch)
17002 (uri (git-reference
17003 (url "https://github.com/justbur/emacs-which-key")
17004 (commit (string-append "v" version))))
17005 (file-name (git-file-name name version))
17006 (sha256
17007 (base32 "0ph5mrzz3r7x4dmy93v6affl4jznvic97a30mrs3kvhwyr2v4mby"))))
17008 (build-system emacs-build-system)
17009 (arguments
17010 `(#:tests? #t
17011 #:test-command '("emacs" "--batch"
17012 "-l" "which-key-tests.el"
17013 "-f" "ert-run-tests-batch-and-exit")))
17014 (home-page "https://github.com/justbur/emacs-which-key")
17015 (synopsis "Display available key bindings in popup")
17016 (description
17017 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
17018 bindings following your currently entered incomplete command (a prefix) in a
17019 popup. For example, after enabling the minor mode if you enter C-x and wait
17020 for the default of 1 second, the minibuffer will expand with all of the
17021 available key bindings that follow C-x (or as many as space allows given your
17022 settings).")
17023 (license license:gpl3+)))
17024
17025 (define-public emacs-hercules
17026 (package
17027 (name "emacs-hercules")
17028 (version "0.3.1")
17029 (source
17030 (origin
17031 (method git-fetch)
17032 (uri (git-reference
17033 (url "https://gitlab.com/jjzmajic/hercules.el")
17034 (commit (string-append "v" version))))
17035 (file-name (git-file-name name version))
17036 (sha256
17037 (base32 "1rp37rhkj8jm07dwr74vc68dhrbvyvrxjdavpb0h073ps9vl9dsc"))))
17038 (build-system emacs-build-system)
17039 (propagated-inputs
17040 (list emacs-which-key))
17041 (home-page "https://gitlab.com/jjzmajic/hercules.el")
17042 (synopsis "Call a chain of related commands without repeated prefix keys")
17043 (description
17044 "This package provides sticky-key-like functionality to obviate the need
17045 for repeated prefix-key sequences, and can reuse existing keymaps. The list
17046 of commands is displayed in a handy popup.")
17047 (license license:gpl3+)))
17048
17049 (define-public emacs-ws-butler
17050 (package
17051 (name "emacs-ws-butler")
17052 (version "0.6")
17053 (source
17054 (origin
17055 (method git-fetch)
17056 (uri (git-reference
17057 (url "https://github.com/lewang/ws-butler")
17058 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
17059 (file-name (git-file-name name version))
17060 (sha256
17061 (base32 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
17062 (build-system emacs-build-system)
17063 (arguments
17064 `(#:tests? #t
17065 #:test-command '("ert-runner" "tests")))
17066 (native-inputs
17067 (list emacs-ert-runner))
17068 (home-page "https://github.com/lewang/ws-butler")
17069 (synopsis "Trim spaces from end of lines")
17070 (description
17071 "This Emacs package automatically and unobtrusively trims whitespace
17072 characters from end of lines.")
17073 (license license:gpl3+)))
17074
17075 (define-public emacs-opencl-mode
17076 ;; Upstream never makes any formal releases, there is only v1.0.
17077 ;; Use the latest commit instead.
17078 (let ((commit "15091eff92c33ee0d1ece40eb99299ef79fee92d")
17079 (revision "1"))
17080 (package
17081 (name "emacs-opencl-mode")
17082 (version (git-version "1.0" revision commit))
17083 (source (origin
17084 (method git-fetch)
17085 (uri (git-reference
17086 (url "https://github.com/salmanebah/opencl-mode")
17087 (commit commit)))
17088 (file-name (git-file-name name version))
17089 (sha256
17090 (base32 "1zn6rr48w0ai0sn51zzyp546va6flfgf9lm12vfrdb6kkiiiq403"))))
17091 (build-system emacs-build-system)
17092 (synopsis "Emacs major mode for editing OpenCL kernels")
17093 (description "This Emacs package provides the @code{opencl-mode} major
17094 mode for editing OpenCL kernels. It supports syntax highlighting and online
17095 access to the OpenCL documentation through the @code{opencl-lookup} function.")
17096 (home-page "https://github.com/salmanebah/opencl-mode")
17097 (license license:gpl3+))))
17098
17099 (define-public emacs-openwith
17100 ;; There is no release tag. Version is extracted from main file.
17101 (let ((version "20120531")
17102 (revision "0")
17103 (commit "5fe01dee520d24c839ad5ee18822667457d9f352"))
17104 (package
17105 (name "emacs-openwith")
17106 (version (git-version version revision commit))
17107 (source
17108 (origin
17109 (method git-fetch)
17110 (uri (git-reference
17111 (url "https://github.com/garberw/openwith")
17112 (commit commit)))
17113 (file-name (git-file-name name version))
17114 (sha256
17115 (base32 "1scbawhlzmj5nhix779rlqf462g37q84vpq205qhg4qyscvfx6bi"))))
17116 (build-system emacs-build-system)
17117 (home-page "https://github.com/garberw/openwith")
17118 (synopsis "Open external applications for files with Emacs")
17119 (description
17120 "This package enables you to associate file name patterns with external
17121 applications that are automatically invoked when you use commands like
17122 @code{find-file}. For example, you can have it open @code{png} files with
17123 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
17124 when browsing files with Dired.")
17125 (license license:gpl2+))))
17126
17127 (define-public emacs-org-edit-latex
17128 (package
17129 (name "emacs-org-edit-latex")
17130 (version "0.8.3")
17131 (source
17132 (origin
17133 (method git-fetch)
17134 (uri (git-reference
17135 (url "https://github.com/et2010/org-edit-latex")
17136 (commit (string-append "v" version))))
17137 (file-name (git-file-name name version))
17138 (sha256
17139 (base32 "1w0lyz71dq8x28ira4hig1b70bqn1dr53w3k5dgch9szcf6xa86y"))))
17140 (build-system emacs-build-system)
17141 (arguments
17142 `(#:phases
17143 (modify-phases %standard-phases
17144 (add-before 'build 'set-home
17145 (lambda _ (setenv "HOME" "/tmp"))))))
17146 (propagated-inputs
17147 (list emacs-auctex emacs-org))
17148 (home-page "https://github.com/et2010/org-edit-latex")
17149 (synopsis "Edit a LaTeX fragment just like editing a source block")
17150 (description
17151 "Org Edit LaTeX is an extension for Org mode. It lets you edit a LaTeX
17152 fragment in a dedicated buffer just like editing a source block.")
17153 (license license:gpl3+)))
17154
17155 (define-public emacs-emamux
17156 (package
17157 (name "emacs-emamux")
17158 (version "0.14")
17159 (source
17160 (origin
17161 (method git-fetch)
17162 (uri (git-reference
17163 (url "https://github.com/syohex/emacs-emamux")
17164 (commit version)))
17165 (file-name (git-file-name name version))
17166 (sha256
17167 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
17168 (build-system emacs-build-system)
17169 (home-page "https://github.com/syohex/emacs-emamux")
17170 (synopsis "Manipulate Tmux from Emacs")
17171 (description
17172 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
17173 multiplexer.")
17174 (license license:gpl3+)))
17175
17176 (define-public emacs-plz
17177 (package
17178 (name "emacs-plz")
17179 (version "0.2.1")
17180 (source
17181 (origin
17182 (method git-fetch)
17183 (uri (git-reference
17184 (url "https://github.com/alphapapa/plz.el")
17185 (commit version)))
17186 (file-name (git-file-name name version))
17187 (sha256
17188 (base32 "0p0xd532xa8icysyxwqk481lr9xanmp68gf97fd9n2936gp12chv"))))
17189 (build-system emacs-build-system)
17190 (inputs (list curl))
17191 (home-page "https://github.com/alphapapa/plz.el")
17192 (synopsis "HTTP library for Emacs")
17193 (description
17194 "This package provides HTTP library for Emacs. It uses Curl as a backend,
17195 which avoids some of the issues with using Emacs’s built-in Url library.")
17196 (license license:gpl3+)))
17197
17198 (define-public emacs-ement
17199 (package
17200 (name "emacs-ement")
17201 (version "0.4")
17202 (source
17203 (origin
17204 (method git-fetch)
17205 (uri (git-reference
17206 (url "https://github.com/alphapapa/ement.el")
17207 (commit (string-append "v" version))))
17208 (file-name (git-file-name name version))
17209 (sha256
17210 (base32 "0pcszmcbq2lwjzpz3jd378sdqb7jh0v0c0ak49nmc5gciljjlzcg"))))
17211 (build-system emacs-build-system)
17212 (arguments
17213 `(#:emacs ,emacs)) ;need libxml support
17214 (propagated-inputs
17215 (list emacs-plz
17216 emacs-svg-lib
17217 emacs-taxy
17218 emacs-taxy-magit-section
17219 emacs-ts))
17220 (home-page "https://github.com/alphapapa/ement.el")
17221 (synopsis "Matrix client for Emacs")
17222 (description "Ement.el is a Matrix client for Emacs.")
17223 (license license:gpl3+)))
17224
17225 (define-public emacs-rpm-spec-mode
17226 (let ((commit "c1c38050c48ea330c7cea632b8785d66daeefb2b")
17227 (revision "0"))
17228 (package
17229 (name "emacs-rpm-spec-mode")
17230 (version (git-version "0.16" revision commit))
17231 (source (origin
17232 (method git-fetch)
17233 (uri (git-reference
17234 (url "https://github.com/stigbjorlykke/rpm-spec-mode")
17235 (commit commit)))
17236 (file-name (git-file-name name version))
17237 (sha256
17238 (base32
17239 "0427kcvf2ljhzwxskn3jzk0ncrl3f9zcz2sm83d9pmhh5jax2gch"))))
17240 (build-system emacs-build-system)
17241 (arguments
17242 (list
17243 #:phases
17244 #~(modify-phases %standard-phases
17245 (add-after 'unpack 'adjust-for-emacs-28
17246 (lambda _
17247 ;; Since Emacs 28, define-obsolete-variable-alias require a
17248 ;; 3rd argument to specify when the deprecation was
17249 ;; introduced.
17250 ;; The rpm-spec-mode.el file is encoded in ISO-8859-1 (iso-latin-1).
17251 (with-fluids ((%default-port-encoding "ISO-8859-1"))
17252 (substitute* "rpm-spec-mode.el"
17253 (("'rpm-spec-completion-ignore-case" all)
17254 (string-append all " \"0.12\""))
17255 (("'rpm-spec-nobuild" all)
17256 (string-append all " \"0.12\""))
17257 (("'rpm-spec-initialize-sections" all)
17258 (string-append all " \"0.12\""))
17259 (("'rpm-spec-insert-changelog-version" all)
17260 (string-append all " \"0.12\"")))))))))
17261 (home-page "https://github.com/stigbjorlykke/rpm-spec-mode")
17262 (synopsis "Emacs major mode for editing RPM spec files")
17263 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
17264 editing RPM spec files.")
17265 (license license:gpl2+))))
17266
17267 (define-public emacs-lcr
17268 (package
17269 (name "emacs-lcr")
17270 (version "1.5")
17271 (source
17272 (origin
17273 (method git-fetch)
17274 (uri (git-reference
17275 (url "https://github.com/jyp/lcr")
17276 (commit version)))
17277 (file-name (git-file-name name version))
17278 (sha256
17279 (base32 "0hhn0gqkwki0dfk6j759hmbj1ijn4bs550jh3kgy9jfmnb7cd81l"))))
17280 (build-system emacs-build-system)
17281 (propagated-inputs
17282 (list emacs-dash))
17283 (home-page "https://github.com/jyp/lcr")
17284 (synopsis "Lightweight coroutines in Emacs Lisp")
17285 (description "This package provides macros that can translate code into
17286 equivalent continuation-passing code, as well as miscellaneous utility
17287 functions written in continuation-passing style.")
17288 (license license:gpl3+)))
17289
17290 (define-public emacs-attrap
17291 (package
17292 (name "emacs-attrap")
17293 (version "1.1")
17294 (source
17295 (origin
17296 (method git-fetch)
17297 (uri (git-reference
17298 (url "https://github.com/jyp/attrap")
17299 (commit version)))
17300 (sha256
17301 (base32 "0wqc7bqx9rvk8r7fd3x84h8p01v97s6w2jf29nnjb59xakwp22i7"))
17302 (file-name (git-file-name name version))))
17303 (build-system emacs-build-system)
17304 (propagated-inputs
17305 (list emacs-dash emacs-f emacs-flycheck emacs-s))
17306 (home-page "https://github.com/jyp/attrap")
17307 (synopsis "Fix coding error at point")
17308 (description "This package provides a command to fix the Flycheck error
17309 at point.")
17310 (license license:gpl3+)))
17311
17312 (define-public emacs-git-messenger
17313 (package
17314 (name "emacs-git-messenger")
17315 (version "0.18")
17316 (source
17317 (origin
17318 (method git-fetch)
17319 (uri (git-reference
17320 (url "https://github.com/syohex/emacs-git-messenger")
17321 (commit version)))
17322 (file-name (git-file-name name version))
17323 (sha256
17324 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
17325 (build-system emacs-build-system)
17326 (propagated-inputs
17327 (list emacs-popup))
17328 (arguments
17329 `(#:tests? #t
17330 #:test-command '("emacs" "--batch" "-l" "test/test.el"
17331 "-f" "ert-run-tests-batch-and-exit")))
17332 (home-page "https://github.com/syohex/emacs-git-messenger")
17333 (synopsis "Popup commit message at current line")
17334 (description "@code{emacs-git-messenger} provides
17335 @code{git-messenger:popup-message}, a function that when called, will popup
17336 the last git commit message for the current line. This uses git-blame
17337 internally.")
17338 (license license:gpl3+)))
17339
17340 (define-public emacs-gitpatch
17341 (package
17342 (name "emacs-gitpatch")
17343 (version "0.5.1")
17344 (source
17345 (origin
17346 (method git-fetch)
17347 (uri (git-reference
17348 (url "https://github.com/tumashu/gitpatch")
17349 (commit (string-append "v" version))))
17350 (file-name (git-file-name name version))
17351 (sha256
17352 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
17353 (build-system emacs-build-system)
17354 (home-page "https://github.com/tumashu/gitpatch")
17355 (synopsis "Mail git patch from Emacs")
17356 (description "@code{emacs-gitpatch} lets users easily send git patches,
17357 created by @code{git format-patch}, from @code{magit}, @code{dired} and
17358 @code{ibuffer} buffers.")
17359 (license license:gpl3+)))
17360
17361 (define-public emacs-git-email
17362 ;; Use latest commit since latest tagged release is missing important
17363 ;; changes.
17364 (let ((commit "b5ebade3a48dc0ce0c85699f25800808233c73be")
17365 (revision "0"))
17366 (package
17367 (name "emacs-git-email")
17368 (version (git-version "0.2.0" revision commit))
17369 (source
17370 (origin
17371 (method git-fetch)
17372 (uri (git-reference
17373 (url "https://git.sr.ht/~yoctocell/git-email")
17374 (commit commit)))
17375 (patches
17376 (search-patches "emacs-git-email-missing-parens.patch"))
17377 (file-name (git-file-name name version))
17378 (sha256
17379 (base32 "1lk1yds7idgawnair8l3s72rgjmh80qmy4kl5wrnqvpmjrmdgvnx"))))
17380 (build-system emacs-build-system)
17381 (arguments
17382 `(#:phases
17383 (modify-phases %standard-phases
17384 ;; piem is not yet packaged in Guix.
17385 (add-after 'unpack 'remove-piem
17386 (lambda _
17387 (delete-file "git-email-piem.el")))
17388 (add-before 'install 'makeinfo
17389 (lambda _
17390 (invoke "makeinfo" "doc/git-email.texi"))))))
17391 (native-inputs
17392 (list texinfo))
17393 (propagated-inputs
17394 (list mu emacs-magit emacs-notmuch))
17395 (license license:gpl3+)
17396 (home-page "https://sr.ht/~yoctocell/git-email")
17397 (synopsis "Format and send Git patches in Emacs")
17398 (description "This package provides utilities for formatting and
17399 sending Git patches via Email, without leaving Emacs."))))
17400
17401 (define-public emacs-erc-hl-nicks
17402 (package
17403 (name "emacs-erc-hl-nicks")
17404 (version "1.3.4")
17405 (source
17406 (origin
17407 (method git-fetch)
17408 (uri (git-reference
17409 (url "https://github.com/leathekd/erc-hl-nicks")
17410 (commit version)))
17411 (file-name (git-file-name name version))
17412 (sha256
17413 (base32 "0k57scxa8rm859fqsm8srhps7rlq06jzazhjbwnadzrh8i5fyvra"))))
17414 (build-system emacs-build-system)
17415 (synopsis "Nickname highlighting for Emacs ERC")
17416 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
17417 client for Emacs. The main features are:
17418 @itemize
17419 @item Auto-colorizes nicknames without having to specify colors
17420 @item Ignores certain characters that IRC clients add to nicknames to avoid
17421 duplicates (nickname, nickname’, nickname\", etc.)
17422 @item Attempts to produce colors with a sufficient amount of contrast between
17423 the nick color and the background color
17424 @end itemize\n")
17425 (home-page "https://github.com/leathekd/erc-hl-nicks")
17426 (license license:gpl3+)))
17427
17428 (define-public emacs-engine-mode
17429 (package
17430 (name "emacs-engine-mode")
17431 (version "2.1.1")
17432 (source
17433 (origin
17434 (method git-fetch)
17435 (uri (git-reference
17436 (url "https://github.com/hrs/engine-mode")
17437 (commit (string-append "v" version))))
17438 (file-name (git-file-name name version))
17439 (sha256
17440 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
17441 (build-system emacs-build-system)
17442 (synopsis "Minor mode for defining and querying search engines")
17443 (description "@code{engine-mode} is a global minor mode for Emacs. It
17444 enables you to easily define search engines, bind them to keybindings, and
17445 query them from the comfort of your editor.")
17446 (home-page "https://github.com/hrs/engine-mode")
17447 (license license:gpl3+)))
17448
17449 (define-public emacs-engrave-faces
17450 (package
17451 (name "emacs-engrave-faces")
17452 (version "0.3.1")
17453 (source (origin
17454 (method url-fetch)
17455 (uri (string-append "https://elpa.gnu.org/packages/engrave-faces-"
17456 version ".tar"))
17457 (sha256
17458 (base32
17459 "1q4sjl2rvcfwcirm32nmi53258ln71yhh1dgszlxwknm38a14v3i"))))
17460 (build-system emacs-build-system)
17461 (home-page "https://github.com/tecosaur/engrave-faces")
17462 (synopsis "Convert font-lock faces to other formats")
17463 (description "There are some great packages for exporting buffers to
17464 particular formats, but each one seems to reinvent the core mechanism of
17465 processing the font-lock in a buffer such that it can be exported to
17466 a particular format.
17467
17468 This package aims to produce a versatile generic core which can process
17469 a fontified buffer and pass the data to any number of backends which can deal
17470 with specific output formats.")
17471 (license license:gpl3+)))
17472
17473 (define-public emacs-inheritenv
17474 (package
17475 (name "emacs-inheritenv")
17476 (version "0.1")
17477 (source
17478 (origin
17479 (method git-fetch)
17480 (uri (git-reference
17481 (url "https://github.com/purcell/inheritenv")
17482 (commit version)))
17483 (file-name (git-file-name name version))
17484 (sha256
17485 (base32 "0ygzf70vfb7qwpsllcq5i3brprsnx3sxy2zng02mzwrr5jkx4ypc"))))
17486 (build-system emacs-build-system)
17487 (home-page "https://github.com/purcell/inheritenv/releases")
17488 (synopsis "Emacs temp buffers inherit buffer-local environment variables")
17489 (description
17490 "Inheritenv provides tools to execute processes inheriting the calling
17491 buffer's environment.")
17492 (license license:gpl3+)))
17493
17494 (define-public emacs-enlive
17495 (package
17496 (name "emacs-enlive")
17497 (version "0.0.1")
17498 (source
17499 (origin
17500 (method git-fetch)
17501 (uri (git-reference
17502 (url "https://github.com/zweifisch/enlive")
17503 (commit (string-append "v" version))))
17504 (file-name (git-file-name name version))
17505 (sha256
17506 (base32
17507 "08j6b79vy8ry4ad1abk3hvxjbb4ylrhkvrbrnq1gcikl4h1p2v63"))))
17508 (build-system emacs-build-system)
17509 (home-page "http://github.com/zweifisch/enlive")
17510 (synopsis "Query HTML document with CSS selectors in Emacs")
17511 (description
17512 "Enlive is an Emacs library that allows the user to query HTML documents
17513 from within Elisp using a DSL similar to CSS selectors.")
17514 (license license:gpl3+)))
17515
17516 (define-public emacs-envrc
17517 (package
17518 (name "emacs-envrc")
17519 (version "0.4")
17520 (source
17521 (origin
17522 (method git-fetch)
17523 (uri (git-reference
17524 (url "https://github.com/purcell/envrc")
17525 (commit version)))
17526 (file-name (git-file-name name version))
17527 (sha256
17528 (base32
17529 "0nqqx4qlw75lmbn0v927sg3xyjkk86ihw1q3rdbbn59va41grds4"))))
17530 (build-system emacs-build-system)
17531 (propagated-inputs
17532 (list emacs-inheritenv))
17533 (home-page "https://github.com/purcell/envrc")
17534 (synopsis "Support for Direnv which operates buffer-locally")
17535 (description
17536 "This is library which uses Direnv to set environment variables on
17537 a per-buffer basis. This means that when you work across multiple projects
17538 which have @file{.envrc} files, all processes launched from the buffers ``in''
17539 those projects will be executed with the environment variables specified in
17540 those files. This allows different versions of linters and other tools to be
17541 used in each project if desired.")
17542 (license license:gpl3+)))
17543
17544 (define-public emacs-prop-menu
17545 (package
17546 (name "emacs-prop-menu")
17547 (version "0.1.2")
17548 (source
17549 (origin
17550 (method git-fetch)
17551 (uri (git-reference
17552 (url "https://github.com/david-christiansen/prop-menu-el")
17553 (commit version)))
17554 (file-name (git-file-name name version))
17555 (sha256
17556 (base32
17557 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
17558 (build-system emacs-build-system)
17559 (home-page
17560 "https://github.com/david-christiansen/prop-menu-el")
17561 (synopsis
17562 "Create and display a context menu based on text and overlay properties")
17563 (description
17564 "This is a library for computing context menus based on text
17565 properties and overlays. The intended use is to have tools that
17566 annotate source code and others that use these annotations, without
17567 requiring a direct coupling between them, but maintaining
17568 discoverability.
17569
17570 Major modes that wish to use this library should first define an
17571 appropriate value for @code{prop-menu-item-functions}. Then, they should
17572 bind @code{prop-menu-by-completing-read} to an appropriate
17573 key. Optionally, a mouse pop-up can be added by binding
17574 @code{prop-menu-show-menu} to a mouse event.")
17575 (license license:gpl3+)))
17576
17577 (define-public emacs-idris-mode
17578 (let ((commit "9bc7697406f719258d93835df3c1761efbfecaa7")
17579 (revision "1"))
17580 (package
17581 (name "emacs-idris-mode")
17582 (version (git-version "1.0" revision commit))
17583 (source
17584 (origin
17585 (method git-fetch)
17586 (uri (git-reference
17587 (url "https://github.com/idris-hackers/idris-mode")
17588 (commit commit)))
17589 (file-name (git-file-name name commit))
17590 (sha256
17591 (base32
17592 "1d1f7kx0fw632js7qd1sra5wbpwyamcqs5wpzhyynmr5ybb0vyl7"))))
17593 (build-system emacs-build-system)
17594 (propagated-inputs
17595 (list emacs-prop-menu))
17596 (home-page
17597 "https://github.com/idris-hackers/idris-mode")
17598 (synopsis "Major mode for editing Idris code")
17599 (description
17600 "This is an Emacs mode for editing Idris code. It is compatible with
17601 the latest versions of Idris 1.")
17602 (license license:gpl3+))))
17603
17604 (define-public emacs-browse-at-remote
17605 (package
17606 (name "emacs-browse-at-remote")
17607 (version "0.14.0")
17608 (source
17609 (origin
17610 (method git-fetch)
17611 (uri (git-reference
17612 (url "https://github.com/rmuslimov/browse-at-remote")
17613 (commit version)))
17614 (file-name (git-file-name name version))
17615 (sha256
17616 (base32 "0bx4ns0jb0sqrjk1nsspvl3mhz3n12925azf7brlwb1vcgnji09v"))))
17617 (build-system emacs-build-system)
17618 (arguments
17619 `(#:tests? #t
17620 #:test-command '("ert-runner")))
17621 (native-inputs
17622 (list emacs-ert-runner))
17623 (propagated-inputs
17624 (list emacs-f emacs-s))
17625 (home-page "https://github.com/rmuslimov/browse-at-remote")
17626 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
17627 (description
17628 "This Emacs package allows you to open a target page on
17629 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
17630 It supports dired buffers and opens them in tree mode at destination.")
17631 (license license:gpl3+)))
17632
17633 (define-public emacs-tiny
17634 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
17635 (revision "1"))
17636 (package
17637 (name "emacs-tiny")
17638 (version (git-version "0.2.1" revision commit))
17639 (source
17640 (origin
17641 (method git-fetch)
17642 (uri (git-reference
17643 (url "https://github.com/abo-abo/tiny")
17644 (commit commit)))
17645 (file-name (git-file-name name version))
17646 (sha256
17647 (base32
17648 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
17649 (build-system emacs-build-system)
17650 (arguments
17651 `(#:tests? #t
17652 #:test-command '("make" "test")))
17653 (home-page "https://github.com/abo-abo/tiny")
17654 (synopsis "Quickly generate linear ranges in Emacs")
17655 (description
17656 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
17657 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
17658 proficiency is an advantage, since you can transform your numeric range with
17659 an elisp expression.")
17660 (license license:gpl3+))))
17661
17662 (define-public emacs-taxy
17663 (package
17664 (name "emacs-taxy")
17665 (version "0.10.1")
17666 (source
17667 (origin
17668 (method url-fetch)
17669 (uri (string-append
17670 "https://elpa.gnu.org/packages/taxy-" version ".tar"))
17671 (sha256
17672 (base32
17673 "05czw8fkifb25rwl99dmncr1g0rjfx1bqijl7igqs9j6h9ia2xvg"))))
17674 (build-system emacs-build-system)
17675 (propagated-inputs
17676 (list emacs-magit))
17677 (home-page "https://github.com/alphapapa/taxy.el")
17678 (synopsis "Programmable taxonomical grouping for arbitrary objects")
17679 (description
17680 "Taxy provides a programmable way to classify arbitrary objects into
17681 a hierarchical taxonomy. Allows you to automatically put things in nested
17682 groups.")
17683 (license license:gpl3+)))
17684
17685 (define-public emacs-taxy-magit-section
17686 (package
17687 (name "emacs-taxy-magit-section")
17688 (version "0.12.1")
17689 (source (origin
17690 (method url-fetch)
17691 (uri (string-append
17692 "https://elpa.gnu.org/packages/taxy-magit-section-" version
17693 ".tar"))
17694 (sha256
17695 (base32
17696 "0bs00y8pl51dji23zx5w64h6la0y109q0jv2q1nggizk6q5bsxmg"))))
17697 (build-system emacs-build-system)
17698 (propagated-inputs (list emacs-magit emacs-taxy))
17699 (home-page "https://github.com/alphapapa/taxy.el")
17700 (synopsis "View Taxy structs in a Magit Section buffer")
17701 (description
17702 "This library provides a way to view @code{taxy} structs in a column-based,
17703 @code{magit-section} buffer. Columns are defined using simple top-level
17704 forms, and new columns may be easily defined by users in their
17705 configurations.")
17706 (license license:gpl3+)))
17707
17708 (define-public emacs-emojify
17709 (package
17710 (name "emacs-emojify")
17711 (version "1.2")
17712 (source
17713 (origin
17714 (method git-fetch)
17715 (uri (git-reference
17716 (url "https://github.com/iqbalansari/emacs-emojify")
17717 (commit (string-append "v" version))))
17718 (file-name (git-file-name name version))
17719 (sha256
17720 (base32
17721 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
17722 (build-system emacs-build-system)
17723 (arguments
17724 `(#:include (cons "^data/" %default-include)))
17725 (propagated-inputs
17726 (list emacs-ht))
17727 (home-page "https://github.com/iqbalansari/emacs-emojify")
17728 (synopsis "Display emojis in Emacs")
17729 (description "This package displays emojis in Emacs similar to how Github,
17730 Slack, and other websites do. It can display plain ASCII like @code{:)} as
17731 well as Github-style emojis like @code{:smile:}. It provides a minor mode
17732 @code{emojify-mode} to enable the display of emojis in a buffer.")
17733 (license license:gpl3+)))
17734
17735 (define-public emacs-make-it-so
17736 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
17737 (revision "2"))
17738 (package
17739 (name "emacs-make-it-so")
17740 (version (git-version "0.1.0" revision commit))
17741 (source
17742 (origin
17743 (method git-fetch)
17744 (uri (git-reference
17745 (url "https://github.com/abo-abo/make-it-so")
17746 (commit commit)))
17747 (file-name (git-file-name name version))
17748 (sha256
17749 (base32
17750 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
17751 (build-system emacs-build-system)
17752 (arguments
17753 `(#:include (cons "^recipes/" %default-include)))
17754 (propagated-inputs
17755 (list emacs-ivy))
17756 (home-page "https://github.com/abo-abo/make-it-so")
17757 (synopsis "Transform files with Makefile recipes")
17758 (description "This package provides an interface for selecting from
17759 different conversion recipes, often including tools like @code{ffmpeg} or
17760 @code{convert}. The conversion command need only be written once, and
17761 subsequent invocations can be readily customized. Several recipes are
17762 included by default, and more can be readily added.")
17763 (license license:gpl3+))))
17764
17765 (define-public emacs-unidecode
17766 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
17767 (revision "1"))
17768 (package
17769 (name "emacs-unidecode")
17770 (version (git-version "0.2" revision commit))
17771 (source
17772 (origin
17773 (method git-fetch)
17774 (uri (git-reference
17775 (url "https://github.com/sindikat/unidecode")
17776 (commit commit)))
17777 (file-name (git-file-name name version))
17778 (sha256
17779 (base32
17780 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
17781 (build-system emacs-build-system)
17782 (arguments
17783 `(#:include (cons* "^tools/" "^data/" %default-include)
17784 #:tests? #t
17785 #:test-command '("emacs" "--batch"
17786 "-l" "unidecode-test.el"
17787 "-f" "ert-run-tests-batch-and-exit")
17788 #:phases
17789 (modify-phases %standard-phases
17790 (add-before 'check 'make-tests-writable
17791 (lambda _
17792 (make-file-writable "unidecode-test.el")
17793 #t))
17794 (add-before 'check 'add-require
17795 (lambda _
17796 (emacs-batch-edit-file "unidecode-test.el"
17797 `(progn (progn (goto-char (point-min))
17798 (re-search-forward
17799 "ert-deftest")
17800 (forward-line -1)
17801 (insert "(require 'unidecode)"))
17802 (basic-save-buffer)))
17803 #t)))))
17804 (home-page "https://github.com/sindikat/unidecode")
17805 (synopsis "Transliterate Unicode text to ASCII")
17806 (description "This package provides functions for converting Unicode to ASCII.")
17807 (license license:gpl2+))))
17808
17809 (define-public emacs-pubmed
17810 (package
17811 (name "emacs-pubmed")
17812 (version "0.6.2")
17813 (source
17814 (origin
17815 (method git-fetch)
17816 (uri (git-reference
17817 (url "https://gitlab.com/fvdbeek/emacs-pubmed")
17818 (commit (string-append "v" version))))
17819 (file-name (git-file-name name version))
17820 (sha256
17821 (base32
17822 "05j4nhn2bgacc54pvmkhwgdsmzxzkcfn49a12k43wckrrf3izbqf"))))
17823 (build-system emacs-build-system)
17824 (propagated-inputs
17825 (list emacs-deferred emacs-esxml emacs-s emacs-unidecode))
17826 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
17827 (synopsis "Interface to PubMed")
17828 (description "This package provides an Emacs interface to the PubMed
17829 database of references on life sciences.")
17830 (license license:gpl3+)))
17831
17832 (define-public emacs-websocket
17833 (package
17834 (name "emacs-websocket")
17835 (version "1.13.1")
17836 (source
17837 (origin
17838 (method url-fetch)
17839 (uri (string-append "https://elpa.gnu.org/packages/"
17840 "websocket-" version ".tar"))
17841 (sha256
17842 (base32 "1x664zswas0fpml7zaj59zy97avrm49zb80zd69rlkqzz1m45psc"))))
17843 (build-system emacs-build-system)
17844 (home-page "https://elpa.gnu.org/packages/websocket.html")
17845 (synopsis "Emacs WebSocket client and server")
17846 (description
17847 "This is an Elisp library for WebSocket clients to talk to WebSocket
17848 servers, and for WebSocket servers to accept connections from WebSocket
17849 clients. This library is designed to be used by other library writers, to
17850 write applications that use WebSockets, and is not useful by itself.")
17851 (license license:gpl3+)))
17852
17853 (define-public emacs-oauth2
17854 (package
17855 (name "emacs-oauth2")
17856 (version "0.16")
17857 (source
17858 (origin
17859 (method url-fetch)
17860 (uri (string-append "https://elpa.gnu.org/packages/"
17861 "oauth2-" version ".tar"))
17862 (sha256
17863 (base32 "1rzly2nwjywrfgcmp8zidbmjl2ahyd8l8507lb1mxm4xqryvf316"))))
17864 (build-system emacs-build-system)
17865 (home-page "https://elpa.gnu.org/packages/oauth2.html")
17866 (synopsis "OAuth 2.0 authorization protocol implementation")
17867 (description
17868 "This package provides an Elisp implementation of the OAuth 2.0 draft.
17869 The main entry point is @code{oauth2-auth-and-store} which will return a token
17870 structure. This token structure can be then used with
17871 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
17872 retrieve any data that need OAuth authentication to be accessed. If the token
17873 needs to be refreshed, the code handles it automatically and stores the new
17874 value of the access token.")
17875 (license license:gpl3+)))
17876
17877 (define-public emacs-auth-source-xoauth2
17878 (package
17879 (name "emacs-auth-source-xoauth2")
17880 (version "1.0")
17881 (source
17882 (origin
17883 (method git-fetch)
17884 (uri (git-reference
17885 (url "https://github.com/ccrusius/auth-source-xoauth2")
17886 (commit (string-append "v" version))))
17887 (file-name (git-file-name name version))
17888 (sha256
17889 (base32 "0nl859csl8xcd6ybpjj15ph8l8fxwkwf45kbylss68alkyf1rl3v"))))
17890 (build-system emacs-build-system)
17891 (home-page "https://github.com/ccrusius/auth-source-xoauth2")
17892 (synopsis "XOAuth2 authentication capabilities for Emacs auth-source")
17893 (description
17894 "This package adds XOAuth2 authentication capabilities to Emacs
17895 auth-source. This integration requires some preliminary work on the users’
17896 part, which includes creating tokens.")
17897 (license license:asl2.0)))
17898
17899 (define-public emacs-circe
17900 (package
17901 (name "emacs-circe")
17902 (version "2.12")
17903 (source
17904 (origin
17905 (method git-fetch)
17906 (uri (git-reference
17907 (url "https://github.com/jorgenschaefer/circe")
17908 (commit (string-append "v" version))))
17909 (file-name (git-file-name name version))
17910 (sha256
17911 (base32 "0lrxd4hanaxj85nafsc0wss677slmyaks3qb7a95mj7vic3ib937"))))
17912 (build-system emacs-build-system)
17913 (arguments
17914 `(#:tests? #t
17915 #:test-command '("buttercup" "-L" ".")
17916 #:emacs ,emacs ;requires gnutls
17917 #:phases
17918 (modify-phases %standard-phases
17919 ;; The HOME environment variable should be set to an existing
17920 ;; directory for the tests to succeed.
17921 (add-before 'check 'set-home
17922 (lambda _
17923 (setenv "HOME" "/tmp")))
17924 (add-before 'check 'remove-failing-tests
17925 (lambda _
17926 (make-file-writable "tests/test-circe.el")
17927 (emacs-batch-edit-file "tests/test-circe.el"
17928 `(progn
17929 (dolist (test
17930 '("should have circe-server-buffer set in the mode hook"
17931 "should complete nicks with colon at the beginning of the input"
17932 "should complete nicks without colon later in the input"))
17933 (goto-char (point-min))
17934 (search-forward (format "(it %S" test))
17935 (beginning-of-line)
17936 (kill-sexp))
17937 (basic-save-buffer))))))))
17938 (native-inputs
17939 (list emacs-buttercup))
17940 ;; In order to securely connect to an IRC server using TLS, Circe requires
17941 ;; the GnuTLS binary.
17942 (propagated-inputs
17943 (list gnutls))
17944 (home-page "https://github.com/jorgenschaefer/circe")
17945 (synopsis "Client for IRC in Emacs")
17946 (description "Circe is a Client for IRC in Emacs. It integrates well with
17947 the rest of the editor, using standard Emacs key bindings and indicating
17948 activity in channels in the status bar so it stays out of your way unless you
17949 want to use it.")
17950 (license license:gpl3+)))
17951
17952 (define-public emacs-tracking
17953 (package
17954 (inherit emacs-circe)
17955 (name "emacs-tracking")
17956 (arguments
17957 ;; "tracking.el" is a library extracted from Circe package. It requires
17958 ;; "shorten.el".
17959 `(#:include '("^shorten.el$" "^tracking.el$")
17960 ,@(package-arguments emacs-circe)))
17961 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
17962 (synopsis "Buffer tracking library")
17963 (description "@code{tracking.el} provides a way for different modes to
17964 notify the user that a buffer needs attention. The user then can cycle
17965 through them using @key{C-c C-SPC}.")
17966 (license license:gpl3+)))
17967
17968 (define-public emacs-slack
17969 (let ((commit "ff46d88726482211e3ac3d0b9c95dd4fdffe11c2")
17970 (revision "10"))
17971 (package
17972 (name "emacs-slack")
17973 (version (git-version "0.0.2" revision commit))
17974 (source (origin
17975 (method git-fetch)
17976 (uri (git-reference
17977 (url "https://github.com/yuya373/emacs-slack")
17978 (commit commit)))
17979 (file-name (git-file-name name commit))
17980 (sha256
17981 (base32
17982 "15g4dmy4iqqpk8ivhkpsngzllbw0nc5d2sc9j36sdnhwkajzhidj"))))
17983 (build-system emacs-build-system)
17984 (arguments
17985 `(#:phases
17986 (modify-phases %standard-phases
17987 ;; HOME needs to exist for source compilation.
17988 (add-before 'build 'set-HOME
17989 (lambda _ (setenv "HOME" "/tmp") #t)))))
17990 (propagated-inputs
17991 (list emacs-alert
17992 emacs-emojify
17993 emacs-helm
17994 emacs-request
17995 emacs-websocket
17996 emacs-oauth2
17997 emacs-circe))
17998 (home-page "https://github.com/yuya373/emacs-slack")
17999 (synopsis "Slack client for Emacs")
18000 (description "This package provides an Emacs client for the Slack
18001 messaging service.")
18002 (license license:gpl3+))))
18003
18004 (define-public emacs-helm-slack
18005 (let ((commit "465f6220f3f5bee4d95492991fca1290c89534eb")
18006 (revision "1"))
18007 (package
18008 (name "emacs-helm-slack")
18009 (version (git-version "0" revision commit))
18010 (source (origin
18011 (method git-fetch)
18012 (uri (git-reference
18013 (url "https://github.com/yuya373/helm-slack")
18014 (commit commit)))
18015 (file-name (git-file-name name commit))
18016 (sha256
18017 (base32
18018 "0p1s1kl8v68qjprqkf034cz911qzbqxbscqgpn0c3mbm3yfx81f7"))))
18019 (build-system emacs-build-system)
18020 (arguments
18021 `(#:phases
18022 (modify-phases %standard-phases
18023 ;; HOME needs to exist for source compilation.
18024 (add-before 'build 'set-HOME
18025 (lambda _ (setenv "HOME" "/tmp") #t)))))
18026 (propagated-inputs (list emacs-slack))
18027 (home-page "https://github.com/yuya373/helm-slack")
18028 (synopsis "Helm extension for emacs-slack")
18029 (description "This package provides an helm extension for emacs-slack
18030 Slack client.")
18031 (license license:gpl3+))))
18032
18033 (define-public emacs-bash-completion
18034 ;; Need to use a newer commit than the latest version in order to support
18035 ;; completion interfaces that alters the candidate list provided by the
18036 ;; package
18037 (let ((commit "c5eaeed156ab906190c662d491269230967104b1")
18038 (revision "0"))
18039 (package
18040 (name "emacs-bash-completion")
18041 (version (git-version "3.1.0" revision commit))
18042 (source
18043 (origin
18044 (method git-fetch)
18045 (uri (git-reference
18046 (url "https://github.com/szermatt/emacs-bash-completion")
18047 (commit commit)))
18048 (file-name (git-file-name name version))
18049 (sha256
18050 (base32 "0r221iirqsbz13s76r68i496izbirrvcw8ql3wsh205zmxa3jqg1"))))
18051 (inputs (list bash))
18052 (build-system emacs-build-system)
18053 (arguments
18054 (list
18055 #:phases
18056 #~(modify-phases %standard-phases
18057 (add-after 'unpack 'make-git-checkout-writable
18058 (λ _
18059 (for-each make-file-writable (find-files "."))))
18060 (add-before 'install 'configure
18061 (lambda* (#:key inputs #:allow-other-keys)
18062 (emacs-substitute-variables "bash-completion.el"
18063 ("bash-completion-prog"
18064 (search-input-file inputs "/bin/bash"))))))))
18065 (home-page "https://github.com/szermatt/emacs-bash-completion")
18066 (synopsis "Bash completion for the shell buffer")
18067 (description
18068 "@code{bash-completion} defines dynamic completion hooks for shell-mode
18069 and shell-command prompts that are based on Bash completion.")
18070 (license license:gpl2+))))
18071
18072 (define-public emacs-easy-kill
18073 (package
18074 (name "emacs-easy-kill")
18075 (version "0.9.5")
18076 (source (origin
18077 (method url-fetch)
18078 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
18079 version ".tar"))
18080 (sha256
18081 (base32
18082 "0h8rzd23sgkj3vxnyhis9iyq8n3xqp9x1mvxlm61s6wwj9j398j6"))))
18083 (build-system emacs-build-system)
18084 (home-page "https://github.com/leoliu/easy-kill")
18085 (synopsis "Kill and mark things easily in Emacs")
18086 (description
18087 "This package provides commands @code{easy-kill} and @code{easy-mark} to
18088 let users kill or mark things easily.")
18089 (license license:gpl3+)))
18090
18091 (define-public emacs-csv-mode
18092 (package
18093 (name "emacs-csv-mode")
18094 (version "1.21")
18095 (source
18096 (origin
18097 (method url-fetch)
18098 (uri (string-append "https://elpa.gnu.org/packages/"
18099 "csv-mode-" version ".tar"))
18100 (sha256
18101 (base32 "11f01lyz6i133njigg53r890cic8y13kz7dswc8mj7m60a316dmv"))))
18102 (build-system emacs-build-system)
18103 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
18104 (synopsis "Major mode for editing comma/char separated values")
18105 (description
18106 "This Emacs package implements CSV mode, a major mode for editing records
18107 in a generalized CSV (character-separated values) format.")
18108 (license license:gpl3+)))
18109
18110 (define-public emacs-transmission
18111 (package
18112 (name "emacs-transmission")
18113 (version "0.12.2")
18114 (source
18115 (origin
18116 (method git-fetch)
18117 (uri (git-reference
18118 (url "https://github.com/holomorph/transmission")
18119 (commit version)))
18120 (file-name (git-file-name name version))
18121 (sha256
18122 (base32 "16bn8y2sd7kzihp8bxh4vyay16y91q3yc0gcd0bzywcx3hijqlfc"))))
18123 (build-system emacs-build-system)
18124 (home-page "https://github.com/holomorph/transmission")
18125 (synopsis "Emacs interface to a Transmission session")
18126 (description "This package provides an Emacs interface to interact with a
18127 running session of the Transmission Bittorrent client.
18128
18129 Features:
18130
18131 @itemize
18132 @item List, add, start/stop, verify, remove torrents.
18133 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
18134 @item Navigate to the corresponding file list, torrent info, peer info
18135 contexts.
18136 @item Toggle downloading and set priorities for individual files.
18137 @end itemize\n")
18138 (license license:gpl3+)))
18139
18140 (define-public emacs-polymode
18141 (package
18142 (name "emacs-polymode")
18143 (version "0.2.2")
18144 (source
18145 (origin
18146 (method git-fetch)
18147 (uri (git-reference
18148 (url "https://github.com/polymode/polymode")
18149 (commit (string-append "v" version))))
18150 (file-name (git-file-name name version))
18151 (sha256
18152 (base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))
18153 (patches
18154 ;; XXX: Cherry-picked from upstream, remove when bumping to 0.2.3.
18155 (search-patches "emacs-polymode-fix-lexical-variable-error.patch"))))
18156 (build-system emacs-build-system)
18157 (home-page "https://github.com/polymode/polymode")
18158 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
18159 (description
18160 "Polymode is an Emacs package that offers generic support for multiple
18161 major modes inside a single Emacs buffer. It is lightweight, object oriented
18162 and highly extensible. Creating a new polymode typically takes only a few
18163 lines of code. Polymode also provides extensible facilities for external
18164 literate programming tools for exporting, weaving and tangling.")
18165 (license license:gpl3+)))
18166
18167 (define-public emacs-polymode-ansible
18168 (package
18169 (name "emacs-polymode-ansible")
18170 (version "0.3.0")
18171 (source
18172 (origin
18173 (method git-fetch)
18174 (uri (git-reference
18175 (url "https://gitlab.com/mavit/poly-ansible")
18176 (commit version)))
18177 (file-name (git-file-name name version))
18178 (sha256
18179 (base32 "0f0yq6gmkp194nxk90ipprglf1xkmxrgz1rkgrhfslvxq4q2l81h"))))
18180 (build-system emacs-build-system)
18181 (propagated-inputs
18182 (list emacs-ansible-doc emacs-jinja2-mode emacs-polymode
18183 emacs-yaml-mode))
18184 (properties '((upstream-name . "poly-ansible")))
18185 (home-page "https://gitlab.com/mavit/poly-ansible/")
18186 (synopsis "Polymode for Ansible - Jinja2 in YAML")
18187 (description
18188 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
18189 (license license:gpl3+)))
18190
18191 (define-public emacs-polymode-markdown
18192 (package
18193 (name "emacs-polymode-markdown")
18194 (version "0.2.2")
18195 (home-page "https://github.com/polymode/poly-markdown")
18196 (source
18197 (origin
18198 (method git-fetch)
18199 (uri (git-reference
18200 (url home-page)
18201 (commit (string-append "v" version))))
18202 (file-name (git-file-name name version))
18203 (sha256
18204 (base32 "1q4qq0ql08hxkdrd2aal03560k612my7bvnfpfij3g432hn0p7v6"))))
18205 (build-system emacs-build-system)
18206 (propagated-inputs
18207 (list emacs-markdown-mode emacs-polymode))
18208 (properties '((upstream-name . "poly-markdown")))
18209 (synopsis "Polymode for Markdown mode")
18210 (description
18211 "This package allows editing source code blocks embedded in Markdown
18212 files using the major mode corresponding to each block.")
18213 (license license:gpl3+)))
18214
18215 (define-public emacs-poly-noweb
18216 (package
18217 (name "emacs-poly-noweb")
18218 (version "0.2.2")
18219 (source
18220 (origin
18221 (method git-fetch)
18222 (uri (git-reference
18223 (url "https://github.com/polymode/poly-noweb")
18224 (commit (string-append "v" version))))
18225 (file-name (git-file-name name version))
18226 (sha256
18227 (base32 "1jl5h4nf10xd2gdlsxi6h2n3z5zh26ffcixn68xfp5q4zl34zk8p"))))
18228 (build-system emacs-build-system)
18229 (propagated-inputs
18230 (list emacs-polymode))
18231 (home-page "https://github.com/polymode/poly-noweb")
18232 (synopsis "Polymode for noweb")
18233 (description
18234 "This package provides @code{poly-noweb-mode}, a polymode for noweb
18235 files.")
18236 (license license:gpl3+)))
18237
18238 (define-public emacs-powershell
18239 ;; Tagged branch 0.1 is outdated (2015).
18240 (let ((revision "0")
18241 (commit "d1b3f95669343399f199f291ef76c09a0ede5e60"))
18242 (package
18243 (name "emacs-powershell")
18244 (build-system emacs-build-system)
18245 (version (git-version "0.3" revision commit))
18246 (source
18247 (origin
18248 (method git-fetch)
18249 (uri (git-reference
18250 (url "https://github.com/jschaf/powershell.el")
18251 (commit commit)))
18252 (file-name (git-file-name name version))
18253 (sha256
18254 (base32 "1cxhzaaig88zhylyycvb3849r85j1ijqklnh9zbqsfl2zhpb0g5c"))))
18255 (home-page "https://github.com/jschaf/powershell.el")
18256 (synopsis "Emacs mode for editing PowerShell scripts")
18257 (description
18258 "Powershell is an Emacs major mode for editing and running
18259 Microsoft PowerShell files.")
18260 (license license:gpl3+))))
18261
18262 (define-public emacs-polymode-org
18263 (package
18264 (name "emacs-polymode-org")
18265 (version "0.2.2")
18266 (source
18267 (origin
18268 (method git-fetch)
18269 (uri (git-reference
18270 (url "https://github.com/polymode/poly-org")
18271 (commit (string-append "v" version))))
18272 (file-name (git-file-name name version))
18273 (sha256
18274 (base32 "1srnwcsn2bh8gqzxixkhffk7gbnk66kd4dgvxbnps5nxqc6v0qhc"))))
18275 (build-system emacs-build-system)
18276 (propagated-inputs
18277 (list emacs-polymode))
18278 (properties '((upstream-name . "poly-org")))
18279 (home-page "https://github.com/polymode/poly-org")
18280 (synopsis "Polymode definitions for Org mode buffers")
18281 (description
18282 "This package provides definitions for Polymode to support Org buffers.
18283 It edits source blocks in an Org buffer using the native modes of the blocks'
18284 languages while remaining inside the primary Org buffer.")
18285 (license license:gpl3+)))
18286
18287 (define-public eless
18288 (package
18289 (name "eless")
18290 (version "0.7")
18291 (source
18292 (origin
18293 (method git-fetch)
18294 (uri (git-reference
18295 (url "https://github.com/kaushalmodi/eless")
18296 (commit (string-append "v" version))))
18297 (file-name (git-file-name name version))
18298 (sha256
18299 (base32 "01gpzg35v972ik4bimcyhqabjca6sjj41kw2i15xj1k33p4sjqpf"))))
18300 (build-system copy-build-system)
18301 (inputs
18302 (list bash emacs))
18303 (arguments
18304 `(#:install-plan
18305 '(("eless" "bin/")
18306 ("docs/eless.info" "share/info/")
18307 ("eless.org" ,(string-append "share/doc/eless-" version "/")))))
18308 (home-page "https://github.com/kaushalmodi/eless")
18309 (synopsis "Use Emacs as a paginator")
18310 (description "@code{eless} provides a combination of Bash script
18311 and a minimal Emacs view-mode.
18312
18313 Features:
18314
18315 @itemize
18316 @item Independent of a user’s Emacs config.
18317 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
18318 @item Not require an Emacs server to be already running.
18319 @item Syntax highlighting.
18320 @item Org-mode file rendering.
18321 @item @code{man} page viewer.
18322 @item Info viewer.
18323 @item Dired, wdired, (batch edit symbolic links).
18324 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
18325 @item Filter log files lines matching a regexp.
18326 @item Auto-revert log files similar to @code{tail -f}.
18327 @item Quickly change frame and font sizes.
18328 @end itemize\n")
18329 (license license:expat)))
18330
18331 (define-public emacs-evil-matchit
18332 (package
18333 (name "emacs-evil-matchit")
18334 (version "3.0.0")
18335 (source
18336 (origin
18337 (method git-fetch)
18338 (uri (git-reference
18339 (url "https://github.com/redguardtoo/evil-matchit")
18340 (commit version)))
18341 (file-name (git-file-name name version))
18342 (sha256
18343 (base32 "0a55hhqi14g0hy80cfi5anxs44rcdxm1jkkyl561b4d4g823bpbi"))))
18344 (build-system emacs-build-system)
18345 (propagated-inputs
18346 (list emacs-evil))
18347 (home-page "https://github.com/redguardtoo/evil-matchit")
18348 (synopsis "Vim matchit ported into Emacs")
18349 (description
18350 "@code{evil-matchit} is a minor mode for jumping between matching tags in
18351 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
18352 (license license:gpl3+)))
18353
18354 (define-public emacs-evil-smartparens
18355 (package
18356 (name "emacs-evil-smartparens")
18357 (version "0.4.0")
18358 (source
18359 (origin
18360 (method git-fetch)
18361 (uri (git-reference
18362 (url "https://github.com/expez/evil-smartparens")
18363 (commit version)))
18364 (file-name (git-file-name name version))
18365 (sha256
18366 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
18367 (build-system emacs-build-system)
18368 (propagated-inputs
18369 (list emacs-evil emacs-smartparens))
18370 (home-page "https://github.com/expez/evil-smartparens")
18371 (synopsis "Emacs Evil integration for Smartparens")
18372 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
18373 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
18374 emulates Vim features and provides Vim-like key bindings.")
18375 (license license:gpl3+)))
18376
18377 (define-public emacs-evil-quickscope
18378 (package
18379 (name "emacs-evil-quickscope")
18380 (version "0.1.4")
18381 (source
18382 (origin
18383 (method git-fetch)
18384 (uri (git-reference
18385 (url "https://github.com/blorbx/evil-quickscope")
18386 (commit (string-append "v" version))))
18387 (file-name (git-file-name name version))
18388 (sha256
18389 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
18390 (build-system emacs-build-system)
18391 (propagated-inputs
18392 (list emacs-evil))
18393 (arguments
18394 `(#:tests? #t
18395 #:test-command '("emacs" "--batch"
18396 "-l" "evil-quickscope-tests.el"
18397 "-f" "ert-run-tests-batch-and-exit")))
18398 (home-page "https://github.com/blorbx/evil-quickscope")
18399 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
18400 (description "@code{emacs-evil-quickscope} highlights targets for Evil
18401 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
18402 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
18403 features and provides Vim-like key bindings.")
18404 (license license:gpl3+)))
18405
18406 (define-public emacs-bongo
18407 (package
18408 (name "emacs-bongo")
18409 (version "1.1")
18410 (source
18411 (origin
18412 (method git-fetch)
18413 (uri (git-reference
18414 (url "https://github.com/dbrock/bongo")
18415 (commit version)))
18416 (file-name (git-file-name name version))
18417 (sha256
18418 (base32 "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv"))))
18419 (build-system emacs-build-system)
18420 (home-page "https://github.com/dbrock/bongo")
18421 (synopsis "Media player for Emacs")
18422 (description
18423 "This package provides a flexible media player for Emacs. @code{Bongo}
18424 supports multiple backends such as @code{vlc}, @code{mpg123},
18425 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
18426 @code{afplay}.")
18427 (license license:gpl2+)))
18428
18429 (define-public emacs-groovy-modes
18430 (package
18431 (name "emacs-groovy-modes")
18432 (version "2.1")
18433 (source (origin
18434 (method git-fetch)
18435 (uri (git-reference
18436 (url "https://github.com/Groovy-Emacs-Modes\
18437 /groovy-emacs-modes")
18438 (commit version)))
18439 (file-name (git-file-name name version))
18440 (sha256
18441 (base32
18442 "1jpfyqnqd8nj0g8xbiw4ar2qzxx3pvhwibr6hdzhyy9mmc4yzdgk"))))
18443 (build-system emacs-build-system)
18444 (arguments
18445 `(#:tests? #t
18446 #:test-command '("ert-runner")))
18447 (native-inputs
18448 (list emacs-ert-runner emacs-undercover emacs-shut-up emacs-f))
18449 (propagated-inputs
18450 (list emacs-dash emacs-s))
18451 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
18452 (synopsis "Groovy related modes for Emacs")
18453 (description "This package provides @code{groovy-mode} for syntax
18454 highlighting in Groovy source files, REPL integration with run-groovy and
18455 Grails project navigation with the grails mode.")
18456 (license license:gpl3+)))
18457
18458 (define-public emacs-jenkinsfile-mode
18459 (let ((commit "65bf3925852c35c6bd499978f08f83c1193f4347")
18460 (revision "1"))
18461 (package
18462 (name "emacs-jenkinsfile-mode")
18463 (version (git-version "0.0.1" revision commit))
18464 (source (origin
18465 (method git-fetch)
18466 (uri (git-reference
18467 (url "https://github.com/john2x/jenkinsfile-mode")
18468 (commit commit)))
18469 (file-name (git-file-name name version))
18470 (sha256
18471 (base32
18472 "0w38g88yykslg71xr99ff4vx1ffgy90b7xqvvdflr189gwk3avx1"))))
18473 (propagated-inputs
18474 (list emacs-groovy-modes))
18475 (build-system emacs-build-system)
18476 (home-page "https://github.com/john2x/jenkinsfile-mode/")
18477 (synopsis "Emacs major-mode for editing Jenkinsfile")
18478 (description "This package provides a @code{jenkinsfile-mode} derived
18479 from @code{groovy-mode} for editing Jenkins declarative pipeline files.")
18480 (license license:gpl3+))))
18481
18482 (define-public emacs-kotlin-mode
18483 (let ((commit "0e4bafb31d1fc2a0a420a521c2723d5526646c0b")
18484 (revision "1"))
18485 (package
18486 (name "emacs-kotlin-mode")
18487 (version (git-version "0.0.1" revision commit))
18488 (source
18489 (origin
18490 (method git-fetch)
18491 (uri (git-reference
18492 (url "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode")
18493 (commit commit)))
18494 (file-name (git-file-name name version))
18495 (sha256
18496 (base32 "09inpgwmnnqaakyn4r4xs8kax8b89dw94kvl521x6d43h9zl5i70"))))
18497 (build-system emacs-build-system)
18498 (arguments
18499 `(#:tests? #t
18500 #:test-command '("ert-runner" "-L" "." "-L" "test")))
18501 (native-inputs (list emacs-ert-runner))
18502 (home-page "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode")
18503 (synopsis "Major major-mode for editing Kotlin files")
18504 (description
18505 "This package provides a @code{kotlin-mode} for editing Kotlin files.")
18506 (license license:gpl3+))))
18507
18508 (define-public emacs-org-tree-slide
18509 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
18510 (revision "2"))
18511 (package
18512 (name "emacs-org-tree-slide")
18513 (version (git-version "2.8.4" revision commit))
18514 (source (origin
18515 (method git-fetch)
18516 (uri (git-reference
18517 (url "https://github.com/takaxp/org-tree-slide")
18518 (commit commit)))
18519 (sha256
18520 (base32
18521 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
18522 (file-name (git-file-name name version))))
18523 (build-system emacs-build-system)
18524 (home-page "https://github.com/takaxp/org-tree-slide")
18525 (synopsis "Presentation tool for org-mode")
18526 (description
18527 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
18528 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
18529 @kbd{C-<} to jump to the next and previous slide.")
18530 (license license:gpl3+))))
18531
18532 (define-public emacs-scratch-el
18533 (package
18534 (name "emacs-scratch-el")
18535 (version "1.4")
18536 (source
18537 (origin
18538 (method git-fetch)
18539 (uri (git-reference
18540 (url "https://codeberg.org/emacs-weirdware/scratch")
18541 (commit (string-append "v" version))))
18542 (file-name (git-file-name name version))
18543 (sha256
18544 (base32 "174d8ancnkgb7q62196kd6nrfib6rnwxw4visgbk1c6yd1w8kray"))))
18545 (build-system emacs-build-system)
18546 (native-inputs
18547 (list texinfo))
18548 (arguments
18549 '(#:phases
18550 (modify-phases %standard-phases
18551 (add-after 'install 'install-doc
18552 (lambda* (#:key outputs #:allow-other-keys)
18553 (unless (invoke "makeinfo" "scratch.texi")
18554 (error "makeinfo failed"))
18555 (install-file "scratch.info"
18556 (string-append (assoc-ref outputs "out")
18557 "/share/info"))
18558 #t)))))
18559 (home-page "https://codeberg.org/emacs-weirdware/scratch")
18560 (synopsis "Create scratch buffers with the same mode as current buffer")
18561 (description "Scratch is an extension to Emacs that enables one to create
18562 scratch buffers that are in the same mode as the current buffer. This is
18563 notably useful when working on code in some language; you may grab code into a
18564 scratch buffer, and, by virtue of this extension, do so using the Emacs
18565 formatting rules for that language.")
18566 (license license:bsd-2)))
18567
18568 (define-public emacs-kv
18569 (package
18570 (name "emacs-kv")
18571 (version "0.0.19")
18572 (source
18573 (origin
18574 (method git-fetch)
18575 (uri (git-reference
18576 (url "https://github.com/nicferrier/emacs-kv")
18577 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
18578 (file-name (git-file-name name version))
18579 (sha256
18580 (base32
18581 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))
18582 (patches
18583 (search-patches "emacs-kv-fix-tests.patch"))))
18584 (build-system emacs-build-system)
18585 (arguments
18586 `(#:tests? #t
18587 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
18588 "-f" "ert-run-tests-batch-and-exit")))
18589 (home-page "https://github.com/nicferrier/emacs-kv")
18590 (synopsis "Key/Value data structures library for Emacs Lisp")
18591 (description "@code{emacs-kv} is a collection of tools for dealing with
18592 key/value data structures such as plists, alists and hash-tables in Emacs
18593 Lisp.")
18594 (license license:gpl3+)))
18595
18596 (define-public emacs-esxml
18597 (package
18598 (name "emacs-esxml")
18599 (version "0.3.7")
18600 (source (origin
18601 (method git-fetch)
18602 (uri (git-reference
18603 (url "https://github.com/tali713/esxml")
18604 (commit version)))
18605 (file-name (git-file-name name version))
18606 (sha256
18607 (base32
18608 "1xzxmgsg0j72sf1vjh9gjswz3c29js0kqhm7r3jrqrh3a5agdnml"))))
18609 (build-system emacs-build-system)
18610 (arguments
18611 `(#:emacs ,emacs ;need libxml
18612 ;; XXX: Only the two following files are meant to be packaged.
18613 ;; Byte-compiling the others Elisp files leads to build errors anyway.
18614 #:include (list "esxml.el" "esxml-query.el")))
18615 (propagated-inputs
18616 (list emacs-kv))
18617 (home-page "https://github.com/tali713/esxml/")
18618 (synopsis "SXML for EmacsLisp")
18619 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
18620 Simply, this is the easiest way to write HTML or XML in Lisp. This library
18621 uses the native form of XML representation as used by many libraries already
18622 included within Emacs. See @code{esxml-to-xml} for a concise description of
18623 the format.")
18624 (license license:gpl3+)))
18625
18626 (define-public emacs-nov-el
18627 (package
18628 (name "emacs-nov-el")
18629 (version "0.4.0")
18630 (source
18631 (origin
18632 (method git-fetch)
18633 (uri (git-reference
18634 (url "https://depp.brause.cc/nov.el.git")
18635 (commit version)))
18636 (file-name (git-file-name name version))
18637 (sha256
18638 (base32
18639 "10507fdfx02wb3j7g34w4ii8rgnjbmriq63ir6x1agf38s3i9p52"))))
18640 (build-system emacs-build-system)
18641 (arguments
18642 (list
18643 #:emacs emacs ;need libxml
18644 #:phases
18645 #~(modify-phases %standard-phases
18646 (add-after 'unpack 'embed-path-to-unzip
18647 (lambda _
18648 (substitute* "nov.el"
18649 (("\\(executable-find \"unzip\"\\)")
18650 (string-append "\"" (which "unzip") "\""))))))))
18651 (propagated-inputs
18652 (list emacs-dash emacs-esxml))
18653 (inputs
18654 (list unzip))
18655 (home-page "https://depp.brause.cc/nov.el/")
18656 (synopsis "Major mode for reading EPUBs in Emacs")
18657 (description "@code{nov.el} provides a major mode for reading EPUB
18658 documents.
18659
18660 Features:
18661
18662 @itemize
18663 @item Basic navigation (jump to TOC, previous/next chapter)
18664 @item Remembering and restoring the last read position
18665 @item Jump to next chapter when scrolling beyond end
18666 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
18667 @item Hyperlinks to internal and external targets
18668 @item Supports textual and image documents
18669 @item View source of document files
18670 @item Metadata display
18671 @item Image rescaling
18672 @end itemize
18673 ")
18674 (license license:gpl3+)))
18675
18676 (define-public epipe
18677 (package
18678 (name "epipe")
18679 (version "0.1.0")
18680 (source
18681 (origin
18682 (method git-fetch)
18683 (uri (git-reference
18684 (url "https://github.com/cute-jumper/epipe")
18685 (commit version)))
18686 (file-name (git-file-name name version))
18687 (sha256
18688 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
18689 (build-system trivial-build-system)
18690 (arguments
18691 `(#:modules
18692 ((guix build utils))
18693 #:builder
18694 (begin
18695 (use-modules (guix build utils))
18696 ;; Extract source.
18697 (copy-recursively (assoc-ref %build-inputs "source") "source")
18698 (chdir "source")
18699 ;; Patch shebangs.
18700 (substitute* "epipe"
18701 (("/usr/bin/env bash")
18702 (search-input-file %build-inputs "/bin/bash")))
18703 (patch-shebang "epipe.pl"
18704 (list (string-append (assoc-ref %build-inputs "perl")
18705 "/bin")))
18706 ;; Install.
18707 (for-each (lambda (file)
18708 (install-file file (string-append %output "/bin")))
18709 '("epipe" "epipe.pl")))))
18710 (inputs
18711 (list bash perl))
18712 (home-page "https://github.com/cute-jumper/epipe")
18713 (synopsis "Pipe to the @code{emacsclient}")
18714 (description "@code{epipe} provides an utility to use your editor in
18715 the pipeline, featuring the support for running @code{emacsclient}.")
18716 (license license:gpl3+)))
18717
18718 (define-public emacs-jupyter
18719 (package
18720 (name "emacs-jupyter")
18721 (version "0.8.2")
18722 (source
18723 (origin
18724 (method git-fetch)
18725 (uri (git-reference
18726 (url "https://github.com/nnicandro/emacs-jupyter")
18727 (commit (string-append "v" version))))
18728 (file-name (git-file-name name version))
18729 (sha256
18730 (base32 "1sr007wsl2y6wqpzkmv3inbpwhvgdcb2nmqzgfg7w1awapi2r13p"))))
18731 (build-system emacs-build-system)
18732 (propagated-inputs
18733 (list emacs-company ;optional
18734 emacs-markdown-mode ;optional
18735 emacs-simple-httpd
18736 emacs-websocket
18737 emacs-zmq))
18738 (home-page "https://github.com/nnicandro/emacs-jupyter")
18739 (synopsis "Emacs interface to communicate with Jupyter kernels")
18740 (description "This package provides an Emacs interface to communicate with
18741 Jupyter kernels. It provides REPL and @code{org-mode} source code block
18742 frontends to Jupyter kernels and kernel interactions integrated with Emacs'
18743 built-in features.")
18744 (license license:gpl3+)))
18745
18746 (define-public emacs-hcl-mode
18747 (package
18748 (name "emacs-hcl-mode")
18749 (version "0.03")
18750 (source
18751 (origin
18752 (method git-fetch)
18753 (uri (git-reference
18754 (url "https://github.com/syohex/emacs-hcl-mode")
18755 (commit version)))
18756 (file-name (git-file-name name version))
18757 (sha256
18758 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
18759 (build-system emacs-build-system)
18760 (home-page "https://github.com/syohex/emacs-hcl-mode")
18761 (synopsis "Major mode for the Hashicorp Configuration Language")
18762 (description
18763 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
18764 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
18765 highlighting and indentation support.")
18766 (license license:gpl3+)))
18767
18768 (define-public emacs-terraform-mode
18769 (package
18770 (name "emacs-terraform-mode")
18771 (version "0.06")
18772 (source
18773 (origin
18774 (method git-fetch)
18775 (uri (git-reference
18776 (url "https://github.com/syohex/emacs-terraform-mode")
18777 (commit version)))
18778 (file-name (git-file-name name version))
18779 (sha256
18780 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
18781 (build-system emacs-build-system)
18782 (propagated-inputs
18783 (list emacs-hcl-mode))
18784 (home-page "https://github.com/syohex/emacs-terraform-mode")
18785 (synopsis "Major mode for Terraform")
18786 (description
18787 "@code{emacs-terraform-mode} provides a major mode for working with
18788 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
18789 functionality is inherited from @code{hcl-mode}.")
18790 (license license:gpl3+)))
18791
18792 (define-public emacs-exec-path-from-shell
18793 (package
18794 (name "emacs-exec-path-from-shell")
18795 (version "1.12")
18796 (source
18797 (origin
18798 (method git-fetch)
18799 (uri (git-reference
18800 (url "https://github.com/purcell/exec-path-from-shell")
18801 (commit version)))
18802 (file-name (git-file-name name version))
18803 (sha256
18804 (base32
18805 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
18806 (build-system emacs-build-system)
18807 (home-page "https://github.com/purcell/exec-path-from-shell")
18808 (synopsis "Get environment variables such as @env{PATH} from the shell")
18809 (description
18810 "This library allows the user to set Emacs @code{exec-path} and @env{PATH}
18811 from the shell's @env{PATH}, so that @code{shell-command}, @code{compile} and
18812 the like work as expected on systems on which Emacs is not guaranteed to
18813 inherit a login shell's environment variables. It also allows other
18814 environment variables to be retrieved from the shell, so that Emacs will see
18815 the same values you get in a terminal.")
18816 (license license:gpl3+)))
18817
18818 (define-public emacs-frog-menu
18819 (package
18820 (name "emacs-frog-menu")
18821 (version "0.2.11")
18822 (source
18823 (origin
18824 (method url-fetch)
18825 (uri (string-append "https://elpa.gnu.org/packages/"
18826 "frog-menu-" version ".el"))
18827 (sha256
18828 (base32 "06iw11z61fd0g4w3562k3smcmzaq3nivvvc6gzm8y8k5pcrqzdff"))))
18829 (build-system emacs-build-system)
18830 (propagated-inputs
18831 (list emacs-avy emacs-posframe))
18832 (home-page "https://github.com/clemera/frog-menu")
18833 (synopsis "Quickly pick items from ad hoc menus")
18834 (description
18835 "This package provides a popup offering a preview of a list of candidates
18836 on which user-defined dispatch actions can act.")
18837 (license license:gpl3+)))
18838
18839 (define-public emacs-frog-jump-buffer
18840 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
18841 (revision "1"))
18842 (package
18843 (name "emacs-frog-jump-buffer")
18844 (version (git-version "0.1.4" revision commit))
18845 (source
18846 (origin
18847 (method git-fetch)
18848 (uri (git-reference
18849 (url "https://github.com/waymondo/frog-jump-buffer")
18850 (commit commit)))
18851 (file-name (git-file-name name version))
18852 (sha256
18853 (base32
18854 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
18855 (build-system emacs-build-system)
18856 (propagated-inputs
18857 (list emacs-dash emacs-frog-menu emacs-avy))
18858 (home-page "https://github.com/waymondo/frog-jump-buffer")
18859 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
18860 (description
18861 "This package provides a preview window of buffers that can be switched
18862 to with quicklink-style selections.")
18863 (license license:gpl3+))))
18864
18865 (define-public emacs-deft
18866 (package
18867 (name "emacs-deft")
18868 (version "0.8")
18869 (source
18870 (origin
18871 (method git-fetch)
18872 (uri (git-reference
18873 (url "https://github.com/jrblevin/deft")
18874 (commit (string-append "v" version))))
18875 (file-name (git-file-name name version))
18876 (sha256
18877 (base32
18878 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
18879 (build-system emacs-build-system)
18880 (home-page "https://jblevins.org/projects/deft/")
18881 (synopsis "Quickly browse, filter, and edit plain text notes")
18882 (description
18883 "Deft is an Emacs mode for quickly browsing, filtering, and editing
18884 directories of plain text notes, inspired by Notational Velocity.")
18885 (license license:bsd-3)))
18886
18887 (define-public emacs-anzu
18888 (package
18889 (name "emacs-anzu")
18890 (version "0.64")
18891 (source
18892 (origin
18893 (method git-fetch)
18894 (uri (git-reference
18895 (url "https://github.com/syohex/emacs-anzu")
18896 (commit version)))
18897 (file-name (git-file-name name version))
18898 (sha256
18899 (base32 "1jfn5nm6r68wa0gn2k2zy6sdq6c8shw8x04ylzzm5cw7zm60jw0n"))))
18900 (build-system emacs-build-system)
18901 (home-page "https://github.com/syohex/emacs-anzu")
18902 (synopsis "Show number of matches in mode-line while searching")
18903 (description
18904 "Anzu provides a minor mode which displays \"current match/total
18905 matches\" in the mode line in various search modes. This is an Emacs port of
18906 Anzu.zim.")
18907 (license license:gpl3+)))
18908
18909 (define-public emacs-ascii-art-to-unicode
18910 (package
18911 (name "emacs-ascii-art-to-unicode")
18912 (version "1.13")
18913 (source
18914 (origin
18915 (method url-fetch)
18916 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
18917 version ".el"))
18918 (sha256
18919 (base32 "1c0jva3amhl9c5xc5yzdpi58c8m1djym4ccj31z6wmakq7npy07p"))))
18920 (build-system emacs-build-system)
18921 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
18922 (synopsis "ASCII to Unicode art converter for Emacs")
18923 (description "This Emacs package provides the commands @command{aa2u} and
18924 @command{aa2u-rectangle}. Both of these commands can be used to convert
18925 simple ASCII art line drawings to Unicode; the former works on the active
18926 region of the buffer, while the latter works on rectangular selections.")
18927 (license license:gpl3+)))
18928
18929 (define-public emacs-emmet-mode
18930 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
18931 (revision "1"))
18932 (package
18933 (name "emacs-emmet-mode")
18934 (version (git-version "1.0.8" revision commit))
18935 (source (origin
18936 (method git-fetch)
18937 (uri (git-reference
18938 (url "https://github.com/smihica/emmet-mode")
18939 (commit commit)))
18940 (file-name (git-file-name name version))
18941 (sha256
18942 (base32
18943 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
18944 (build-system emacs-build-system)
18945 (home-page "https://github.com/smihica/emmet-mode")
18946 (synopsis "Unofficial Emmet's support for Emacs")
18947 (description
18948 "Unfold CSS-selector-like expressions to markup. It is intended to be
18949 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
18950 (license license:gpl3+))))
18951
18952 (define-public emacs-ergoemacs-mode
18953 (package
18954 (name "emacs-ergoemacs-mode")
18955 (version "5.22.2.23")
18956 (source
18957 (origin
18958 (method git-fetch)
18959 (uri (git-reference
18960 (url "https://github.com/ergoemacs/ergoemacs-mode")
18961 (commit (string-append "v" version))))
18962 (file-name (git-file-name name version))
18963 (sha256
18964 (base32
18965 "1ipwzl0l26g5qvc1sgmz2ra5vn1j3hl0mnkgzpa3j4p8gsmxdiqr"))))
18966 (build-system emacs-build-system)
18967 (propagated-inputs
18968 (list emacs-undo-tree))
18969 (home-page "https://ergoemacs.github.io/")
18970 (synopsis "Emacs mode based on common modern interface and ergonomics")
18971 (description
18972 "This package provides an efficient Emacs keybinding set based on
18973 statistics of command frequency, and supports common shortcuts for open,
18974 close, copy, cut, paste, undo, redo.")
18975 (license license:gpl3+)))
18976
18977 (define-public emacs-password-store
18978 (let ((commit "918992c19231b33b3d4a3288a7288a620e608cb4")
18979 (revision "1"))
18980 (package
18981 (name "emacs-password-store")
18982 ;; The emacs package version does not match the password-store version,
18983 ;; even though it is part of the same repository. When updating, look
18984 ;; at the version declared in password-store.el.
18985 (version (git-version "2.1.4" revision commit))
18986 (source (origin
18987 (method git-fetch)
18988 (uri (git-reference
18989 (url "git://git.zx2c4.com/password-store")
18990 (commit commit)))
18991 (file-name (git-file-name name version))
18992 (sha256
18993 (base32
18994 "0ni62f4pq96g0i0q66bch1dl9k4zqwhg7xaf746k3gbbqxcdh3vi"))))
18995 (build-system emacs-build-system)
18996 (arguments
18997 (list #:phases
18998 #~(modify-phases %standard-phases
18999 (add-after 'unpack 'extract-el-file
19000 (lambda _
19001 (copy-file "contrib/emacs/password-store.el"
19002 "password-store.el")
19003 (delete-file-recursively "contrib")
19004 (delete-file-recursively "man")
19005 (delete-file-recursively "src")
19006 (delete-file-recursively "tests")))
19007 (add-after 'extract-el-file 'patch-executables
19008 (lambda* (#:key inputs #:allow-other-keys)
19009 (emacs-substitute-variables "password-store.el"
19010 ("password-store-executable"
19011 (search-input-file inputs "/bin/pass"))))))))
19012 (inputs
19013 (list password-store))
19014 (propagated-inputs
19015 (list emacs-auth-source-pass emacs-s emacs-with-editor))
19016 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
19017 (synopsis "Password store (pass) support for Emacs")
19018 (description
19019 "This package provides functions for working with pass (\"the
19020 standard Unix password manager\").")
19021 (license license:gpl3+))))
19022
19023 (define-public emacs-password-store-otp
19024 (package
19025 (name "emacs-password-store-otp")
19026 (version "0.1.5")
19027 (source
19028 (origin
19029 (method git-fetch)
19030 (uri (git-reference
19031 (url "https://github.com/volrath/password-store-otp.el")
19032 (commit version)))
19033 (sha256
19034 (base32 "0gb48blvnn6ci2wl45z81p41ny7vbgl610hqy6b2hyr2171qjd60"))
19035 (file-name (git-file-name name version))))
19036 (build-system emacs-build-system)
19037 (propagated-inputs
19038 (list emacs-password-store emacs-s))
19039 (home-page "https://github.com/volrath/password-store-otp.el")
19040 (synopsis
19041 "Interact with the @code{pass-otp} extension for @code{pass} from Emacs")
19042 (description "This package provides Emacs functions to interact with the
19043 @code{pass-otp} extension for @code{pass}. It includes functions to import
19044 OTP URIs from screenshots of QR codes, and to export them back to QR codes if
19045 needed.")
19046 (license license:gpl3+)))
19047
19048 (define-public emacs-auth-source-pass
19049 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
19050 (revision "2"))
19051 (package
19052 (name "emacs-auth-source-pass")
19053 (version (git-version "5.0.0" revision commit))
19054 (source
19055 (origin
19056 (method git-fetch)
19057 (uri (git-reference
19058 (url "https://github.com/DamienCassou/auth-password-store")
19059 (commit commit)))
19060 (file-name (git-file-name name version))
19061 (sha256
19062 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
19063 (build-system emacs-build-system)
19064 (arguments
19065 `(#:tests? #t
19066 #:test-command '("emacs" "--batch"
19067 "-L" "."
19068 "-l" "test/auth-source-pass-tests.el"
19069 "-f" "ert-run-tests-batch-and-exit")))
19070 (home-page "https://github.com/DamienCassou/auth-password-store")
19071 (synopsis "Integrate @code{auth-source} with @code{password-store}")
19072 (description "This package helps Emacs integrate with the Unix
19073 @code{password-store} application.")
19074 (license license:gpl3+))))
19075
19076 (define-public emacs-pass
19077 (package
19078 (name "emacs-pass")
19079 (version "2.0")
19080 (source
19081 (origin
19082 (method git-fetch)
19083 (uri (git-reference
19084 (url "https://github.com/NicolasPetton/pass")
19085 (commit version)))
19086 (file-name (git-file-name name version))
19087 (sha256
19088 (base32 "0jc8j421mlflspg24jvrqc2n3y5n3cpk3hjy560il8g36xi1049p"))))
19089 (build-system emacs-build-system)
19090 (propagated-inputs
19091 (list emacs-password-store emacs-f))
19092 (home-page "https://github.com/NicolasPetton/pass")
19093 (synopsis "Major mode for @file{password-store.el}")
19094 (description "This is a major mode for managing password-store (pass)
19095 keychains. The keychain entries are displayed in a directory-like structure
19096 and can be consulted and modified.")
19097 (license license:gpl3+)))
19098
19099 (define-public emacs-psc-ide
19100 ;; There is no proper release. The base version is extracted from the
19101 ;; "Version" keyword in the main file.
19102 (let ((commit "ce97d719458ea099b40c02f05b6609601c727e66")
19103 (revision "2"))
19104 (package
19105 (name "emacs-psc-ide")
19106 (version (git-version "0.1.0" revision commit))
19107 (source
19108 (origin
19109 (method git-fetch)
19110 (uri
19111 (git-reference
19112 (url "https://github.com/purescript-emacs/psc-ide-emacs")
19113 (commit commit)))
19114 (file-name (git-file-name name version))
19115 (sha256
19116 (base32 "0xfw93pdf744h2yswc53qwyawfzkc31rv8dmha3irq7k1nklhq6y"))))
19117 (build-system emacs-build-system)
19118 (propagated-inputs
19119 (list emacs-company emacs-dash emacs-flycheck emacs-let-alist
19120 emacs-s))
19121 (home-page "https://github.com/purescript-emacs/psc-ide-emacs")
19122 (synopsis "Emacs integration for PureScript's psc-ide tool")
19123 (description
19124 "This package provices Emacs integration for @code{psc-ide}, an IDE
19125 protocol for PureScript programming language. It features:
19126
19127 @itemize
19128 @item Completions
19129 @item Type at point
19130 @item Go to definition
19131 @item Automatic imports
19132 @item Case split
19133 @item Build system integration, and
19134 @item Flycheck support
19135 @end itemize")
19136 (license license:gpl3+))))
19137
19138 (define-public emacs-evil-anzu
19139 (package
19140 (name "emacs-evil-anzu")
19141 (version "0.03")
19142 (source
19143 (origin
19144 (method git-fetch)
19145 (uri (git-reference
19146 (url "https://github.com/syohex/emacs-evil-anzu")
19147 (commit version)))
19148 (file-name (git-file-name name version))
19149 (sha256
19150 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
19151 (build-system emacs-build-system)
19152 (propagated-inputs
19153 (list emacs-evil emacs-anzu))
19154 (home-page "https://github.com/syohex/emacs-evil-anzu")
19155 (synopsis "Anzu for evil-mode")
19156 (description "@code{anzu} provides a minor mode that displays the current
19157 match and total match information in the mode-line in various search modes.")
19158 (license license:gpl3+)))
19159
19160 (define-public emacs-pg
19161 (package
19162 (name "emacs-pg")
19163 (version "0.16")
19164 (source (origin
19165 (method git-fetch)
19166 (uri (git-reference (url "https://github.com/emarsden/pg-el")
19167 (commit (string-append "v" version))))
19168 (file-name (git-file-name name version))
19169 (sha256
19170 (base32
19171 "1jdnslpgdm16klaga02p33g7c8bjzg164kxz3jd7gs5v9gqa6ppz"))))
19172 (build-system emacs-build-system)
19173 (home-page "https://github.com/emarsden/pg-el")
19174 (synopsis "Emacs Lisp interface for PostgreSQL")
19175 (description
19176 "This module lets you access the PostgreSQL object-relational DBMS from
19177 Emacs, using its socket-level frontend/backend protocol. The module is
19178 capable of automatic type coercions from a range of SQL types to the
19179 equivalent Emacs Lisp type. This is a low level API, and won't be useful to
19180 end users.")
19181 (license license:gpl2+)))
19182
19183 (define-public emacs-finalize
19184 (package
19185 (name "emacs-finalize")
19186 (version "2.0.0")
19187 (source
19188 (origin
19189 (method git-fetch)
19190 (uri (git-reference
19191 (url "https://github.com/skeeto/elisp-finalize")
19192 (commit version)))
19193 (file-name (git-file-name name version))
19194 (sha256
19195 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
19196 (build-system emacs-build-system)
19197 (home-page "https://github.com/skeeto/elisp-finalize")
19198 (synopsis "Finalizers for Emacs Lisp")
19199 (description
19200 "This package runs a callback (a finalizer)
19201 after its registered lisp object has been garbage collected. This allows
19202 extra resources, such as buffers and processes, to be cleaned up after the
19203 object has been freed.")
19204 (license license:unlicense)))
19205
19206 (define-public emacs-emacsql
19207 (package
19208 (name "emacs-emacsql")
19209 (version "3.1.1")
19210 (source
19211 (origin
19212 (method git-fetch)
19213 (uri (git-reference
19214 (url "https://github.com/skeeto/emacsql")
19215 (commit (string-append version))))
19216 (file-name (git-file-name name version))
19217 (sha256
19218 (base32 "1xpmji2qgr9r38cdhws65x9s9jy7fk93q8g1j2fm7j8kcfjh9x3g"))))
19219 (build-system emacs-build-system)
19220 (arguments
19221 (list
19222 #:modules '((guix build emacs-build-system)
19223 (guix build utils)
19224 (guix build emacs-utils)
19225 (srfi srfi-26))
19226 #:phases
19227 #~(modify-phases %standard-phases
19228 (add-before 'install 'patch-elisp-shell-shebangs
19229 (lambda _
19230 (substitute* (find-files "." "\\.el")
19231 (("/bin/sh") (which "sh")))))
19232 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
19233 (lambda _
19234 (setenv "SHELL" "sh")))
19235 (add-after 'setenv-shell 'build-emacsql-sqlite
19236 (lambda _
19237 (invoke "make" "binary" (string-append "CC=" #$(cc-for-target)))))
19238 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
19239 ;; This build phase installs emacs-emacsql binary.
19240 (lambda _
19241 (install-file "sqlite/emacsql-sqlite"
19242 (string-append #$output "/bin"))))
19243 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
19244 ;; This build phase removes interactive prompts
19245 ;; and makes sure Emacs look for binaries in the right places.
19246 (lambda _
19247 (emacs-substitute-variables "emacsql-sqlite.el"
19248 ("emacsql-sqlite-executable"
19249 (string-append #$output "/bin/emacsql-sqlite"))
19250 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
19251 ("emacsql-sqlite-c-compilers"
19252 `(list ,(which "gcc")))))))))
19253 (inputs
19254 (list emacs-minimal `(,mariadb "dev") `(,mariadb "lib") postgresql))
19255 (propagated-inputs
19256 (list emacs-finalize emacs-pg))
19257 (home-page "https://github.com/skeeto/emacsql")
19258 (synopsis "Emacs high-level SQL database front-end")
19259 (description "Any readable Lisp value can be stored as a value in EmacSQL,
19260 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
19261 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
19262 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
19263 (license license:gpl3+)))
19264
19265 (define-public emacs-emacsql-sqlite3
19266 (package
19267 (name "emacs-emacsql-sqlite3")
19268 (version "1.0.2")
19269 (source
19270 (origin
19271 (method git-fetch)
19272 (uri (git-reference
19273 (url "https://github.com/cireu/emacsql-sqlite3")
19274 (commit version)))
19275 (file-name (git-file-name name version))
19276 (sha256
19277 (base32 "1jzvvsvi8jm2ws3y49nmpmwd3zlvf8j83rl2vwizd1aplwwdnmd6"))))
19278 (build-system emacs-build-system)
19279 (arguments
19280 `(#:tests? #t
19281 #:test-command '("emacs" "-Q" "--batch" "-L" "."
19282 "--load" "emacsql-sqlite3-test.el"
19283 "-f" "ert-run-tests-batch-and-exit")
19284 #:phases
19285 (modify-phases %standard-phases
19286 (add-after 'unpack 'embed-path-to-sqlite3
19287 (lambda _
19288 (substitute* "emacsql-sqlite3.el"
19289 (("\\(executable-find \"sqlite3\"\\)")
19290 (string-append "\"" (which "sqlite3") "\""))))))))
19291 (native-inputs
19292 (list emacs-ert-runner))
19293 (inputs
19294 (list sqlite))
19295 (propagated-inputs
19296 (list emacs-emacsql))
19297 (home-page "https://github.com/cireu/emacsql-sqlite3")
19298 (synopsis "EmacSQL backend for SQLite")
19299 (description "This is yet another EmacSQL backend for SQLite which uses
19300 official @command{sqlite3} executable to access SQL database.")
19301 (license license:gpl3+)))
19302
19303 (define-public emacs-closql
19304 (package
19305 (name "emacs-closql")
19306 (version "1.2.1")
19307 (source
19308 (origin
19309 (method git-fetch)
19310 (uri (git-reference
19311 (url "https://github.com/emacscollective/closql")
19312 (commit (string-append "v" version))))
19313 (file-name (git-file-name name version))
19314 (sha256
19315 (base32
19316 "1s9riibws28xjn2bjn9qz3m2gvcmrn18b7g5y6am4sy7rgkx3nwx"))))
19317 (build-system emacs-build-system)
19318 (propagated-inputs
19319 (list emacs-emacsql))
19320 (home-page "https://github.com/emacscollective/closql")
19321 (synopsis "Store EIEIO objects using EmacSQL")
19322 (description
19323 "This package stores uniform EIEIO objects in an EmacSQL
19324 database. SQLite is used as backend. This library imposes some restrictions
19325 on what kind of objects can be stored; it isn't intended to store arbitrary
19326 objects. All objects have to share a common superclass and subclasses cannot
19327 add any additional instance slots.")
19328 (license license:gpl3)))
19329
19330 (define-public emacs-epkg
19331 (package
19332 (name "emacs-epkg")
19333 (version "3.3.3")
19334 (source
19335 (origin
19336 (method git-fetch)
19337 (uri (git-reference
19338 (url "https://github.com/emacscollective/epkg")
19339 (commit (string-append "v" version))))
19340 (file-name (git-file-name name version))
19341 (sha256
19342 (base32 "0d09ddlhvgp8rpybqmzvzpzdp1hjaq97wp2br4g90lpx2vclkgn7"))))
19343 (build-system emacs-build-system)
19344 (arguments
19345 `(#:phases
19346 (modify-phases %standard-phases
19347 (add-before 'install 'make-info
19348 ;; Documentation is located in "docs/".
19349 (lambda* (#:key outputs #:allow-other-keys)
19350 (with-directory-excursion "docs"
19351 (invoke "makeinfo" "-o" "epkg.info" "epkg.texi")
19352 (let ((info (string-append (assoc-ref outputs "out")
19353 "/share/info")))
19354 (install-file "epkg.info" info)))))
19355 (add-after 'make-info 'move-to-lisp-directory
19356 ;; Source code is located in "lisp/".
19357 (lambda _
19358 (chdir "lisp")))
19359 (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path
19360 (lambda _
19361 (setenv "EMACSLOADPATH"
19362 (string-append (getcwd)
19363 "/lisp:"
19364 (getenv "EMACSLOADPATH"))))))))
19365 (native-inputs
19366 (list texinfo))
19367 (propagated-inputs
19368 (list emacs-closql emacs-dash))
19369 (home-page "https://emacsmirror.net")
19370 (synopsis "Browse the Emacsmirror package database")
19371 (description "This package provides access to a local copy of the
19372 Emacsmirror package database. It provides low-level functions for querying
19373 the database and a @file{package.el} user interface for browsing the database.
19374 Epkg itself is not a package manager.")
19375 (license license:gpl3+)))
19376
19377 (define-public emacs-elisp-slime-nav
19378 (package
19379 (name "emacs-elisp-slime-nav")
19380 (version "0.10")
19381 (source
19382 (origin
19383 (method git-fetch)
19384 (uri (git-reference
19385 (url "https://github.com/purcell/elisp-slime-nav")
19386 (commit version)))
19387 (file-name (git-file-name name version))
19388 (sha256
19389 (base32 "08k4zlawjkb0ldn4lgrhih8nzln398x7dwzpipqfyrmp0xziywma"))))
19390 (build-system emacs-build-system)
19391 (home-page "https://github.com/purcell/elisp-slime-nav")
19392 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
19393 (description
19394 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
19395 in @code{emacs-lisp-mode}, together with an elisp equivalent of
19396 @code{slime-describe-symbol}.")
19397 (license license:gpl3+)))
19398
19399 (define-public emacs-dedicated
19400 (package
19401 (name "emacs-dedicated")
19402 (version "1.0.0")
19403 (source
19404 (origin
19405 (method git-fetch)
19406 (uri (git-reference
19407 (url "https://github.com/emacsorphanage/dedicated")
19408 (commit version)))
19409 (file-name (git-file-name name version))
19410 (sha256
19411 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
19412 (build-system emacs-build-system)
19413 (home-page "https://github.com/emacsorphanage/dedicated")
19414 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
19415 (description
19416 "This simple Emacs minor mode allows you to toggle a window's
19417 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
19418 files into that window. This can be quite handy since many commands will use
19419 another window to show results (compilation mode, starting info, and so on).
19420 A dedicated window won't be used for such a purpose. For details, please read
19421 the source file.")
19422 (license license:gpl2+)))
19423
19424 (define-public emacs-nnreddit
19425 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
19426 (revision "1"))
19427 (package
19428 (name "emacs-nnreddit")
19429 (version (string-append "0.0.1-" revision "."
19430 (string-take commit 7)))
19431 (source (origin
19432 (method git-fetch)
19433 (uri (git-reference
19434 (url "https://github.com/paul-issartel/nnreddit")
19435 (commit commit)))
19436 (file-name (git-file-name name version))
19437 (sha256
19438 (base32
19439 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
19440 (build-system emacs-build-system)
19441 (home-page "https://github.com/paul-issartel/nnreddit")
19442 (synopsis "Reddit backend for the Gnus newsreader")
19443 (description "@url{https://www.reddit.com} backend for the Gnus
19444 newsreader.")
19445 (license license:gpl3+))))
19446
19447 (define-public emacs-makey
19448 (package
19449 (name "emacs-makey")
19450 (version "0.3")
19451 (source
19452 (origin
19453 (method git-fetch)
19454 (uri (git-reference
19455 (url "https://github.com/mickeynp/makey")
19456 (commit version)))
19457 (file-name (git-file-name name version))
19458 (sha256
19459 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
19460 (build-system emacs-build-system)
19461 (home-page "https://github.com/mickeynp/makey")
19462 (synopsis "Emacs interactive command-line mode")
19463 (description
19464 "This package provides an Emacs interactive command-line mode.")
19465 (license license:gpl3+)))
19466
19467 (define-public emacs-outorg
19468 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
19469 (package
19470 (name "emacs-outorg")
19471 (version (git-version "2.0" "1" commit))
19472 (source
19473 (origin
19474 (method git-fetch)
19475 (uri (git-reference
19476 (url "https://github.com/alphapapa/outorg")
19477 (commit commit)))
19478 (file-name (git-file-name name version))
19479 (sha256
19480 (base32
19481 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
19482 (build-system emacs-build-system)
19483 (home-page "https://github.com/alphapapa/outorg")
19484 (synopsis "Org-style comment editing")
19485 (description "Outorg is for editing comment-sections of source-code
19486 files in temporary Org-mode buffers. It turns conventional
19487 literate-programming upside-down in that the default mode is the
19488 programming-mode, and special action has to be taken to switch to the
19489 text-mode (i.e. Org-mode).")
19490 (license license:gpl3+))))
19491
19492 (define-public emacs-outshine
19493 (package
19494 (name "emacs-outshine")
19495 (version "3.0.1")
19496 (source (origin
19497 (method git-fetch)
19498 (uri (git-reference
19499 (url "https://github.com/alphapapa/outshine")
19500 (commit (string-append "v" version))))
19501 (file-name (git-file-name name version))
19502 (sha256
19503 (base32
19504 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
19505 (build-system emacs-build-system)
19506 (propagated-inputs
19507 (list emacs-outorg))
19508 (home-page "https://github.com/alphapapa/outshine")
19509 (synopsis "Emacs outline with outshine")
19510 (description "Outshine attempts to bring the look and feel of
19511 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
19512 of @code{outline-minor-mode} (@code{org-mode} itself derives from
19513 outline-mode), so there is no such thing like an outshine mode, only
19514 @code{outline-minor-mode} with outshine extensions loaded.")
19515 (license license:gpl3+)))
19516
19517 (define-public emacs-frecency
19518 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
19519 (version "0.1-pre")
19520 (revision "1"))
19521 (package
19522 (name "emacs-frecency")
19523 (version (git-version version revision commit))
19524 (source (origin
19525 (method git-fetch)
19526 (uri (git-reference
19527 (url "https://github.com/alphapapa/frecency.el")
19528 (commit commit)))
19529 (sha256
19530 (base32
19531 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
19532 (file-name (git-file-name name version))))
19533 (build-system emacs-build-system)
19534 (propagated-inputs
19535 (list emacs-a emacs-dash))
19536 (home-page "https://github.com/alphapapa/frecency.el")
19537 (synopsis "Sort items by frequency and recency of access")
19538 (description "This package provides a way of sorting items via
19539 a heuristic based on frequency and recency.")
19540 (license license:gpl3+))))
19541
19542 (define-public emacs-org-recent-headings
19543 (let ((commit "97418d581ea030f0718794e50b005e9bae44582e")
19544 (revision "0"))
19545 (package
19546 (name "emacs-org-recent-headings")
19547 (version (git-version "0.1" revision commit))
19548 (source
19549 (origin
19550 (method git-fetch)
19551 (uri (git-reference
19552 (url "https://github.com/alphapapa/org-recent-headings")
19553 (commit commit)))
19554 (file-name (git-file-name name version))
19555 (sha256
19556 (base32 "1y11rlnhi36lzhc1cagninv6hlcwbvj88xfr0g0xzpbzy7hys021"))))
19557 (build-system emacs-build-system)
19558 (propagated-inputs
19559 (list emacs-dash emacs-frecency emacs-helm emacs-org emacs-s))
19560 (home-page "https://github.com/alphapapa/org-recent-headings")
19561 (synopsis "Navigate to recently used Org headings and lists")
19562 (description
19563 "This package maintains a list of recently used Org headings,
19564 as well as functions for navigating between these headings.")
19565 (license license:gpl3+))))
19566
19567 (define-public emacs-org-super-agenda
19568 (package
19569 (name "emacs-org-super-agenda")
19570 (version "1.2")
19571 (source
19572 (origin
19573 (method git-fetch)
19574 (uri (git-reference
19575 (url "https://github.com/alphapapa/org-super-agenda")
19576 (commit version)))
19577 (file-name (git-file-name name version))
19578 (sha256
19579 (base32 "10l9h2n09cql4ih7nc0ma3ghdsq9l5v9xlj1lg7kq67icdwjlsvy"))))
19580 (build-system emacs-build-system)
19581 (arguments
19582 `(#:tests? #f ;FIXNE: Tests try to read "~/org/test.org"
19583 #:test-command '("test/run" "--debug")
19584 #:phases
19585 (modify-phases %standard-phases
19586 (add-after 'unpack 'prepare-for-tests.el
19587 (lambda _
19588 (make-file-writable "test/test.el")
19589 (emacs-substitute-variables "test/test.el"
19590 ("org-super-agenda-test-results-file"
19591 (string-append (getcwd) "/test/results.el")))
19592 ;; The following tests fail (see:
19593 ;; https://github.com/alphapapa/org-super-agenda/issues/183).
19594 (substitute* "test/test.el"
19595 ((".*org-super-agenda-test--:auto-(map|tags).*" all)
19596 (string-append all " (skip-unless nil)\n"))))))))
19597 (native-inputs
19598 (list emacs-f util-linux))
19599 (propagated-inputs
19600 (list emacs-dash emacs-ht emacs-org emacs-s emacs-ts))
19601 (home-page "https://github.com/alphapapa/org-super-agenda")
19602 (synopsis "Supercharged Org agenda")
19603 (description "This package allows items in the Org agenda to be grouped
19604 into sections while preserving the structure imposed by any timestamps.")
19605 (license license:gpl3+)))
19606
19607 (define-public emacs-elegant-agenda-mode
19608 (let ((commit "c72f42e0f551c3dd81e68262f07a96c0ec90a589")
19609 (revision "1"))
19610 (package
19611 (name "emacs-elegant-agenda-mode")
19612 (version (git-version "0.1.0" revision commit))
19613 (source
19614 (origin
19615 (method git-fetch)
19616 (uri (git-reference
19617 (url "https://github.com/justinbarclay/elegant-agenda-mode")
19618 (commit commit)))
19619 (file-name (git-file-name name version))
19620 (sha256
19621 (base32
19622 "0f8qk3vd41ffbkfqw5nks3bld0qpjrlnk9sb46wcbsyfnrs2v082"))))
19623 (build-system emacs-build-system)
19624 (home-page "https://github.com/justinbarclay/elegant-agenda-mode")
19625 (synopsis "Elegant theme for your org-agenda")
19626 (description
19627 "The elegant-agenda-mode package uses fonts and typography to give your
19628 org-agenda some breathing room and elegance. This package was inspired by the
19629 work Nicolas Rougier.")
19630 (license license:gpl3+))))
19631
19632 (define-public emacs-org-make-toc
19633 (package
19634 (name "emacs-org-make-toc")
19635 (version "0.5")
19636 (source (origin
19637 (method git-fetch)
19638 (uri (git-reference
19639 (url "https://github.com/alphapapa/org-make-toc")
19640 (commit version)))
19641 (file-name (git-file-name name version))
19642 (sha256
19643 (base32
19644 "180ji6nnj6qj0rs1rdp1zlcrfsqf7ikb44ym8icbp5d6al2s4hnr"))))
19645 (build-system emacs-build-system)
19646 (propagated-inputs
19647 (list emacs-org emacs-dash emacs-s))
19648 (home-page "https://github.com/alphapapa/org-make-toc")
19649 (synopsis "Maintain a table of contents for an Org file")
19650 (description "This package facilitates the creation and maintenance of
19651 tables of contents.")
19652 (license license:gpl3+)))
19653
19654 (define-public emacs-ts
19655 (package
19656 (name "emacs-ts")
19657 (version "0.2.2")
19658 (source
19659 (origin
19660 (method git-fetch)
19661 (uri (git-reference
19662 (url "https://github.com/alphapapa/ts.el")
19663 (commit version)))
19664 (sha256
19665 (base32 "0l35gz1hpada2kzascbyqgawa5d3sdyg67gzvak84p9zx62jppn8"))
19666 (file-name (git-file-name name version))))
19667 (build-system emacs-build-system)
19668 (propagated-inputs
19669 (list emacs-s emacs-dash))
19670 (arguments
19671 ;; XXX: Three tests are failing because of a timezone-related issue
19672 ;; with how they're written. On my machine, all the failing test
19673 ;; results are 18000 seconds (5 hours) off.
19674
19675 ;; The ts-parse-org function accepts a string without any timezone
19676 ;; info, not assumed to be in Unix time, and converts it to a so-called
19677 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
19678 ;; then seems to assume the struct's corresponding time is in terms of
19679 ;; the user's current time zone, before returning a Unix time in
19680 ;; seconds.
19681
19682 ;; The failing tests all have similar problems, but nothing else about
19683 ;; the library seems particularly off.
19684
19685 `(#:tests? #t
19686 #:test-command '("emacs" "--batch"
19687 "-l" "test/test.el"
19688 "-f" "ert-run-tests-batch-and-exit")
19689 #:phases
19690 (modify-phases %standard-phases
19691 (add-before 'check 'make-tests-writable
19692 (lambda _
19693 (make-file-writable "test/test.el")
19694 #t))
19695 (add-before 'check 'delete-failing-tests
19696 (lambda _
19697 (emacs-batch-edit-file "test/test.el"
19698 `(progn (progn
19699 (goto-char (point-min))
19700 (dolist (test-regexp
19701 '("ert-deftest ts-format"
19702 "ert-deftest ts-parse-org\\_>"
19703 "ert-deftest ts-parse-org-element"
19704 "ert-deftest ts-update"))
19705 (re-search-forward test-regexp)
19706 (beginning-of-line)
19707 (kill-sexp)))
19708 (basic-save-buffer)))
19709 #t)))))
19710 (home-page "https://github.com/alphapapa/ts.el")
19711 (synopsis "Timestamp and date/time library")
19712 (description "This package facilitates manipulating dates, times, and
19713 timestamps by providing a @code{ts} struct.")
19714 (license license:gpl3+)))
19715
19716 (define-public emacs-circadian
19717 (package
19718 (name "emacs-circadian")
19719 (version "0.3.2")
19720 (source
19721 (origin
19722 (method git-fetch)
19723 (uri (git-reference
19724 (url "https://github.com/guidoschmidt/circadian.el")
19725 (commit version)))
19726 (file-name (git-file-name name version))
19727 (sha256
19728 (base32 "0wpsykmai3idz0bgfl07hwl9nr4x9sgprvqgw8jln4dz2wf5gdic"))))
19729 (arguments
19730 (list
19731 #:tests? #t
19732 #:test-command #~(list "ert-runner")))
19733 (build-system emacs-build-system)
19734 (native-inputs
19735 (list emacs-el-mock emacs-ert-runner))
19736 (home-page "https://github.com/guidoschmidt/circadian.el")
19737 (synopsis "Theme-switching for Emacs based on daytime")
19738 (description "Circadian may reduce eye strain by automatically switching
19739 between light and dark themes based on daytime. It is inspired by color
19740 temperature shifting tools and brightness adaption software.")
19741 ;; The LICENSE file is expat, but the sole ".el" file is explicitly GPL3+.
19742 (license (list license:gpl3+
19743 license:expat))))
19744
19745 (define-public emacs-peg
19746 (package
19747 (name "emacs-peg")
19748 (version "1.0")
19749 (source
19750 (origin
19751 (method url-fetch)
19752 (uri (string-append "https://elpa.gnu.org/packages/peg-" version ".tar"))
19753 (sha256
19754 (base32 "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl"))))
19755 (build-system emacs-build-system)
19756 (home-page "https://elpa.gnu.org/packages/peg.html")
19757 (synopsis "Parsing Expression Grammars in Elisp")
19758 (description "This package provides a macro that parses the current buffer
19759 according to a parsing expression grammar.")
19760 (license license:gpl3+)))
19761
19762 (define-public emacs-eldev
19763 (package
19764 (name "emacs-eldev")
19765 (version "1.2.2")
19766 (source
19767 (origin
19768 (method git-fetch)
19769 (uri (git-reference
19770 (url "https://github.com/doublep/eldev")
19771 (commit version)))
19772 (file-name (git-file-name name version))
19773 (sha256
19774 (base32 "0d6wbfim0q81sm5m45fjc6n0v6nk32qrgas5nzrs0vslym4bfxna"))))
19775 (build-system emacs-build-system)
19776 (arguments
19777 (list
19778 #:tests? #t
19779 #:test-command #~(list "./bin/eldev" "-p" "-dtTC" "test")
19780 #:phases
19781 #~(modify-phases %standard-phases
19782 (add-after 'unpack 'prepare-for-tests
19783 (lambda _
19784 (setenv "ELDEV_LOCAL" (getcwd))
19785 (make-file-writable "test/project-i/project-i-autoloads.el")))
19786 (add-after 'unpack 'skip-failing-tests
19787 ;; FIXME: 2 tests are failing. Skip them for now.
19788 (lambda _
19789 (delete-file "test/upgrade-self.el")))
19790 (add-after 'install 'install-eldev-executable
19791 ;; This constructs the eldev executable from templates and
19792 ;; installs it in the specified directory.
19793 (lambda _
19794 (let ((bin (string-append #$output "/bin"))
19795 (site-lisp (elpa-directory #$output)))
19796 (mkdir-p bin)
19797 (setenv "HOME" (getcwd))
19798 (invoke "./install.sh" bin)
19799 (substitute* (string-append bin "/eldev")
19800 ;; Point ELDEV_LOCAL to the installation directory so that
19801 ;; eldev doesn't try to bootstrap itself from MELPA when
19802 ;; invoked.
19803 (("export ELDEV_EMACS.*" all)
19804 (string-append "export ELDEV_LOCAL=" site-lisp "\n" all)))))))))
19805 (native-inputs
19806 (list texinfo)) ;for tests
19807 (home-page "https://github.com/doublep/eldev/")
19808 (synopsis "Emacs-based build tool for Elisp")
19809 (description "Eldev (Elisp Development Tool) is an Emacs-based build tool,
19810 targeted solely at Elisp projects. It is an alternative to Cask. Unlike
19811 Cask, Eldev itself is fully written in Elisp and its configuration files are
19812 also Elisp programs. For those familiar with the Java world, Cask can be seen
19813 as a parallel to Maven — it uses project description, while Eldev is sort of a
19814 parallel to Gradle — its configuration is a program on its own.")
19815 (license license:gpl3+)))
19816
19817 (define-public emacs-with-simulated-input
19818 (package
19819 (name "emacs-with-simulated-input")
19820 (version "3.0")
19821 (source
19822 (origin
19823 (method git-fetch)
19824 (uri (git-reference
19825 (url "https://github.com/DarwinAwardWinner/with-simulated-input")
19826 (commit (string-append "v" version))))
19827 (file-name (git-file-name name version))
19828 (sha256
19829 (base32
19830 "0n8h84whsh0aph8xhn9plprix9f6bysgvarz2anz7kwns19js6s4"))))
19831 (build-system emacs-build-system)
19832 (arguments
19833 ;; The test suite fails with error: "Spies can only be created in
19834 ;; ‘before-each’".
19835 `(#:tests? #f
19836 #:test-command '("buttercup" "-L" ".")))
19837 (native-inputs
19838 (list emacs-buttercup emacs-undercover))
19839 (propagated-inputs
19840 (list emacs-s))
19841 (home-page "https://github.com/DarwinAwardWinner/with-simulated-input")
19842 (synopsis "Non-interactive testing Emacs library")
19843 (description "This package provides an Emacs Lisp macro,
19844 @code{with-simulated-input}, which evaluates one or more forms while
19845 simulating a sequence of input events for those forms to read. The result is
19846 the same as if a user had evaluated the forms and then manually typed in the
19847 same input. This macro is useful for non-interactive testing of normally
19848 interactive commands and functions, such as @code{completing-read}.")
19849 (license license:gpl3+)))
19850
19851 (define-public emacs-org-ql
19852 (package
19853 (name "emacs-org-ql")
19854 (version "0.6.2")
19855 (source (origin
19856 (method git-fetch)
19857 (uri (git-reference
19858 (url "https://github.com/alphapapa/org-ql")
19859 (commit version)))
19860 (sha256
19861 (base32
19862 "0iamqv5j43ngj1xdqr36rkgk9lqpk9bg8y531jsldnvwzrp3srpf"))
19863 (file-name (git-file-name name version))))
19864 (build-system emacs-build-system)
19865 (propagated-inputs
19866 (list emacs-dash
19867 emacs-f
19868 emacs-helm
19869 emacs-helm-org
19870 emacs-org
19871 emacs-org-super-agenda
19872 emacs-ov
19873 emacs-peg
19874 emacs-ts
19875 emacs-s))
19876 (native-inputs
19877 (list emacs-buttercup emacs-with-simulated-input))
19878 (arguments
19879 `(#:tests? #t
19880 #:test-command '("buttercup" "-L" ".")))
19881 (home-page "https://github.com/alphapapa/org-ql/")
19882 (synopsis "Query language for Org buffers")
19883 (description "This package provides a Lispy query language for Org
19884 files, allowing for actions to be performed based on search criteria.")
19885 (license license:gpl3+)))
19886
19887 (define-public emacs-bing-dict
19888 (package
19889 (name "emacs-bing-dict")
19890 (version "0.2.4")
19891 (source (origin
19892 (method git-fetch)
19893 (uri (git-reference
19894 (url "https://github.com/cute-jumper/bing-dict.el")
19895 (commit version)))
19896 (file-name (git-file-name name version))
19897 (sha256
19898 (base32
19899 "1kn8kmljn0pj0hz7dj7r7nxw43xd6acndaqq92d02mla12hiqayz"))))
19900 (build-system emacs-build-system)
19901 (home-page "https://github.com/cute-jumper/bing-dict.el")
19902 (synopsis "Minimalist Bing dictionary interface in Emacs")
19903 (description
19904 "This package provides a minimalist Emacs extension to search
19905 @uref{http://www.bing.com/dict}. It supports English to Chinese, and
19906 Chinese to English.")
19907 (license license:gpl3+)))
19908
19909 (define-public emacs-org-auto-tangle
19910 (package
19911 (name "emacs-org-auto-tangle")
19912 (version "0.6.0")
19913 (source (origin
19914 (method git-fetch)
19915 (uri (git-reference
19916 (url "https://github.com/yilkalargaw/org-auto-tangle")
19917 (commit version)))
19918 (file-name (git-file-name name version))
19919 (sha256
19920 (base32
19921 "1kn1jsbv97ps280lcdx19d6hs7pvz7q9ng67xlb1kwjb680pa7rl"))))
19922 (build-system emacs-build-system)
19923 (propagated-inputs (list emacs-async))
19924 (home-page "https://github.com/yilkalargaw/org-auto-tangle")
19925 (synopsis "Automatically tangle code blocks on save")
19926 (description
19927 "@code{org-auto-tangle} allows you to automatically tangle code blocks
19928 whenever saving an @code{org-mode} file.")
19929 (license license:bsd-2)))
19930
19931 (define-public emacs-org-auto-expand
19932 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
19933 (revision "1"))
19934 (package
19935 (name "emacs-org-auto-expand")
19936 (version (git-version "0.1" revision commit))
19937 (source (origin
19938 (method git-fetch)
19939 (uri (git-reference
19940 (url "https://github.com/alphapapa/org-auto-expand")
19941 (commit commit)))
19942 (file-name (git-file-name name version))
19943 (sha256
19944 (base32
19945 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
19946 (build-system emacs-build-system)
19947 (propagated-inputs
19948 (list emacs-org emacs-dash))
19949 (home-page "https://github.com/alphapapa/org-auto-expand")
19950 (synopsis "Automatically expand certain Org headings")
19951 (description "This package allows a customizable set of headings in Org
19952 files to be expanded upon opening them.")
19953 (license license:gpl3+))))
19954
19955 (define-public emacs-parsebib
19956 (package
19957 (name "emacs-parsebib")
19958 (version "4.3")
19959 (source
19960 (origin
19961 (method git-fetch)
19962 (uri (git-reference
19963 (url "https://github.com/joostkremers/parsebib")
19964 (commit version)))
19965 (file-name (git-file-name name version))
19966 (sha256
19967 (base32 "0vcl2wvxwpr62c9ym0fm3qaxzhjcrpk4r6r0zaqhkvlf8qr3rg8y"))))
19968 (build-system emacs-build-system)
19969 (home-page "https://github.com/joostkremers/parsebib")
19970 (synopsis "Library for parsing @file{.bib} files")
19971 (description
19972 "This package provides an Emacs library for parsing @file{.bib} files.")
19973 (license license:gpl3+)))
19974
19975 (define-public emacs-ebib
19976 (package
19977 (name "emacs-ebib")
19978 (version "2.38.1")
19979 (source
19980 (origin
19981 (method git-fetch)
19982 (uri (git-reference
19983 (url "https://github.com/joostkremers/ebib")
19984 (commit version)))
19985 (file-name (git-file-name name version))
19986 (sha256
19987 (base32 "1a2pjnfk3yk7r13avjv4xcmq0ld1lw78ngifn9khpl28kd9fgv74"))))
19988 (build-system emacs-build-system)
19989 (propagated-inputs
19990 (list emacs-biblio emacs-ivy emacs-parsebib))
19991 (home-page "https://joostkremers.github.io/ebib/")
19992 (synopsis "BibTeX database manager for Emacs")
19993 (description
19994 "Ebib is a BibTeX database manager that runs in GNU Emacs.
19995 With Ebib you can create, sort and manage your @file{.bib} database files, all
19996 within Emacs. It supports searching, multi-line field values and
19997 @samp{@@String} and @samp{@@Preamble} definitions. Ebib integrates
19998 with (La)TeX mode, Org mode and other Emacs editing modes.")
19999 ;; The Ebib source files are released under a BSD license with
20000 ;; the exception of org-ebib.el, which is released under the GNU
20001 ;; GPL.
20002 (license (list license:bsd-3
20003 license:gpl3+))))
20004
20005 (define-public emacs-biblio
20006 (package
20007 (name "emacs-biblio")
20008 (version "0.2")
20009 (source
20010 (origin
20011 (method git-fetch)
20012 (uri (git-reference
20013 (url "https://github.com/cpitclaudel/biblio.el")
20014 (commit version)))
20015 (file-name (git-file-name name version))
20016 (sha256
20017 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
20018 (build-system emacs-build-system)
20019 (propagated-inputs
20020 (list emacs-dash emacs-let-alist))
20021 (home-page "https://github.com/cpitclaudel/biblio.el")
20022 (synopsis "Browse and import bibliographic references")
20023 (description "This package provides an extensible Emacs package for
20024 browsing and fetching references.
20025
20026 @file{biblio.el} makes it easy to browse and gather bibliographic references
20027 and publications from various sources, by keywords or by DOI. References are
20028 automatically fetched from well-curated sources, and formatted as BibTeX.")
20029 (license license:gpl3+)))
20030
20031 (define-public emacs-citar
20032 (package
20033 (name "emacs-citar")
20034 (version "1.0")
20035 (source (origin
20036 (method git-fetch)
20037 (uri (git-reference
20038 (url "https://github.com/bdarcus/citar")
20039 (commit (string-append "v" version))))
20040 (file-name (git-file-name name version))
20041 (sha256
20042 (base32
20043 "1n69lkp7298gasm9hlbx9nhgp9ggh8w8ffyvi1rmbj96lcnpsyi9"))))
20044 (build-system emacs-build-system)
20045 (arguments
20046 `(#:phases (modify-phases %standard-phases
20047 (add-before 'build 'set-home
20048 (lambda _
20049 (setenv "HOME" "/tmp"))))))
20050 (propagated-inputs (list emacs-auctex
20051 emacs-citeproc-el
20052 emacs-embark
20053 emacs-org
20054 emacs-parsebib
20055 emacs-s))
20056 (home-page "https://github.com/bdarcus/citar")
20057 (synopsis "Emacs package to quickly find and act on bibliographic entries")
20058 (description
20059 "This package provides a completing-read front-end to browse and
20060 act on BibTeX, BibLaTeX, and CSL JSON bibliographic data, and LaTeX,
20061 markdown, and Org cite editing support.
20062
20063 When used with Vertico (or Selectrum), Embark, and Marginalia, it
20064 provides similar functionality to helm-bibtex and ivy-bibtex: quick
20065 filtering and selecting of bibliographic entries from the minibuffer,
20066 and the option to run different commands against them.
20067
20068 With Embark, it also makes available at-point actions in Org
20069 citations.")
20070 (license license:gpl3+)))
20071
20072 (define-public emacs-citar-org-roam
20073 (package
20074 (name "emacs-citar-org-roam")
20075 (version "0.3")
20076 (source
20077 (origin
20078 (method git-fetch)
20079 (uri (git-reference
20080 (url "https://github.com/emacs-citar/citar-org-roam")
20081 (commit (string-append "v" version))))
20082 (file-name (git-file-name name version))
20083 (sha256
20084 (base32 "1ldfs7g7ixnrwj23draiph4vy6xq7qgw18vhi7vbw6wvkh9fcv9r"))))
20085 (build-system emacs-build-system)
20086 (propagated-inputs (list emacs-org-roam emacs-citar))
20087 (home-page "https://github.com/emacs-citar/citar-org-roam")
20088 (synopsis "Emacs package to provide tighter Citar and Org-Roam integration")
20089 (description "\
20090 Out-of-box, Citar provides default support for file-per-note bibliographic
20091 notes that are compatible with Org-Roam v2. This package integrates directly
20092 with the Org-Roam database, and provides the following additional features to
20093 Citar note support:
20094 @itemize
20095 @item multiple references per note
20096 @item multiple reference notes per file
20097 @item ability to query note citations by reference
20098 @item ``live'' updating of Citar UI for presence of notes
20099 @end itemize")
20100 (license license:gpl3)))
20101
20102 (define-public emacs-helm-bibtex
20103 (let ((commit "aa775340ba691d2322948bfdc6a88158568a1399")
20104 (revision "3"))
20105 (package
20106 (name "emacs-helm-bibtex")
20107 (version (git-version "2.0.0" revision commit))
20108 (source
20109 (origin
20110 (method git-fetch)
20111 (uri (git-reference
20112 (url "https://github.com/tmalsburg/helm-bibtex")
20113 (commit commit)))
20114 (file-name (git-file-name name version))
20115 (sha256
20116 (base32 "1d3mc17ga09m41i06khghlvixr6gsiacifnhdbrfnp0w5592aprk"))))
20117 (build-system emacs-build-system)
20118 (propagated-inputs
20119 (list emacs-helm
20120 emacs-parsebib
20121 emacs-s
20122 emacs-dash
20123 emacs-f
20124 emacs-biblio
20125 emacs-ivy))
20126 (home-page "https://github.com/tmalsburg/helm-bibtex")
20127 (synopsis "Bibliography manager based on Helm")
20128 (description "This package provides bibliography manager for Emacs,
20129 based on Helm and the bibtex-completion backend.
20130
20131 Key features:
20132
20133 @itemize
20134 @item Quick access to your bibliography from within Emacs
20135 @item Powerful search capabilities
20136 @item Provides instant search results as you type
20137 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
20138 @item Open the PDFs, URLs, or DOIs associated with an entry
20139 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
20140 BibTeX entries, or plain text references at point, attach PDFs to emails
20141 @item Support for note taking
20142 @item Quick access to online bibliographic databases such as Pubmed,
20143 arXiv, Google Scholar, Library of Congress, etc.
20144 @item Imports BibTeX entries from CrossRef and other sources.
20145 @end itemize\n")
20146 (license license:gpl3+))))
20147
20148 (define-public emacs-ewmctrl
20149 (package
20150 (name "emacs-ewmctrl")
20151 (version "1.0.0")
20152 (source
20153 (origin
20154 (method git-fetch)
20155 (uri (git-reference
20156 (url "https://github.com/flexibeast/ewmctrl")
20157 (commit (string-append "v" version))))
20158 (file-name (git-file-name name version))
20159 (sha256
20160 (base32
20161 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
20162 (build-system emacs-build-system)
20163 (arguments
20164 '(#:phases
20165 (modify-phases %standard-phases
20166 (add-after 'unpack 'patch-ewmctrl
20167 ;; This build phase makes sure ‘ewmctrl’ looks
20168 ;; for ‘wmctrl’ in the right place.
20169 (lambda _
20170 (let ((file "ewmctrl.el"))
20171 (chmod file #o644)
20172 (emacs-substitute-sexps file
20173 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
20174 (inputs
20175 (list wmctrl))
20176 (home-page "https://github.com/flexibeast/ewmctrl")
20177 (synopsis "Emacs interface to @code{wmctrl}")
20178 (description "@code{ewmctrl} provides an Emacs interface to
20179 @code{wmctrl} command-line window-management program.")
20180 (license license:gpl3+)))
20181
20182 (define-public emacs-erc-image
20183 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
20184 (revision "3"))
20185 (package
20186 (name "emacs-erc-image")
20187 (version (git-version "0" revision commit))
20188 (source
20189 (origin
20190 (method git-fetch)
20191 (uri (git-reference
20192 (url "https://github.com/kidd/erc-image.el")
20193 (commit commit)))
20194 (file-name (git-file-name name version))
20195 (sha256
20196 (base32
20197 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
20198 (build-system emacs-build-system)
20199 (arguments
20200 `(#:phases (modify-phases %standard-phases
20201 ;; The package autoloader fails to provide
20202 ;; the image module when handled by Guix.
20203 ;; Disable this phase, and let the package
20204 ;; handle the `eval-after-load' procedure.
20205 (delete 'make-autoloads))))
20206 (home-page "https://github.com/kidd/erc-image.el")
20207 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
20208 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
20209 and @code{erc-send-modify-hook} to download and show images.")
20210 (license license:gpl3+))))
20211
20212 (define-public emacs-helm-gtags
20213 (package
20214 (name "emacs-helm-gtags")
20215 (version "1.5.7")
20216 (source
20217 (origin
20218 (method git-fetch)
20219 (uri (git-reference
20220 (url "https://github.com/syohex/emacs-helm-gtags")
20221 (commit version)))
20222 (file-name (git-file-name name version))
20223 (sha256
20224 (base32 "1kc1jzk10nfd2v20g8dwnb6a944afrwdwnkzl06w4ba8k4yim7gi"))))
20225 (build-system emacs-build-system)
20226 (propagated-inputs
20227 (list emacs-helm))
20228 (home-page "https://github.com/syohex/emacs-helm-gtags")
20229 (synopsis "Emacs Helm interface to GNU Global")
20230 (description
20231 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
20232 (license license:gpl3+)))
20233
20234 (define-public emacs-list-utils
20235 ;; Use a git snapshot until upstream fixes the build with emacs 28.1.
20236 ;; See <http://issues.guix.gnu.org/55558>.
20237 (let ((commit "0dec8c02962d2591766739e37c5714ba21133093") (revision "1"))
20238 (package
20239 (name "emacs-list-utils")
20240 (version (git-version "0.4.6" revision commit))
20241 (source (origin
20242 (method git-fetch)
20243 (uri (git-reference
20244 (url "https://github.com/rolandwalker/list-utils")
20245 (commit commit)))
20246 (file-name (git-file-name name version))
20247 (sha256
20248 (base32
20249 "11nm8649a131bn2kwj4fxkiijdx2d4f1byx7a985zlb3bzdwnaw8"))))
20250 (build-system emacs-build-system)
20251 (home-page "https://github.com/rolandwalker/list-utils")
20252 (synopsis "List-manipulation utility functions")
20253 (description
20254 "This package provides a list manipulation library for Emacs.")
20255 (license license:gpl3+))))
20256
20257 (define-public emacs-parsec
20258 (package
20259 (name "emacs-parsec")
20260 (version "0.1.4")
20261 (source
20262 (origin
20263 (method git-fetch)
20264 (uri (git-reference
20265 (url "https://github.com/cute-jumper/parsec.el")
20266 (commit version)))
20267 (file-name (git-file-name name version))
20268 (sha256
20269 (base32 "1g1s8s45g3kkbi3h7w0pmadmzdswb64mkdvdpg2lihg341kx37gm"))))
20270 (build-system emacs-build-system)
20271 (home-page "https://github.com/cute-jumper/parsec.el")
20272 (synopsis "Parser combinator library for Emacs Lisp")
20273 (description
20274 "Parsec is a parser combinator library for Emacs Lisp, similar to
20275 Haskell's Parsec library. It contains most of the parser combinators in
20276 Text.Parsec.Combinator, and more combinators can be added if necessary! Most
20277 of the parser combinators have the same behavior as their Haskell
20278 counterparts. Parsec also comes with a simple error handling mechanism so
20279 that it can display an error message showing how the parser fails.")
20280 (license license:gpl3+)))
20281
20282 (define-public emacs-move-text
20283 (package
20284 (name "emacs-move-text")
20285 (version "2.0.10")
20286 (source
20287 (origin
20288 (method git-fetch)
20289 (uri (git-reference
20290 (url "https://github.com/emacsfodder/move-text")
20291 (commit version)))
20292 (file-name (git-file-name name version))
20293 (sha256
20294 (base32 "0pxvipjp9xvr9zwiwij943jgpy7fk8pxphbdj0vrg8ar5avlqiam"))))
20295 (build-system emacs-build-system)
20296 (home-page "https://github.com/emacsfodder/move-text")
20297 (synopsis "Move current line or region with M-up or M-down")
20298 (description "This package provide functions to move the current line
20299 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
20300 region instead.")
20301 (license license:gpl3+)))
20302
20303 (define-public emacs-validate
20304 (package
20305 (name "emacs-validate")
20306 (version "1.0.5")
20307 (source (origin
20308 (method git-fetch)
20309 (uri (git-reference
20310 (url "https://github.com/Malabarba/validate.el")
20311 (commit version)))
20312 (file-name (git-file-name name version))
20313 (sha256
20314 (base32
20315 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
20316 (build-system emacs-build-system)
20317 (home-page "https://github.com/Malabarba/validate.el")
20318 (synopsis "Emacs library for scheme validation")
20319 (description "This Emacs library provides two functions that perform
20320 schema validation.")
20321 (license license:gpl3+)))
20322
20323 (define-public emacs-rainbow-blocks
20324 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
20325 (package
20326 (name "emacs-rainbow-blocks")
20327 (version (git-version "1.0.0" "1" commit))
20328 (source (origin
20329 (method git-fetch)
20330 (uri (git-reference
20331 (url "https://github.com/istib/rainbow-blocks")
20332 (commit commit)))
20333 (file-name (git-file-name name version))
20334 (sha256
20335 (base32
20336 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
20337 (build-system emacs-build-system)
20338 (home-page "https://github.com/istib/rainbow-blocks")
20339 (synopsis "Highlight sexp blocks")
20340 (description "Rainbow-blocks is an Emacs mode that highlights blocks
20341 made of parentheses, brackets, and braces according to their depth. Each
20342 successive level is highlighted in a different color. This makes it easy to
20343 orient yourself in the code, and tell which statements are at a given level.")
20344 (license license:gpl3+))))
20345
20346 (define-public emacs-tree-mode
20347 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
20348 (revision "1"))
20349 (package
20350 (name "emacs-tree-mode")
20351 (version (string-append "0.0.1" "-" revision "."
20352 (string-take commit 7)))
20353 (source
20354 (origin
20355 (method git-fetch)
20356 (uri (git-reference
20357 (url "https://github.com/emacsorphanage/tree-mode")
20358 (commit commit)))
20359 (file-name (git-file-name name version))
20360 (sha256
20361 (base32
20362 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
20363 (build-system emacs-build-system)
20364 (home-page "https://github.com/emacsorphanage/tree-mode")
20365 (synopsis "Emacs mode to manage tree widgets")
20366 (description
20367 "This package provides an Emacs library to manage tree widgets.")
20368 (license license:gpl3+))))
20369
20370 (define-public emacs-md4rd
20371 (package
20372 (name "emacs-md4rd")
20373 (version "0.3.1")
20374 (source (origin
20375 (method git-fetch)
20376 (uri (git-reference
20377 (url "https://github.com/ahungry/md4rd")
20378 (commit version)))
20379 (file-name (git-file-name name version))
20380 (sha256
20381 (base32
20382 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
20383 (propagated-inputs
20384 (list emacs-dash emacs-request emacs-s emacs-tree-mode))
20385 (build-system emacs-build-system)
20386 (home-page "https://github.com/ahungry/md4rd")
20387 (synopsis "Emacs Mode for Reddit")
20388 (description
20389 "This package allows reading Reddit from within Emacs interactively.")
20390 (license license:gpl3+)))
20391
20392 (define-public emacs-pulseaudio-control
20393 (let ((commit "a931533140547510decdc368f39b2d2b97ca725f")
20394 (revision "4"))
20395 (package
20396 (name "emacs-pulseaudio-control")
20397 (version (git-version "0.0.1" revision commit))
20398 (source
20399 (origin
20400 (method git-fetch)
20401 (uri (git-reference
20402 (url "https://github.com/flexibeast/pulseaudio-control")
20403 (commit commit)))
20404 (file-name (git-file-name name version))
20405 (sha256
20406 (base32
20407 "1jvjn9jszjjapi167an49jxcvr88cvgjwykglhp4b8lwhbjfqw76"))))
20408 (build-system emacs-build-system)
20409 (arguments
20410 '(#:phases (modify-phases %standard-phases
20411 (add-after 'unpack 'patch-file-name
20412 (lambda* (#:key inputs #:allow-other-keys)
20413 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
20414 (chmod "pulseaudio-control.el" #o600)
20415 (emacs-substitute-variables "pulseaudio-control.el"
20416 ("pulseaudio-control-pactl-path"
20417 (string-append pulseaudio "/bin/pactl")))
20418 #t))))))
20419 (inputs (list pulseaudio))
20420 (home-page "https://github.com/flexibeast/pulseaudio-control")
20421 (synopsis "Control @code{pulseaudio} from Emacs")
20422 (description
20423 "This package allows controlling @code{pulseaudio} from Emacs.")
20424 (license license:gpl3+))))
20425
20426 (define-public emacs-pulsar
20427 (package
20428 (name "emacs-pulsar")
20429 (version "0.4.0")
20430 (source (origin
20431 (method git-fetch)
20432 (uri (git-reference
20433 (url "https://git.sr.ht/~protesilaos/pulsar")
20434 (commit version)))
20435 (file-name (git-file-name name version))
20436 (sha256
20437 (base32
20438 "05ig8p3y5k20w4xy0ahaml9z0i0xyw6fkypzvz0mjpldhxl7dbxd"))))
20439 (native-inputs (list texinfo))
20440 (build-system emacs-build-system)
20441 (arguments
20442 (list
20443 #:phases
20444 #~(modify-phases %standard-phases
20445 (add-after 'install 'makeinfo
20446 (lambda _
20447 (invoke "emacs"
20448 "--batch"
20449 "--eval=(require 'ox-texinfo)"
20450 "--eval=(find-file \"README.org\")"
20451 "--eval=(org-texinfo-export-to-info)")
20452 (install-file "pulsar.info" (string-append #$output "/share/info")))))))
20453 (home-page "https://protesilaos.com/emacs/pulsar")
20454 (synopsis "Pulse highlight line on demand or after running select functions")
20455 (description "This package temporarily highlights the current line after a
20456 given function is invoked.")
20457 (license (list license:gpl3+
20458 license:fdl1.3+)))) ; GFDLv1.3+ for the manual
20459
20460 (define-public emacs-datetime
20461 (package
20462 (name "emacs-datetime")
20463 (version "0.7.2")
20464 (source
20465 (origin
20466 (method git-fetch)
20467 (uri (git-reference
20468 (url "https://github.com/doublep/datetime")
20469 (commit version)))
20470 (file-name (git-file-name name version))
20471 (sha256
20472 (base32 "10nf3y4abwkwvi4g11mdwi0dydy4kzfyv21y06dsxm1hc1gmq7zx"))))
20473 (build-system emacs-build-system)
20474 (arguments
20475 `(#:include (cons "^[^/]*\\.extmap$" %default-include)))
20476 (inputs
20477 (list emacs-extmap))
20478 (home-page "https://github.com/doublep/datetime/")
20479 (synopsis "Library to work with dates in Emacs")
20480 (description "Parsing, formatting, matching and recoding
20481 timestamps and date-time format strings library for Emacs.")
20482 (license license:gpl3+)))
20483
20484 (define-public emacs-org-mind-map
20485 ;; XXX: Upstream does not provide any tag. The commit below corresponds to
20486 ;; an exact version bump from the main file.
20487 (let ((commit "477701b15cb0c8ed7f021ca76a4cb1a7d9ad6aa5"))
20488 (package
20489 (name "emacs-org-mind-map")
20490 (version "0.4")
20491 (source
20492 (origin
20493 (method git-fetch)
20494 (uri (git-reference
20495 (url "https://github.com/theodorewiles/org-mind-map")
20496 (commit commit)))
20497 (file-name (git-file-name name version))
20498 (sha256
20499 (base32 "08sj43py6aid4vpqgsm0v5n94mcmcil0047qjk033492glz6q55c"))))
20500 (propagated-inputs
20501 (list emacs-dash))
20502 (build-system emacs-build-system)
20503 (home-page "https://github.com/theodorewiles/org-mind-map")
20504 (synopsis "Create Graphviz directed graphs from Org files")
20505 (description
20506 "This package creates Graphviz directed graphs from Org files.")
20507 (license license:gpl3+))))
20508
20509 (define-public emacs-npm-mode
20510 (package
20511 (name "emacs-npm-mode")
20512 (version "0.6.0")
20513 (source
20514 (origin
20515 (method git-fetch)
20516 (uri (git-reference
20517 (url "https://github.com/mojochao/npm-mode")
20518 (commit version)))
20519 (file-name (git-file-name name version))
20520 (sha256
20521 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
20522 (build-system emacs-build-system)
20523 (home-page "https://github.com/mojochao/npm-mode")
20524 (synopsis "Minor mode for working with @code{npm} projects")
20525 (description
20526 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
20527 (license license:gpl3+)))
20528
20529 (define-public emacs-itail
20530 ;; XXX: Upstream provides no tags. The commit below corresponds to an exact
20531 ;; version bump from main file.
20532 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888"))
20533 (package
20534 (name "emacs-itail")
20535 (version "0.0.8")
20536 (source
20537 (origin
20538 (method git-fetch)
20539 (uri (git-reference
20540 (url "https://github.com/re5et/itail")
20541 (commit commit)))
20542 (file-name (git-file-name name version))
20543 (sha256
20544 (base32 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
20545 (build-system emacs-build-system)
20546 (home-page "https://github.com/re5et/itail")
20547 (synopsis "Interactive @code{tail} Emacs mode")
20548 (description "@code{itail} provides interactive @code{tail} mode that
20549 allows you to filter the tail with Unix pipes and highlight the contents of
20550 the tailed file. It works locally or on remote files using Tramp.")
20551 (license license:gpl3+))))
20552
20553 (define-public emacs-loop
20554 (package
20555 (name "emacs-loop")
20556 (version "1.3")
20557 (source
20558 (origin
20559 (method git-fetch)
20560 (uri (git-reference
20561 (url "https://github.com/Wilfred/loop.el")
20562 (commit version)))
20563 (file-name (git-file-name name version))
20564 (sha256
20565 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
20566 (build-system emacs-build-system)
20567 (native-inputs
20568 (list emacs-ert-runner emacs-undercover))
20569 (arguments
20570 `(#:tests? #t
20571 #:test-command '("ert-runner")))
20572 (home-page "https://github.com/Wilfred/loop.el")
20573 (synopsis "Imperative loop structures for Emacs")
20574 (description "Loop structures familiar to users of other languages. This
20575 library adds a selection of popular loop structures as well as break and
20576 continue.")
20577 (license license:gpl3+)))
20578
20579 (define-public emacs-elisp-refs
20580 (package
20581 (name "emacs-elisp-refs")
20582 (version "1.4")
20583 (source
20584 (origin
20585 (method git-fetch)
20586 (uri (git-reference
20587 (url "https://github.com/Wilfred/elisp-refs")
20588 (commit version)))
20589 (file-name (git-file-name name version))
20590 (sha256
20591 (base32 "03p95kwvwb3apb3lhhdlaxs952x7sdlxa2qc1c77cjwrm5xzdg9z"))))
20592 (build-system emacs-build-system)
20593 (propagated-inputs
20594 (list emacs-dash
20595 emacs-f
20596 emacs-list-utils
20597 emacs-loop
20598 emacs-s
20599 emacs-shut-up))
20600 (native-inputs
20601 (list emacs-ert-runner emacs-undercover))
20602 (arguments
20603 (list
20604 #:tests? #t
20605 #:test-command #~(list "ert-runner")))
20606 (home-page "https://github.com/Wilfred/elisp-refs")
20607 (synopsis "Find callers of elisp functions or macros")
20608 (description "@code{elisp-refs} finds references to functions, macros or
20609 variables. Unlike a dumb text search, it actually parses the code, so it's
20610 never confused by comments or @code{foo-bar} matching @code{foo}.")
20611 (license license:gpl3+)))
20612
20613 (define-public emacs-crdt
20614 ;; XXX: Upstream does not always tag new releases. The commit below
20615 ;; corresponds exactly to latest version bump.
20616 (let ((commit "480f60fdda9e40848920fa460b59dfba23fa06e5")
20617 (version "0.3.3"))
20618 (package
20619 (name "emacs-crdt")
20620 (version version)
20621 (source
20622 (origin
20623 (method git-fetch)
20624 (uri (git-reference
20625 (url "https://code.librehq.com/qhong/crdt.el")
20626 (commit commit)))
20627 (file-name (git-file-name name version))
20628 (sha256
20629 (base32 "10hb2xwv8ylkm4cla2q5l11r1m1s1j4ywiwvy9x5884gxvbpbbph"))))
20630 (build-system emacs-build-system)
20631 (home-page "https://code.librehq.com/qhong/crdt.el")
20632 (synopsis "Real-time collaborative editing environment")
20633 (description
20634 "@code{crdt.el} is a real-time collaborative editing environment for
20635 Emacs using Conflict-free Replicated Data Types. With it, you can share
20636 multiple buffer in one session, and see other users’ cursor and region. It
20637 also synchronizes Org mode folding status. It should work with all of Org
20638 mode.")
20639 (license license:gpl3+))))
20640
20641 (define-public emacs-crux
20642 (package
20643 (name "emacs-crux")
20644 (version "0.4.0")
20645 (source
20646 (origin
20647 (method git-fetch)
20648 (uri (git-reference
20649 (url "https://github.com/bbatsov/crux")
20650 (commit (string-append "v" version))))
20651 (file-name (git-file-name name version))
20652 (sha256
20653 (base32
20654 "1h28chpyq61k72qh749r5kqq1y70wx3xw9c3zyfzmy750wlw6nyj"))))
20655 (build-system emacs-build-system)
20656 (home-page "https://github.com/bbatsov/crux")
20657 (synopsis "Collection of useful functions for Emacs")
20658 (description
20659 "@code{crux} provides a collection of useful functions for Emacs.")
20660 (license license:gpl3+)))
20661
20662 (define-public emacs-edit-server
20663 (package
20664 (name "emacs-edit-server")
20665 (version "1.16")
20666 (source
20667 (origin
20668 (method git-fetch)
20669 (uri (git-reference
20670 (url "https://github.com/stsquad/emacs_chrome")
20671 (commit (string-append "v" version))))
20672 (file-name (git-file-name name version))
20673 (sha256
20674 (base32 "0m7gj224sqxjjw5sxky92fnrxg9jy4nf33kwf0aqxnfhqlgh545k"))))
20675 (build-system emacs-build-system)
20676 (arguments
20677 `(#:phases
20678 (modify-phases %standard-phases
20679 (add-after 'unpack 'chdir-elisp
20680 ;; Elisp directory is not in root of the source.
20681 (lambda _
20682 (chdir "servers"))))))
20683 (propagated-inputs (list emacs-ert-async))
20684 (home-page "https://github.com/stsquad/emacs_chrome")
20685 (synopsis "Server that responds to edit requests from Chromium")
20686 (description
20687 "This package provides an edit server to respond to requests from Emacs.")
20688 (license license:gpl3+)))
20689
20690 (define-public emacs-m-buffer-el
20691 (package
20692 (name "emacs-m-buffer-el")
20693 (version "0.15")
20694 (source
20695 (origin
20696 (method git-fetch)
20697 (uri (git-reference
20698 (url "https://github.com/phillord/m-buffer-el")
20699 (commit (string-append "v" version))))
20700 (file-name (git-file-name name version))
20701 (sha256
20702 (base32
20703 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
20704 (arguments
20705 (list
20706 #:phases
20707 #~(modify-phases %standard-phases
20708 (add-before 'install 'check
20709 (lambda* (#:key tests? #:allow-other-keys)
20710 (when tests?
20711 (invoke "emacs" "--batch" "-L" "."
20712 "-l" "test/m-buffer-test.el"
20713 "-l" "test/m-buffer-at-test.el"
20714 "-f" "ert-run-tests-batch-and-exit")))))))
20715 (build-system emacs-build-system)
20716 (home-page "https://github.com/phillord/m-buffer-el")
20717 (synopsis "List oriented buffer operations for Emacs")
20718 (description "@code{m-buffer} provides a set of list-orientated functions
20719 for operating over the contents of Emacs buffers.")
20720 (license license:gpl3+)))
20721
20722 (define-public emacs-let-alist
20723 (package
20724 (name "emacs-let-alist")
20725 (version "1.0.6")
20726 (source
20727 (origin
20728 (method url-fetch)
20729 (uri (string-append
20730 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
20731 (sha256
20732 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
20733 (build-system emacs-build-system)
20734 (home-page "https://elpa.gnu.org/packages/let-alist.html")
20735 (synopsis "Easily let-bind values of an assoc-list by their names")
20736 (description "This package offers a single macro, @code{let-alist}. This
20737 macro takes a first argument (whose value must be an alist) and a body.")
20738 (license license:gpl3+)))
20739
20740 (define-public emacs-esup
20741 (let ((commit "0de8af8233d9ce1b67f05a50f25c481c4f1118d8")
20742 (revision "1"))
20743 (package
20744 (name "emacs-esup")
20745 (version (git-version "0.7.1" revision commit))
20746 (source
20747 (origin
20748 (method git-fetch)
20749 (uri (git-reference
20750 (url "https://github.com/jschaf/esup")
20751 (commit commit)))
20752 (file-name (git-file-name name version))
20753 (sha256
20754 (base32
20755 "01khb3xyj0ylwib6ryzzvqmkh5wvzxiq2n3l0s3h9zv7wx849bzv"))))
20756 (build-system emacs-build-system)
20757 (native-inputs
20758 (list emacs-noflet emacs-undercover emacs-buttercup))
20759 (propagated-inputs
20760 (list emacs-dash))
20761 (arguments
20762 `(#:tests? #t
20763 #:test-command '("buttercup" "-L" ".")))
20764 (home-page "https://github.com/jschaf/esup")
20765 (synopsis "Emacs start up profiler")
20766 (description "Benchmark Emacs Startup time without ever leaving
20767 your Emacs.")
20768 (license license:gpl2+))))
20769
20770 (define-public emacs-restart-emacs
20771 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
20772 (revision "1"))
20773 (package
20774 (name "emacs-restart-emacs")
20775 (version (git-version "0.1.1" revision commit))
20776 (source
20777 (origin
20778 (method git-fetch)
20779 (uri (git-reference
20780 (url "https://github.com/iqbalansari/restart-emacs")
20781 (commit commit)))
20782 (file-name (git-file-name name version))
20783 (sha256
20784 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
20785 (build-system emacs-build-system)
20786 (home-page "https://github.com/iqbalansari/restart-emacs")
20787 (synopsis "Restart Emacs from within Emacs")
20788 (description "This package provides a simple command to restart Emacs from
20789 within Emacs.")
20790 (license license:gpl3+))))
20791
20792 (define-public emacs-svg-lib
20793 ;; XXX: Upstream does not tag releases. The commit hash below corresponds
20794 ;; to the version bump.
20795 (let ((commit "0486c9453449771bc3f5872f70bc5cb23580d0f4"))
20796 (package
20797 (name "emacs-svg-lib")
20798 (version "0.2.5")
20799 (source
20800 (origin
20801 (method git-fetch)
20802 (uri (git-reference
20803 (url "https://github.com/rougier/svg-lib")
20804 (commit commit)))
20805 (file-name (git-file-name name version))
20806 (sha256
20807 (base32 "059vd4k7bvskkriwaiz4n2yafc3inndrr018hqfpic4k02cbwzpv"))))
20808 (build-system emacs-build-system)
20809 (home-page "https://github.com/rougier/svg-lib")
20810 (synopsis "Emacs SVG library for creating tags, icons and bars")
20811 (description
20812 "This is a small Emacs library to create and display various
20813 SVG objects, namely tags, progress bars, progress pies and icons.
20814 Each object is guaranteed to fit nicely in a text buffer ensuring
20815 width is an integer multiple of character width.")
20816 (license license:gpl3+))))
20817
20818 (define-public emacs-svg-tag-mode
20819 ;; XXX: Upstream does not tag releases. The commit hash below corresponds
20820 ;; to the version bump.
20821 (let ((commit "3b07983614bee0195534e7a8a6dcfab757da4f0b"))
20822 (package
20823 (name "emacs-svg-tag-mode")
20824 (version "0.3.2")
20825 (source
20826 (origin
20827 (method git-fetch)
20828 (uri (git-reference
20829 (url "https://github.com/rougier/svg-tag-mode")
20830 (commit commit)))
20831 (file-name (git-file-name name version))
20832 (sha256
20833 (base32 "0nc0y2dn67gy9cly3yamskfd9dd028xbask8gjxql934bq0ads2i"))))
20834 (build-system emacs-build-system)
20835 (propagated-inputs
20836 (list emacs-svg-lib))
20837 (home-page "https://github.com/rougier/svg-tag-mode")
20838 (synopsis "Replace keywords with SVG tags")
20839 (description "This package provides a minor mode that replaces keywords
20840 or expressions with SVG rounded box labels that are fully customizable.")
20841 (license license:gpl3+))))
20842
20843 (define-public emacs-kind-icon
20844 (package
20845 (name "emacs-kind-icon")
20846 (version "0.1.7")
20847 (source
20848 (origin
20849 (method url-fetch)
20850 (uri (string-append "https://elpa.gnu.org/packages/kind-icon-"
20851 version ".tar"))
20852 (sha256
20853 (base32 "02imi2qj329yrqvs23d4z7fv8bbaz0fvya6zdswb38blpdri4cn1"))))
20854 (build-system emacs-build-system)
20855 (propagated-inputs (list emacs-svg-lib))
20856 (home-page "https://github.com/jdtsmith/kind-icon")
20857 (synopsis "Completion kind icons in Emacs")
20858 (description "Kind-icon mode adds a colorful icon or text prefix based
20859 on :company-kind for compatible completion UIs. The \"kind\" prefix is
20860 typically used for differentiating completion candidates such as variables,
20861 functions, etc.")
20862 (license license:gpl3+)))
20863
20864 (define-public emacs-svg-icon
20865 (let ((commit "ebc2b8d0f6c680fd575a90e683cc7b832acd1eb7")
20866 (revision "1"))
20867 (package
20868 (name "emacs-svg-icon")
20869 (version (git-version "0.1" revision commit))
20870 (source
20871 (origin
20872 (method git-fetch)
20873 (uri (git-reference
20874 (url "https://github.com/rougier/emacs-svg-icon")
20875 (commit commit)))
20876 (file-name (git-file-name name version))
20877 (sha256
20878 (base32 "1qzqfa8xyw1nkb89kbvw9qcgdwr8g017n8gf3yzwn816qhkfkjrj"))))
20879 (build-system emacs-build-system)
20880 (home-page "https://github.com/rougier/emacs-svg-icon")
20881 (synopsis "Emacs library to create SVG icons on the fly")
20882 (description "This library allows creating SVG icons by parsing remote
20883 collections whose license are compatibles with Emacs. The default size of an
20884 icon is exactly 2x1 characters such that it can be inserted inside a text
20885 without disturbing alignment.")
20886 (license (list license:gpl3+)))))
20887
20888 (define-public emacs-sourcemap
20889 (package
20890 (name "emacs-sourcemap")
20891 (version "0.03")
20892 (source
20893 (origin
20894 (method git-fetch)
20895 (uri (git-reference
20896 (url "https://github.com/syohex/emacs-sourcemap")
20897 (commit version)))
20898 (file-name (git-file-name name version))
20899 (sha256
20900 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
20901 (build-system emacs-build-system)
20902 (home-page "https://github.com/syohex/emacs-sourcemap")
20903 (synopsis "Sourcemap parser")
20904 (description "Sourcemap parser")
20905 (license license:gpl3+)))
20906
20907 (define-public emacs-macrostep
20908 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
20909 (package
20910 (name "emacs-macrostep")
20911 (version (git-version "0.9" "1" commit))
20912 (source (origin
20913 (method git-fetch)
20914 (uri (git-reference
20915 (url "https://github.com/joddie/macrostep")
20916 (commit commit)))
20917 (file-name (git-file-name name version))
20918 (sha256
20919 (base32
20920 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
20921 (build-system emacs-build-system)
20922 (arguments
20923 (list
20924 #:tests? #t
20925 #:phases
20926 #~(modify-phases %standard-phases
20927 (add-before 'check 'remove-test
20928 ;; Fails because of requirement ‘/bin/sh’.
20929 (lambda _
20930 (let ((file "macrostep-test.el"))
20931 (make-file-writable file)
20932 (emacs-batch-edit-file file
20933 `(progn (progn (goto-char (point-min))
20934 (re-search-forward
20935 "(ert-deftest macrostep-expand-c-macros")
20936 (beginning-of-line)
20937 (kill-sexp))
20938 (basic-save-buffer))))))
20939 (replace 'check
20940 (lambda* (#:key tests? #:allow-other-keys)
20941 (when tests?
20942 (invoke "emacs" "--batch" "-L" "."
20943 "-l" "macrostep-test.el"
20944 "-f" "ert-run-tests-batch-and-exit")))))))
20945 (home-page "https://github.com/joddie/macrostep")
20946 (synopsis "Interactive macro-expander for Emacs")
20947 (description "@code{macrostep} is an Emacs minor mode for interactively
20948 stepping through the expansion of macros in Emacs Lisp source code. It lets
20949 you see exactly what happens at each step of the expansion process by
20950 pretty-printing the expanded forms inline in the source buffer, which is
20951 temporarily read-only while macro expansions are visible. You can expand and
20952 collapse macro forms one step at a time, and evaluate or instrument the
20953 expansions for debugging with Edebug as normal.")
20954 (license license:gpl3+))))
20955
20956 (define-public emacs-macrostep-geiser
20957 ;; XXX: Upstream does not tag commits (yet). The commit below matches the
20958 ;; version bump.
20959 (let ((commit "7927651b188cac07113bce5b2cd0de12b2b082f7"))
20960 (package
20961 (name "emacs-macrostep-geiser")
20962 (version "0.2.0")
20963 (source
20964 (origin
20965 (method git-fetch)
20966 (uri (git-reference
20967 (url "https://github.com/nbfalcon/macrostep-geiser")
20968 (commit commit)))
20969 (file-name (git-file-name name version))
20970 (sha256
20971 (base32 "1gz2kypyrb4k76dn4j02c8s6a3dqb1la5jcrdcifv8saa8lvqyli"))))
20972 (build-system emacs-build-system)
20973 (propagated-inputs (list emacs-geiser emacs-macrostep))
20974 (home-page "https://github.com/nbfalcon/macrostep-geiser")
20975 (synopsis "Macrostep for Geiser and Cider")
20976 (description
20977 "This plug-in implements a Macrostep back-end powered by Geiser.")
20978 (license license:gpl3+))))
20979
20980 (define-public emacs-parent-mode
20981 (package
20982 (name "emacs-parent-mode")
20983 (version "2.3")
20984 (source
20985 (origin
20986 (method git-fetch)
20987 (uri (git-reference
20988 (url "https://github.com/Fanael/parent-mode")
20989 (commit version)))
20990 (file-name (git-file-name name version))
20991 (sha256
20992 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
20993 (build-system emacs-build-system)
20994 (home-page "https://github.com/Fanael/parent-mode")
20995 (synopsis "Get major mode's parent modes")
20996 (description "Get major mode's parent modes")
20997 (license license:gpl3+)))
20998
20999 (define-public emacs-lacarte
21000 (package
21001 (name "emacs-lacarte")
21002 (version "0.1")
21003 (source (origin
21004 (method url-fetch)
21005 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
21006 (sha256
21007 (base32
21008 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
21009 (build-system emacs-build-system)
21010 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
21011 (synopsis "Execute menu items as commands, with completion")
21012 (description "Execute menu items as commands, with completion.")
21013 (license license:gpl3)))
21014
21015 (define-public emacs-latex-preview-pane
21016 (let ((commit "5297668a89996b50b2b62f99cba01cc544dbed2e")
21017 (revision "0"))
21018 (package
21019 (name "emacs-latex-preview-pane")
21020 (version (git-version "20151021" revision commit))
21021 (source (origin
21022 (method git-fetch)
21023 (uri (git-reference
21024 (url "https://github.com/jsinglet/latex-preview-pane")
21025 (commit commit)))
21026 (file-name (git-file-name name version))
21027 (sha256
21028 (base32
21029 "1m4f5p53275k8i9p0y105kkrp9nx1bwn6726my9s5dwnjhr5dnp2"))))
21030 (build-system emacs-build-system)
21031 (arguments
21032 (list
21033 ;; The welcome and error message templates are in .txt format.
21034 #:include #~(cons "\\.txt$" %default-include)))
21035 (home-page "https://github.com/jsinglet/latex-preview-pane")
21036 (synopsis "Preview pane to ease LaTeX editing in Emacs")
21037 (description "@code{latex-preview-pane} is a minor mode for previewing
21038 LaTeX files directly in Emacs. It supports PDF previews, with either
21039 @command{pdflatex} or @command{xelatex}, and highlights errors in the LaTeX
21040 buffer.")
21041 (license license:gpl3+))))
21042
21043 (define-public emacs-isearch-prop
21044 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
21045 (revision "2"))
21046 (package
21047 (name "emacs-isearch-prop")
21048 (version (git-version "0" revision commit))
21049 (source
21050 (origin
21051 (method git-fetch)
21052 (uri (git-reference
21053 (url "https://github.com/emacsmirror/isearch-prop")
21054 (commit commit)))
21055 (file-name (git-file-name name version))
21056 (sha256
21057 (base32
21058 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
21059 (build-system emacs-build-system)
21060 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
21061 (synopsis "Extensions to @code{isearch.el}")
21062 (description "The Emacs library @code{isearch-prop.el} lets you search within
21063 contexts. You can limit incremental search to a set of zones of
21064 buffer text, search contexts that in effect constitute a multi-region.
21065 These zones can be defined in various ways, including some ways
21066 provided specially by this library.")
21067 (license license:gpl3+))))
21068
21069 (define-public emacs-company-lua
21070 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
21071 (revision "2"))
21072 (package
21073 (name "emacs-company-lua")
21074 (version (git-version "0.1" "2" commit))
21075 (source
21076 (origin
21077 (method git-fetch)
21078 (uri (git-reference
21079 (url "https://github.com/ptrv/company-lua")
21080 (commit commit)))
21081 (file-name (git-file-name name version))
21082 (sha256
21083 (base32
21084 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
21085 (build-system emacs-build-system)
21086 (propagated-inputs
21087 (list emacs-company emacs-s emacs-f emacs-lua-mode))
21088 (arguments
21089 `(#:include (cons* "^lua\\/" %default-include)))
21090 (home-page "https://github.com/ptrv/company-lua")
21091 (synopsis "Company backend for Lua")
21092 (description
21093 "This package provides Company backend for Lua programming language.")
21094 (license license:gpl3+))))
21095
21096 (define-public emacs-beginend
21097 (package
21098 (name "emacs-beginend")
21099 (version "2.3.0")
21100 (source
21101 (origin
21102 (method git-fetch)
21103 (uri (git-reference
21104 (url "https://github.com/DamienCassou/beginend")
21105 (commit (string-append "v" version))))
21106 (file-name (git-file-name name version))
21107 (sha256
21108 (base32 "17r8v1sjvgcmprywny9fdg54x4pssp8p7a9ivv5mrygkqjz1vykk"))))
21109 ;; TODO: Run tests.
21110 (build-system emacs-build-system)
21111 (inputs
21112 (list emacs-undercover)) ; For tests.
21113 (home-page "https://github.com/DamienCassou/beginend")
21114 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
21115 (description "@code{beginend} redefines @code{M-<} and @code{M->}
21116 keybindings for Emacs modes so that point moves to meaningful
21117 locations. Redefined keys are still accessible by pressing the same
21118 key again.")
21119 (license license:gpl3+)))
21120
21121 (define-public emacs-mbsync
21122 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
21123 (revision "4"))
21124 (package
21125 (name "emacs-mbsync")
21126 (version (git-version "0.1.2" revision commit))
21127 (source
21128 (origin
21129 (method git-fetch)
21130 (uri (git-reference
21131 (url "https://github.com/dimitri/mbsync-el")
21132 (commit commit)))
21133 (file-name (git-file-name name version))
21134 (sha256
21135 (base32
21136 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
21137 (build-system emacs-build-system)
21138 (home-page "https://github.com/dimitri/mbsync-el")
21139 (synopsis "Interface to mbsync for Emacs")
21140 (description "This package calls @code{mbsync} from
21141 within Emacs.")
21142 (license license:gpl3+))))
21143
21144 (define-public emacs-ibuffer-projectile
21145 (package
21146 (name "emacs-ibuffer-projectile")
21147 (version "0.3")
21148 (source
21149 (origin
21150 (method git-fetch)
21151 (uri (git-reference
21152 (url "https://github.com/purcell/ibuffer-projectile")
21153 (commit version)))
21154 (file-name (git-file-name name version))
21155 (sha256
21156 (base32
21157 "18cqxnwzzbkcj9jcaw89b210432yzhrl1dwsv48p0jbhfnr17k41"))))
21158 (build-system emacs-build-system)
21159 (propagated-inputs
21160 (list emacs-projectile))
21161 (home-page "https://github.com/purcell/ibuffer-projectile")
21162 (synopsis "Group ibuffer's list by projectile root")
21163 (description "Adds functionality to Emacs @code{ibuffer} for
21164 grouping buffers by their projectile root directory.")
21165 (license license:gpl3+)))
21166
21167 (define-public emacs-ibuffer-vc
21168 (package
21169 (name "emacs-ibuffer-vc")
21170 (version "0.11")
21171 (source
21172 (origin
21173 (method git-fetch)
21174 (uri (git-reference
21175 (url "https://github.com/purcell/ibuffer-vc")
21176 (commit version)))
21177 (file-name (git-file-name name version))
21178 (sha256
21179 (base32 "1mgn7b786j4hwq1ks012hxxgvrfn5rz90adi2j190gmjz60rc5g5"))))
21180 (build-system emacs-build-system)
21181 (home-page "https://github.com/purcell/ibuffer-vc")
21182 (synopsis "Group Ibuffer's list by revision control system indications")
21183 (description
21184 "Ibuffer-VC adds functionality to Ibuffer for grouping buffers by their
21185 parent revision control system root directory, and for displaying, or sorting,
21186 by the status of listed files.")
21187 (license license:gpl3+)))
21188
21189 (define-public emacs-elm-mode
21190 (package
21191 (name "emacs-elm-mode")
21192 (version "0.22.0")
21193 (source
21194 (origin
21195 (method git-fetch)
21196 (uri
21197 (git-reference
21198 (url "https://github.com/jcollard/elm-mode")
21199 (commit (string-append "v" version))))
21200 (file-name (git-file-name name version))
21201 (sha256
21202 (base32 "1gnr61ibzcznfqy5f8capmbz75rcfikwy106rjdmp45qz2jwp4di"))))
21203 (propagated-inputs
21204 (list emacs-dash emacs-f emacs-reformatter emacs-s))
21205 (build-system emacs-build-system)
21206 (home-page "https://github.com/jcollard/elm-mode")
21207 (synopsis "Emacs major mode for editing Elm source code")
21208 (description
21209 "This package provides a major mode for editing Elm source code, and
21210 working with common core and third-party Elm tools. Its features are:
21211
21212 @itemize
21213 @item Syntax highlighting
21214 @item Intelligent indentation
21215 @item Integration with elm-make
21216 @item Integration with elm-repl
21217 @item Integration with elm-reactor
21218 @item Integration with elm-package
21219 @item Integration with elm-oracle
21220 @item Integration with elm-format
21221 @item Integration with elm-test
21222 @end itemize")
21223 (license license:gpl3+)))
21224
21225 (define-public emacs-helm-mode-manager
21226 (package
21227 (name "emacs-helm-mode-manager")
21228 (version "1.0.0")
21229 (source
21230 (origin
21231 (method git-fetch)
21232 (uri (git-reference
21233 (url "https://github.com/istib/helm-mode-manager")
21234 (commit version)))
21235 (file-name (git-file-name name version))
21236 (sha256
21237 (base32
21238 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
21239 (build-system emacs-build-system)
21240 (propagated-inputs
21241 (list emacs-helm))
21242 (home-page "https://github.com/istib/helm-mode-manager/")
21243 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
21244 (description "This package provides a Helm interface for toggling Emacs
21245 major or minor mode.
21246
21247 @itemize
21248 @item @code{helm-switch-major-mode} list of all major modes
21249 @item @code{helm-enable-minor-mode} list of all inactive minor modes
21250 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
21251 @end itemize\n
21252
21253 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
21254 documentation.")
21255 (license license:gpl3+)))
21256
21257 (define-public emacs-hy-mode
21258 (package
21259 (name "emacs-hy-mode")
21260 (version "1.0.4")
21261 (source
21262 (origin
21263 (method git-fetch)
21264 (uri (git-reference
21265 (url "https://github.com/hylang/hy-mode")
21266 (commit (string-append "v" version))))
21267 (file-name (git-file-name name version))
21268 (sha256
21269 (base32 "0gihxlmfminadaqdr8d2zccd7wwygl3m0gfzxsk5izi7f8hl4w7f"))))
21270 (build-system emacs-build-system)
21271 (propagated-inputs
21272 (list emacs-dash emacs-s))
21273 (home-page "https://github.com/hylang/hy-mode")
21274 (synopsis "Major mode for Hylang")
21275 (description "This package provides a major mode for Hylang.")
21276 (license license:gpl3+)))
21277
21278 (define-public emacs-web-beautify
21279 (package
21280 (name "emacs-web-beautify")
21281 (version "0.3.2")
21282 (source
21283 (origin
21284 (method git-fetch)
21285 (uri (git-reference
21286 (url "https://github.com/yasuyk/web-beautify")
21287 (commit version)))
21288 (file-name (git-file-name name version))
21289 (sha256
21290 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
21291 (build-system emacs-build-system)
21292 (home-page "https://github.com/yasuyk/web-beautify")
21293 (synopsis "Format HTML, CSS and JavaScript, JSON")
21294 (description "This package provides an Emacs functions to format HTML,
21295 CSS, JavaScript, JSON.")
21296 (license license:gpl3+)))
21297
21298 (define-public emacs-helm-shell-history
21299 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
21300 (package
21301 (name "emacs-helm-shell-history")
21302 (version (git-version "0.1" "1" commit))
21303 (source
21304 (origin
21305 (method git-fetch)
21306 (uri (git-reference
21307 (url "https://github.com/yuutayamada/helm-shell-history")
21308 (commit commit)))
21309 (file-name (git-file-name name version))
21310 (sha256
21311 (base32
21312 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
21313 (build-system emacs-build-system)
21314 (arguments
21315 '(#:phases
21316 (modify-phases %standard-phases
21317 (add-before 'check 'patch-helm-shell-history-file
21318 (lambda _
21319 (let ((file "helm-shell-history.el"))
21320 (chmod file #o644)
21321 (emacs-substitute-sexps file
21322 ("(defvar helm-shell-history-file"
21323 `(expand-file-name "~/.bash_history"))))
21324 #t)))))
21325 (propagated-inputs
21326 (list emacs-helm))
21327 (home-page "https://github.com/yuutayamada/helm-shell-history")
21328 (synopsis "Find shell history with Emacs Helm")
21329 (description "This package provides an Emacs Helm interface to search
21330 throw a shell history.")
21331 (license license:gpl3+))))
21332
21333 (define-public emacs-discover-my-major
21334 (package
21335 (name "emacs-discover-my-major")
21336 (version "1.0")
21337 (source
21338 (origin
21339 (method git-fetch)
21340 (uri (git-reference
21341 (url "https://framagit.org/steckerhalter/discover-my-major.git/")
21342 (commit version)))
21343 (file-name (git-file-name name version))
21344 (sha256
21345 (base32
21346 "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4"))))
21347 (build-system emacs-build-system)
21348 (propagated-inputs
21349 (list emacs-makey))
21350 (home-page "https://framagit.org/steckerhalter/discover-my-major/")
21351 (synopsis "Discover key bindings for the current Emacs major mode")
21352 (description "This package discovers key bindings and
21353 their meaning for the current Emacs major-mode.")
21354 (license license:gpl3+)))
21355
21356 (define-public emacs-org-ref
21357 (package
21358 (name "emacs-org-ref")
21359 (version "2.0.0")
21360 (source
21361 (origin
21362 (method git-fetch)
21363 (uri (git-reference
21364 (url "https://github.com/jkitchin/org-ref")
21365 (commit (string-append "v" version))))
21366 (file-name (git-file-name name version))
21367 (sha256
21368 (base32 "0xd1qp8dfy8n8b2n3rsdzm8vrfl7dii142kw330s8jp3pavww1f6"))))
21369 (build-system emacs-build-system)
21370 (propagated-inputs
21371 (list emacs-dash
21372 emacs-f
21373 emacs-helm
21374 emacs-helm-bibtex
21375 emacs-htmlize
21376 emacs-hydra
21377 emacs-ivy
21378 emacs-key-chord
21379 emacs-pdf-tools
21380 emacs-s))
21381 (home-page "https://github.com/jkitchin/org-ref")
21382 (synopsis "Citations, cross-references and bibliographies in Org mode")
21383 (description
21384 "Org Ref is an Emacs library that provides rich support for citations,
21385 labels and cross-references in Org mode.
21386
21387 The basic idea of Org Ref is that it defines a convenient interface to insert
21388 citations from a reference database (e.g., from BibTeX files), and a set of
21389 functional Org links for citations, cross-references and labels that export
21390 properly to LaTeX, and that provide clickable functionality to the user. Org
21391 Ref interfaces with Helm BibTeX to facilitate citation entry, and it can also
21392 use RefTeX.
21393
21394 It also provides a fairly large number of utilities for finding bad citations,
21395 extracting BibTeX entries from citations in an Org file, and functions to
21396 create and modify BibTeX entries from a variety of sources, most notably from
21397 a DOI.
21398
21399 Org Ref is especially suitable for Org documents destined for LaTeX export and
21400 scientific publication. Org Ref is also useful for research documents and
21401 notes.")
21402 (license license:gpl3+)))
21403
21404 (define-public emacs-org-reveal
21405 (let ((commit "fe9148b670d144124d9697fcf5d0528f19025104"))
21406 (package
21407 (name "emacs-org-reveal")
21408 (version (git-version "20210902" "1" commit))
21409 (source (origin
21410 (method git-fetch)
21411 (uri (git-reference
21412 (url "https://github.com/yjwen/org-reveal")
21413 (commit commit)))
21414 (file-name (git-file-name name version))
21415 (sha256
21416 (base32
21417 "034gkbc03z9jzj7ad34mmqgmvj4f14ap7iixh3zx4wp2ipw5xb7c"))))
21418 (build-system emacs-build-system)
21419 (home-page "https://github.com/yjwen/org-reveal")
21420 (synopsis "Org and Reveal.js powered HTML presentation tool")
21421 (description "Org-Reveal is a @command{org-mode} extension that allows
21422 to create beautiful presentations (slides) with 3D effects from simple but
21423 powerful Org contents.")
21424 (license license:gpl3+))))
21425
21426 (define-public emacs-org-re-reveal
21427 (package
21428 (name "emacs-org-re-reveal")
21429 (version "3.16.1")
21430 (source
21431 (origin
21432 (method git-fetch)
21433 (uri (git-reference
21434 (url "https://gitlab.com/oer/org-re-reveal")
21435 (commit version)))
21436 (file-name (git-file-name name version))
21437 (sha256
21438 (base32 "1jzr7xlzinhfb0197anbkrr5zrs13f7kyznr5q3zyxdndhg6a53n"))))
21439 (build-system emacs-build-system)
21440 (propagated-inputs
21441 (list emacs-htmlize emacs-org))
21442 (home-page "https://gitlab.com/oer/org-re-reveal")
21443 (synopsis "Build HTML presentations with reveal.js from Org source files")
21444 (description "This project started as fork of org-reveal. It provides an
21445 export back-end for HTML presentations with reveal.js from Org mode source
21446 files.")
21447 (license license:gpl3+)))
21448
21449 (define-public emacs-add-hooks
21450 (package
21451 (name "emacs-add-hooks")
21452 (version "3.1.1")
21453 (source
21454 (origin
21455 (method git-fetch)
21456 (uri (git-reference
21457 (url "https://github.com/nickmccurdy/add-hooks")
21458 (commit version)))
21459 (file-name (git-file-name name version))
21460 (sha256
21461 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
21462 (build-system emacs-build-system)
21463 (home-page "https://github.com/nickmccurdy/add-hooks/")
21464 (synopsis "Emacs function for setting multiple hooks")
21465 (description "This package provides a @code{add-hooks} function tidies up
21466 duplicate hook and function names further into a single declarative call.")
21467 (license license:gpl3+)))
21468
21469 (define-public emacs-fancy-battery
21470 (package
21471 (name "emacs-fancy-battery")
21472 (version "0.2")
21473 (source
21474 (origin
21475 (method git-fetch)
21476 (uri (git-reference
21477 (url "https://github.com/emacsorphanage/fancy-battery")
21478 (commit version)))
21479 (file-name (git-file-name name version))
21480 (sha256
21481 (base32 "05lwcwf412m717yhwpjrswqkm8c3i7391rmiwv2k8xc1vk6dpp4g"))))
21482 (build-system emacs-build-system)
21483 (home-page "https://github.com/emacsorphanage/fancy-battery")
21484 (synopsis "Display battery status in Emacs mode line")
21485 (description "This package provides @code{fancy-battery-mode} which is
21486 like the built-in @code{display-battery-mode}, but more fancy. It just the
21487 remaining time, uses colours to indicate the status of the battery, and is
21488 more customizable.")
21489 (license license:gpl3)))
21490
21491 (define-public emacs-fancy-narrow
21492 (package
21493 (name "emacs-fancy-narrow")
21494 (version "0.9.5")
21495 (source
21496 (origin
21497 (method git-fetch)
21498 (uri (git-reference
21499 (url "https://github.com/Malabarba/fancy-narrow")
21500 (commit version)))
21501 (file-name (git-file-name name version))
21502 (sha256
21503 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
21504 (build-system emacs-build-system)
21505 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
21506 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
21507 (description
21508 "Unlike @code{narrow-to-region}, which completely hides text outside
21509 the narrowed region, this package simply de-emphasizes the text, makes it
21510 read-only, and makes it unreachable. This leads to a much more natural
21511 feeling where the region stays static (instead of being brutally moved to a
21512 blank slate) and is clearly highlighted with respect to the rest of the
21513 buffer.")
21514 (license license:gpl2+)))
21515
21516 (define-public emacs-hideshowvis
21517 (let ((commit "614e856620445166a60c00a1c4653dbd59c871c9")
21518 (revision "1"))
21519 (package
21520 (name "emacs-hideshowvis")
21521 (version (git-version "0.7" revision commit))
21522 (source (origin
21523 (method git-fetch)
21524 (uri (git-reference
21525 (url "https://github.com/sheijk/hideshowvis")
21526 (commit commit)))
21527 (file-name (git-file-name name version))
21528 (sha256
21529 (base32
21530 "0ykj5jwcm03p5h7sd52qndmzihyan09lqg6rzgmyabvw7p56y90m"))))
21531 (build-system emacs-build-system)
21532 (home-page "https://github.com/sheijk/hideshowvis")
21533 (synopsis "Add icons in the Emacs fringe which @code{hideshow} can hide")
21534 (description "Emacs package to add clickable icons in the fringe for
21535 regions which @code{hideshow} can hide.")
21536 (license license:gpl2+))))
21537
21538 (define-public emacs-know-your-http-well
21539 (package
21540 (name "emacs-know-your-http-well")
21541 (version "0.5.0")
21542 (source
21543 (origin
21544 (method git-fetch)
21545 (uri (git-reference
21546 (url "https://github.com/for-GET/know-your-http-well")
21547 (commit (string-append "v" version))))
21548 (file-name (git-file-name name version))
21549 (sha256
21550 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
21551 (arguments
21552 `(#:phases
21553 (modify-phases %standard-phases
21554 (add-after 'unpack 'install-json-files
21555 (lambda* (#:key outputs #:allow-other-keys)
21556 (for-each (lambda (directory)
21557 (copy-recursively directory
21558 (string-append
21559 (assoc-ref outputs "out")
21560 directory)))
21561 '("js" "json"))))
21562 (add-after 'unpack 'chdir-elisp
21563 ;; Elisp directory is not in root of the source.
21564 (lambda _
21565 (chdir "emacs"))))))
21566 (build-system emacs-build-system)
21567 (home-page "https://github.com/for-GET/know-your-http-well")
21568 (synopsis "Meaning of HTTP headers codes")
21569 (description "Meaning of HTTP headers codes.")
21570 (license license:gpl3+)))
21571
21572 (define-public emacs-navi-mode
21573 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
21574 (package
21575 (name "emacs-navi-mode")
21576 (version (git-version "2.0" "1" commit))
21577 (source
21578 (origin
21579 (method git-fetch)
21580 (uri (git-reference
21581 (url "https://github.com/alphapapa/navi")
21582 (commit commit)))
21583 (file-name (git-file-name name version))
21584 (sha256
21585 (base32
21586 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
21587 (build-system emacs-build-system)
21588 (propagated-inputs
21589 (list emacs-outshine emacs-outorg))
21590 (home-page "https://github.com/alphapapa/navi")
21591 (synopsis "Emacs major-mode for easy buffer-navigation")
21592 (description
21593 "This package provides an Emacs major-mode for easy buffer-navigation")
21594 (license license:gpl3+))))
21595
21596 (define-public emacs-download-region
21597 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
21598 (revision "1"))
21599 (package
21600 (name "emacs-download-region")
21601 (version (string-append "0.0.1" "-" revision "."
21602 (string-take commit 7)))
21603 (source
21604 (origin
21605 (method git-fetch)
21606 (uri (git-reference
21607 (url "https://github.com/zk-phi/download-region")
21608 (commit commit)))
21609 (file-name (git-file-name name version))
21610 (sha256
21611 (base32
21612 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
21613 (build-system emacs-build-system)
21614 (home-page "https://github.com/zk-phi/download-region")
21615 (synopsis "In buffer download manager for Emacs")
21616 (description "@code{download-region} provides in buffer
21617 downloading manager for Emacs.")
21618 (license license:gpl3+))))
21619
21620 (define-public emacs-helpful
21621 (package
21622 (name "emacs-helpful")
21623 (version "0.19")
21624 (source
21625 (origin
21626 (method git-fetch)
21627 (uri (git-reference
21628 (url "https://github.com/Wilfred/helpful")
21629 (commit version)))
21630 (file-name (git-file-name name version))
21631 (sha256
21632 (base32 "0qwsifzsjw95l83m7z07fr9h1sqbhggwmcps1qgbddpan2a8ab8a"))
21633 ;; Cherry-picked from upstream, remove when bumping to 0.20.
21634 (patches (search-patches "emacs-helpful-fix-docstring-test.patch"))))
21635 (build-system emacs-build-system)
21636 (propagated-inputs
21637 (list emacs-elisp-refs emacs-dash emacs-s emacs-f emacs-shut-up))
21638 (native-inputs
21639 (list emacs-ert-runner emacs-undercover))
21640 (arguments
21641 `(#:tests? #t
21642 #:test-command '("ert-runner")))
21643 (home-page "https://github.com/Wilfred/helpful")
21644 (synopsis "More contextual information in Emacs help")
21645 (description "@code{helpful} is an alternative to the built-in Emacs help
21646 that provides much more contextual information.
21647
21648 @itemize
21649 @item Show the source code for interactively defined functions (unlike the
21650 built-in Help).
21651 @item Fall back to the raw sexp if no source is available.
21652 @item Show where a function is being called.
21653 @item Docstrings will Highlight the summary (the first sentence), include
21654 cross-references, hide superfluous puncuation.
21655 @item Show you the properties that have been applied to the current
21656 symbol. This provides visibility of features like edebug or byte-code
21657 optimisation.
21658 @item Provide a separate @code{helpful-command} function to view interactive
21659 functions.
21660 @item Display any keybindings that apply to interactive functions.
21661 @item Trace, disassemble functions from inside Helpful. This is discoverable
21662 and doesn't require memorisation of commands.
21663 @end itemize\n")
21664 (license license:gpl3+)))
21665
21666 (define-public emacs-logview
21667 (package
21668 (name "emacs-logview")
21669 (version "0.15.1")
21670 (source
21671 (origin
21672 (method git-fetch)
21673 (uri (git-reference
21674 (url "https://github.com/doublep/logview")
21675 (commit version)))
21676 (file-name (git-file-name name version))
21677 (sha256
21678 (base32 "1khri5632pjirj191x3ps94s4pyrwapf1pbrkmqqp0d26b50d3s2"))))
21679 (propagated-inputs
21680 (list emacs-datetime emacs-extmap))
21681 (build-system emacs-build-system)
21682 (home-page "https://github.com/doublep/logview/")
21683 (synopsis "Emacs mode for viewing log files")
21684 (description "@code{logview} provides an Emacs mode to view log files.")
21685 (license license:gpl3+)))
21686
21687 (define-public emacs-suggest
21688 (package
21689 (name "emacs-suggest")
21690 (version "0.7")
21691 (home-page "https://github.com/Wilfred/suggest.el")
21692 (source
21693 (origin
21694 (method git-fetch)
21695 (uri (git-reference
21696 (url home-page)
21697 (commit version)))
21698 (file-name (git-file-name name version))
21699 (sha256
21700 (base32
21701 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
21702 (build-system emacs-build-system)
21703 (propagated-inputs
21704 (list emacs-loop
21705 emacs-dash
21706 emacs-s
21707 emacs-f
21708 emacs-spinner
21709 emacs-shut-up))
21710 (native-inputs
21711 (list emacs-ert-runner emacs-undercover))
21712 (arguments
21713 `(#:tests? #t
21714 #:test-command '("ert-runner")))
21715 (synopsis "Suggest Elisp functions that give the output requested")
21716 (description "Suggest.el will find functions that give the output
21717 requested. It's a great way of exploring list, string and arithmetic
21718 functions.")
21719 (license license:gpl3+)))
21720
21721 (define-public emacs-benchmark-init
21722 (let ((commit "02435560415bbadbcf5051fb7042880549170e7e")
21723 (revision "1"))
21724 (package
21725 (name "emacs-benchmark-init")
21726 (version (git-version "1.0" revision commit))
21727 (source
21728 (origin
21729 (method git-fetch)
21730 (uri (git-reference
21731 (url "https://github.com/dholm/benchmark-init-el")
21732 (commit commit)))
21733 (file-name (git-file-name name version))
21734 (sha256
21735 (base32 "19375vamhld4xm2qrdmhlp2nczfvalmz9x6ahl23zwkilr8n1nbw"))))
21736 (build-system emacs-build-system)
21737 (home-page "https://github.com/dholm/benchmark-init-el")
21738 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
21739 (description "@code{benchmark-init} provides a way to keep track of where
21740 time is being spent during Emacs startup in order to optimize startup time.")
21741 (license license:gpl3+))))
21742
21743 (define-public emacs-magit-gerrit
21744 (package
21745 (name "emacs-magit-gerrit")
21746 (version "0.4")
21747 (source
21748 (origin
21749 (method git-fetch)
21750 (uri (git-reference
21751 (url "https://github.com/terranpro/magit-gerrit")
21752 (commit (string-append "v" version))))
21753 (file-name (git-file-name name version))
21754 (sha256
21755 (base32 "1q4kcr2ha2kir7pj0cshmgllgq51543syxkkk5jk3ksfiaba4crj"))))
21756 (build-system emacs-build-system)
21757 (propagated-inputs
21758 (list emacs-magit))
21759 (home-page "https://github.com/terranpro/magit-gerrit")
21760 (synopsis "Magit extension for Gerrit")
21761 (description "This Magit extension provides integration with Gerrit,
21762 which makes it possible to conduct Gerrit code reviews directly from within
21763 Emacs.")
21764 (license license:gpl3+)))
21765
21766 (define-public emacs-magit-org-todos-el
21767 (package
21768 (name "emacs-magit-org-todos-el")
21769 (version "0.1.2")
21770 (source
21771 (origin
21772 (method git-fetch)
21773 (uri (git-reference
21774 (url "https://github.com/danielma/magit-org-todos.el")
21775 (commit version)))
21776 (file-name (git-file-name name version))
21777 (sha256
21778 (base32
21779 "07r5x256k1fjjxs1yfg41kc94nwvnjlk2vvknkra3j8v9p0j88m7"))))
21780 (propagated-inputs
21781 (list emacs-magit))
21782 (build-system emacs-build-system)
21783 (home-page "https://github.com/danielma/magit-org-todos.el")
21784 (synopsis "Get todo.org into Emacs Magit status")
21785 (description "This package allows you to get @file{todo.org} into your
21786 magit status.
21787
21788 If you have a @file{todo.org} file with @code{TODO} items in the root of your
21789 repository, @code{magit-org-todos} will create a section in your Magit status
21790 buffer with each of your todos.")
21791 (license license:gpl3+)))
21792
21793 (define-public emacs-vcsh
21794 (package
21795 (name "emacs-vcsh")
21796 (version "0.4.4")
21797 (source
21798 (origin
21799 (method git-fetch)
21800 (uri (git-reference
21801 (url "https://gitlab.com/stepnem/vcsh-el.git")
21802 (commit version)))
21803 (file-name (git-file-name name version))
21804 (sha256
21805 (base32 "183pffdiqb7qqmjq31wxl3fpv8qswqgg99gb716rddiyk15ysri7"))))
21806 (build-system emacs-build-system)
21807 (home-page "https://gitlab.com/stepnem/vcsh-el")
21808 (synopsis "Emacs VCSH integration")
21809 (description
21810 "This library provides basic ``enter'' functionality and a few
21811 convenience commands to initialize a @acronym{VCSH, Version Control System for
21812 $HOME} repository and add files to it. It can be used in conjunction with
21813 Magit.")
21814 (license license:public-domain)))
21815
21816 (define-public emacs-f3
21817 (package
21818 (name "emacs-f3")
21819 (version "0.1")
21820 (source
21821 (origin
21822 (method git-fetch)
21823 (uri (git-reference
21824 (url "https://github.com/cosmicexplorer/f3")
21825 (commit version)))
21826 (file-name (git-file-name name version))
21827 (sha256
21828 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
21829 (build-system emacs-build-system)
21830 (propagated-inputs
21831 (list emacs-helm))
21832 (home-page "https://github.com/cosmicexplorer/f3")
21833 (synopsis "Fantastic File Finder for Emacs")
21834 (description
21835 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
21836 (license license:gpl3+)))
21837
21838 (define-public emacs-lice-el
21839 (let ((commit "482e58ab83fff86ed754b00be27b62a219597e7c"))
21840 (package
21841 (name "emacs-lice-el")
21842 (version (git-version "0.2" "2" commit))
21843 (source (origin
21844 (method git-fetch)
21845 (uri (git-reference
21846 (url "https://github.com/buzztaiki/lice-el")
21847 (commit commit)))
21848 (file-name (git-file-name name version))
21849 (sha256
21850 (base32
21851 "0yxkjyhfk8kpr8yqz54gdx6xwkj4s8bnbz60162jh12crj0bs5n7"))))
21852 (build-system emacs-build-system)
21853 (arguments
21854 `(#:phases
21855 (modify-phases %standard-phases
21856 (add-after 'unpack 'patch-template-directory
21857 (lambda* (#:key outputs #:allow-other-keys)
21858 (chmod "lice.el" #o666)
21859 (emacs-substitute-variables "lice.el"
21860 ("lice:system-template-directory"
21861 (string-append (assoc-ref outputs "out")
21862 "/share/emacs-lice-el/template")))
21863 #t))
21864 (add-after 'install 'install-templates
21865 (lambda* (#:key outputs #:allow-other-keys)
21866 (copy-recursively
21867 "template"
21868 (string-append (assoc-ref outputs "out")
21869 "/share/emacs-lice-el/template"))
21870 #t)))))
21871 (home-page "https://github.com/buzztaiki/lice-el")
21872 (synopsis "License and header template for Emacs")
21873 (description "@code{lice.el} provides following features:
21874
21875 @itemize
21876 @item License template management.
21877 @item File header insertion.
21878 @end itemize\n")
21879 (license license:gpl3+))))
21880
21881 (define-public emacs-academic-phrases
21882 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
21883 (package
21884 (name "emacs-academic-phrases")
21885 (version (git-version "0.1" "1" commit))
21886 (source
21887 (origin
21888 (method git-fetch)
21889 (uri (git-reference
21890 (url "https://github.com/nashamri/academic-phrases")
21891 (commit commit)))
21892 (file-name (git-file-name name version))
21893 (sha256
21894 (base32
21895 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
21896 (build-system emacs-build-system)
21897 (propagated-inputs
21898 (list emacs-dash emacs-s emacs-ht))
21899 (home-page "https://github.com/nashamri/academic-phrases")
21900 (synopsis "Bypass that mental block when writing your papers")
21901 (description
21902 "When writing your academic paper, you might get stuck trying to find
21903 the right phrase that captures your intention. This package tries to
21904 alleviate that problem by presenting you with a list of phrases organized by
21905 the topic or by the paper section that you are writing. This package has
21906 around 600 phrases so far.
21907
21908 Using this package is easy, just call @code{academic-phrases} to get a list of
21909 phrases organized by topic, or call @code{academic-phrases-by-section} to
21910 browse the phrases by the paper section and fill-in the blanks if required.")
21911 (license license:gpl3+))))
21912
21913 (define-public emacs-auto-yasnippet
21914 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
21915 (revision "2"))
21916 (package
21917 (name "emacs-auto-yasnippet")
21918 (version (git-version "0.3.0" revision commit))
21919 (source (origin
21920 (method git-fetch)
21921 (uri (git-reference
21922 (url "https://github.com/abo-abo/auto-yasnippet")
21923 (commit commit)))
21924 (file-name (git-file-name name version))
21925 (sha256
21926 (base32
21927 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
21928 (build-system emacs-build-system)
21929 (arguments
21930 '(#:tests? #t
21931 #:test-command '("make" "test")))
21932 (propagated-inputs
21933 (list emacs-yasnippet))
21934 (home-page "https://github.com/abo-abo/auto-yasnippet/")
21935 (synopsis "Quickly create disposable yasnippets")
21936 (description "This package provides a hybrid of keyboard macros and
21937 yasnippet. You create the snippet on the go, usually to be used just in the
21938 one place. It's fast, because you're not leaving the current buffer, and all
21939 you do is enter the code you'd enter anyway, just placing ~ where you'd like
21940 yasnippet fields and mirrors to be.")
21941 (license license:gpl3+))))
21942
21943 (define-public emacs-highlight-numbers
21944 (package
21945 (name "emacs-highlight-numbers")
21946 (version "0.2.3")
21947 (source
21948 (origin
21949 (method git-fetch)
21950 (uri (git-reference
21951 (url "https://github.com/Fanael/highlight-numbers")
21952 (commit version)))
21953 (file-name (git-file-name name version))
21954 (sha256
21955 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
21956 (build-system emacs-build-system)
21957 (propagated-inputs
21958 (list emacs-parent-mode))
21959 (home-page "https://github.com/Fanael/highlight-numbers")
21960 (synopsis "Highlight numbers in source code")
21961 (description "@code{highlight-numbers-mode} provides a minor mode for
21962 syntax highlighting of numeric literals in source code.
21963
21964 It s customizable: it's easy to add or redefine what exactly constitutes a
21965 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
21966 (license license:gpl3+)))
21967
21968 (define-public emacs-darkroom
21969 (package
21970 (name "emacs-darkroom")
21971 (version "0.3")
21972 (source
21973 (origin
21974 (method url-fetch)
21975 (uri (string-append "https://elpa.gnu.org/packages/"
21976 "darkroom-" version ".el"))
21977 (sha256
21978 (base32 "0l1xg5kqmjw22k78qnsln0ifx2dx74xxqj0qp8xxcpqvzzx0xh86"))))
21979 (build-system emacs-build-system)
21980 (home-page "https://elpa.gnu.org/packages/darkroom.html")
21981 (synopsis "Remove visual distractions and focus on writing")
21982 (description "@code{darkroom-mode} makes visual distractions disappear.
21983 The mode-line is temporarily elided, text is enlarged and margins are adjusted
21984 so that it's centered on the window.
21985
21986 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
21987 @code{darkroom-mode}, unless the current buffer lives in the sole window of
21988 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
21989 split to display more windows and more buffers, the buffer exits
21990 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
21991 @code{darkroom-mode}.")
21992 (license license:gpl3+)))
21993
21994 (define-public emacs-rsw-elisp
21995 (package
21996 (name "emacs-rsw-elisp")
21997 (version "1.0.5")
21998 (source (origin
21999 (method git-fetch)
22000 (uri (git-reference
22001 (url "https://github.com/rswgnu/rsw-elisp")
22002 (commit version)))
22003 (file-name (git-file-name name version))
22004 (sha256
22005 (base32
22006 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
22007 (build-system emacs-build-system)
22008 (home-page "https://github.com/rswgnu/rsw-elisp")
22009 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
22010 (description "This package improves and replaces the GNU Emacs commands
22011 that interactively evaluate Emacs Lisp expressions. The new commands replace
22012 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
22013 the same way as the old commands when called non-interactively; only the
22014 interactive behavior should be different.")
22015 (license license:gpl3+)))
22016
22017 (define-public emacs-default-text-scale
22018 (package
22019 (name "emacs-default-text-scale")
22020 (version "0.2")
22021 (source (origin
22022 (method git-fetch)
22023 (uri (git-reference
22024 (url "https://github.com/purcell/default-text-scale")
22025 (commit version)))
22026 (file-name (git-file-name name version))
22027 (sha256
22028 (base32
22029 "0h42jiwxrxjmk7ccwh3h25n7dy2rq61ncm5wx27jhkncc5jdm4h6"))))
22030 (build-system emacs-build-system)
22031 (home-page "https://github.com/purcell/default-text-scale")
22032 (synopsis "Adjust the font size in all Emacs frames")
22033 (description "This package provides commands for increasing or
22034 decreasing the default font size in all GUI Emacs frames.")
22035 (license license:gpl3+)))
22036
22037 (define-public emacs-fixed-pitch
22038 (package
22039 (name "emacs-fixed-pitch")
22040 (version "0.1.0")
22041 (source
22042 (origin
22043 (method git-fetch)
22044 (uri (git-reference
22045 (url "https://github.com/cstby/fixed-pitch-mode")
22046 (commit (string-append "v" version))))
22047 (file-name (git-file-name name version))
22048 (sha256
22049 (base32 "0qlavjvib0r71xdy6y6pan9dhr57lw7jhmqk60mwa8fq6km8kpkj"))))
22050 (build-system emacs-build-system)
22051 (home-page "https://github.com/cstby/fixed-pitch-mode")
22052 (synopsis
22053 "Use a monospaced typeface for code and a proportional one elsewhere")
22054 (description
22055 "Fixed-pitch mode is an Emacs minor mode for setting a monospaced typeface.
22056 This allows you to set a proportional typeface for UI elements while keeping
22057 a monospaced typeface for code.")
22058 (license license:gpl3+)))
22059
22060 (define-public emacs-mixed-pitch
22061 (package
22062 (name "emacs-mixed-pitch")
22063 (version "1.1.1")
22064 (source
22065 (origin
22066 (method git-fetch)
22067 (uri (git-reference
22068 (url "https://gitlab.com/jabranham/mixed-pitch.git")
22069 (commit version)))
22070 (file-name (git-file-name name version))
22071 (sha256
22072 (base32 "1dhljrh44dsnixd8hbb11k6dgap8r8n7jknhfy2afdzq889fih74"))))
22073 (build-system emacs-build-system)
22074 (home-page "https://gitlab.com/jabranham/mixed-pitch")
22075 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
22076 (description
22077 "@code{mixed-pitch-mode} is a minor mode that enables mixing
22078 variable-pitch and fixed-pitch fonts in the same buffer. The list
22079 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
22080 fixed-pitch,everything else becomes variable-pitch.")
22081 (license license:gpl3+)))
22082
22083 (define-public emacs-visual-regexp
22084 (package
22085 (name "emacs-visual-regexp")
22086 (version "1.1.2")
22087 (source
22088 (origin
22089 (method git-fetch)
22090 (uri (git-reference
22091 (url "https://github.com/benma/visual-regexp.el")
22092 (commit (string-append "v" version))))
22093 (file-name (git-file-name name version))
22094 (sha256
22095 (base32 "12p3rlhdphwmx1kxsjzcl2wj3i6qgpvw8iwhg1whs6yqgaxivixd"))))
22096 (build-system emacs-build-system)
22097 (home-page "https://github.com/benma/visual-regexp.el/")
22098 (synopsis "Regexp command with interactive visual feedback")
22099 (description "This package provides an Emacs regexp command with
22100 interactive visual feedback.")
22101 (license license:gpl3+)))
22102
22103 (define-public emacs-faceup
22104 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
22105 (revision "1"))
22106 (package
22107 (name "emacs-faceup")
22108 (version (string-append "0.0.1" "-" revision "."
22109 (string-take commit 7)))
22110 (source
22111 (origin
22112 (method git-fetch)
22113 (uri (git-reference
22114 (url "https://github.com/Lindydancer/faceup")
22115 (commit commit)))
22116 (file-name (git-file-name name version))
22117 (sha256
22118 (base32
22119 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
22120 (build-system emacs-build-system)
22121 (home-page "https://github.com/Lindydancer/faceup")
22122 (synopsis "Markup language for faces and font-lock regression testing")
22123 (description "Emacs is capable of highlighting buffers based on
22124 language-specific @code{font-lock} rules. This package makes it possible to
22125 perform regression test for packages that provide font-lock rules.")
22126 (license license:gpl3+))))
22127
22128 (define-public emacs-racket-mode
22129 ;; XXX: Upstream does not tag releases, nor does it bump versions. The
22130 ;; "0.0.2" version below does not exist. It might change, tho. See
22131 ;; <https://github.com/greghendershott/racket-mode/issues/389>.
22132 (let ((commit "cef5a55d2b766973db92f9d9ab2210c03fa8ba02")
22133 (revision "7"))
22134 (package
22135 (name "emacs-racket-mode")
22136 (version (git-version "0.0.2" revision commit))
22137 (source
22138 (origin
22139 (method git-fetch)
22140 (uri (git-reference
22141 (url "https://github.com/greghendershott/racket-mode")
22142 (commit commit)))
22143 (file-name (git-file-name name version))
22144 (sha256
22145 (base32
22146 "0zzk0s4akx6ffsbhylgfflcypkkg36a3accxhmmdd11yn5rckv7f"))))
22147 (build-system emacs-build-system)
22148 (arguments
22149 (list
22150 #:include #~(list "\\.el$" "\\.rkt$")))
22151 (propagated-inputs
22152 (list emacs-faceup emacs-paredit emacs-pos-tip emacs-s))
22153 (home-page "https://www.racket-mode.com/")
22154 (synopsis "Major mode for the Racket language")
22155 (description "Racket mode provides thorough font-lock and indentation.
22156 It follows DrRacket concepts where applicable.")
22157 (license license:gpl2+))))
22158
22159 (define-public emacs-grep-context
22160 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
22161 (revision "1"))
22162 (package
22163 (name "emacs-grep-context")
22164 (version (git-version "0.1.0" revision commit))
22165 (source
22166 (origin
22167 (method git-fetch)
22168 (uri (git-reference
22169 (url "https://github.com/mkcms/grep-context")
22170 (commit commit)))
22171 (file-name (git-file-name name version))
22172 (sha256
22173 (base32
22174 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
22175 (build-system emacs-build-system)
22176 (propagated-inputs
22177 (list emacs-dash))
22178 (home-page "https://github.com/mkcms/grep-context")
22179 (synopsis "Increase context in compilation and grep buffers")
22180 (description
22181 "This package provides an Emacs package for more context in
22182 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
22183 @code{ivy}.")
22184 (license license:gpl3+))))
22185
22186 (define-public emacs-helm-firefox
22187 (package
22188 (name "emacs-helm-firefox")
22189 (version "1.3")
22190 (source
22191 (origin
22192 (method git-fetch)
22193 (uri (git-reference
22194 (url "https://github.com/emacs-helm/helm-firefox")
22195 (commit (string-append "v" version))))
22196 (file-name (git-file-name name version))
22197 (sha256
22198 (base32
22199 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
22200 (propagated-inputs
22201 (list emacs-helm))
22202 (build-system emacs-build-system)
22203 (home-page "https://github.com/emacs-helm/helm-firefox")
22204 (synopsis "Display firefox bookmarks with Emacs Helm interface")
22205 (description "Display firefox bookmarks with Emacs Helm interface")
22206 (license license:gpl3+)))
22207
22208 (define-public emacs-interactive-align
22209 (package
22210 (name "emacs-interactive-align")
22211 (version "0.4.2")
22212 (source
22213 (origin
22214 (method git-fetch)
22215 (uri (git-reference
22216 (url "https://github.com/mkcms/interactive-align")
22217 (commit (string-append "v" version))))
22218 (file-name (git-file-name name version))
22219 (sha256
22220 (base32
22221 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
22222 (build-system emacs-build-system)
22223 (home-page "https://github.com/mkcms/interactive-align/")
22224 (synopsis "Interactive align-regexp command in Emacs")
22225 (description "Interactive align-regexp command in Emacs")
22226 (license license:gpl3+)))
22227
22228 (define-public emacs-shift-number
22229 (package
22230 (name "emacs-shift-number")
22231 (version "0.1")
22232 (source
22233 (origin
22234 (method git-fetch)
22235 (uri (git-reference
22236 (url "https://github.com/alezost/shift-number.el")
22237 (commit (string-append "v" version))))
22238 (file-name (git-file-name name version))
22239 (sha256
22240 (base32
22241 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
22242 (build-system emacs-build-system)
22243 (home-page "https://github.com/alezost/shift-number.el")
22244 (synopsis "Increase or decrease the number at point")
22245 (description "@code{emacs-shift-number} provides commands
22246 @code{shift-number-up} to increase and @code{shift-number-down} to
22247 decrease the number at point.")
22248 (license license:gpl3+)))
22249
22250 (define-public emacs-highlight-defined
22251 (package
22252 (name "emacs-highlight-defined")
22253 (version "0.1.6")
22254 (source
22255 (origin
22256 (method git-fetch)
22257 (uri (git-reference
22258 (url "https://github.com/Fanael/highlight-defined")
22259 (commit version)))
22260 (file-name (git-file-name name version))
22261 (sha256
22262 (base32 "0a9nn1jnbgv93kz1iz5iay34d0p7lkpd8ic619ysk8qcksc0yn2i"))))
22263 (build-system emacs-build-system)
22264 (home-page "https://github.com/Fanael/highlight-defined")
22265 (synopsis "Syntax highlighting of known Elisp symbols")
22266 (description "Minor mode providing syntax highlighting of known Emacs Lisp
22267 symbols. Currently the code distinguishes Lisp functions, built-in functions,
22268 macros, faces and variables. To enable call @code{highlight-defined-mode}.")
22269 (license license:gpl3+)))
22270
22271 (define-public emacs-parinfer-mode
22272 (package
22273 (name "emacs-parinfer-mode")
22274 (version "0.4.10")
22275 (source
22276 (origin
22277 (method git-fetch)
22278 (uri (git-reference
22279 (url "https://github.com/DogLooksGood/parinfer-mode")
22280 (commit (string-append "v" version))))
22281 (file-name (git-file-name name version))
22282 (sha256
22283 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
22284 (propagated-inputs
22285 (list emacs-dash emacs-rainbow-delimiters emacs-company))
22286 (build-system emacs-build-system)
22287 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
22288 (synopsis "Lisp structure editing mode")
22289 (description "@code{parinfer-mode} is a proof-of-concept editor
22290 mode for Lisp programming languages. It will infer some changes to
22291 keep Parens and Indentation inline with one another.")
22292 (license license:gpl3+)))
22293
22294 (define-public emacs-helm-eww
22295 (package
22296 (name "emacs-helm-eww")
22297 (version "1.2")
22298 (source (origin
22299 (method git-fetch)
22300 (uri (git-reference
22301 (url "https://github.com/emacs-helm/helm-eww")
22302 (commit version)))
22303 (file-name (git-file-name name version))
22304 (sha256
22305 (base32
22306 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
22307 (propagated-inputs
22308 (list emacs-helm))
22309 (build-system emacs-build-system)
22310 (home-page "https://github.com/emacs-helm/helm-eww/")
22311 (synopsis "Helm interface to EWW")
22312 (description "This package provides a Helm interface for EWW buffers,
22313 bookmarks and history.")
22314 (license license:gpl3+)))
22315
22316 (define-public emacs-stumpwm-mode
22317 (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
22318 (revision "3"))
22319 (package
22320 (name "emacs-stumpwm-mode")
22321 (version (git-version "0.0.1" revision commit))
22322 (source (origin
22323 (method git-fetch)
22324 (uri (git-reference
22325 (url "https://github.com/stumpwm/stumpwm-contrib")
22326 (commit commit)))
22327 (file-name (git-file-name name version))
22328 (sha256
22329 (base32
22330 "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml"))))
22331 (build-system emacs-build-system)
22332 (arguments
22333 `(#:phases
22334 (modify-phases %standard-phases
22335 (add-after 'unpack 'chdir-elisp
22336 ;; Elisp directory is not in root of the source.
22337 (lambda _
22338 (chdir "util/swm-emacs"))))))
22339 (home-page "https://github.com/stumpwm/stumpwm-contrib")
22340 (synopsis "Emacs minor-mode for Stumpwm")
22341 (description "Emacs minor-mode for Stumpwm")
22342 (license license:gpl3+))))
22343
22344 (define-public emacs-irfc
22345 (package
22346 (name "emacs-irfc")
22347 (version "20130824.507-1")
22348 (source
22349 (origin
22350 (method url-fetch)
22351 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
22352 (file-name (string-append "irfc-" version ".el"))
22353 (sha256
22354 (base32
22355 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
22356 (build-system emacs-build-system)
22357 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
22358 (synopsis "Interface for IETF RFC document")
22359 (description
22360 "This package provides an Emacs interface for IETF RFC document.")
22361 (license license:gpl3+)))
22362
22363 (define-public emacs-ido-at-point
22364 (package
22365 (name "emacs-ido-at-point")
22366 (version "1.0.0")
22367 (source
22368 (origin
22369 (method git-fetch)
22370 (uri (git-reference
22371 (url "https://github.com/katspaugh/ido-at-point")
22372 (commit (string-append "v" version))))
22373 (file-name (git-file-name name version))
22374 (sha256
22375 (base32 "1bii7vj8pmmijcpvq3a1scky4ais7k6d7zympb3m9dmz355m9rpp"))))
22376 (build-system emacs-build-system)
22377 (synopsis "Ido-style completion at point")
22378 (description
22379 "This package is an alternative frontend for @code{completion-at-point}.
22380 It replaces the standard completions buffer with Ido prompt.")
22381 (home-page "https://github.com/katspaugh/ido-at-point")
22382 (license license:gpl3+)))
22383
22384 (define-public emacs-ido-vertical-mode
22385 (package
22386 (name "emacs-ido-vertical-mode")
22387 (version "0.1.6")
22388 (source
22389 (origin
22390 (method git-fetch)
22391 (uri (git-reference
22392 (url "https://github.com/creichert/ido-vertical-mode.el")
22393 (commit (string-append "v" version))))
22394 (file-name (git-file-name name version))
22395 (sha256
22396 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
22397 (build-system emacs-build-system)
22398 (home-page "https://github.com/creichert/ido-vertical-mode.el")
22399 (synopsis "Makes ido-mode display vertically")
22400 (description "Makes ido-mode display prospects vertically.")
22401 (license license:gpl3+)))
22402
22403 (define-public emacs-wordgen
22404 (package
22405 (name "emacs-wordgen")
22406 (version "0.1.4")
22407 (source
22408 (origin
22409 (method git-fetch)
22410 (uri (git-reference
22411 (url "https://github.com/Fanael/wordgen.el")
22412 (commit version)))
22413 (file-name (git-file-name name version))
22414 (sha256
22415 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
22416 (build-system emacs-build-system)
22417 (home-page "https://github.com/Fanael/wordgen.el")
22418 (synopsis "Random word generator")
22419 (description "This package provides functions to generate random words
22420 using user-provided rules.")
22421 (license license:gpl3+)))
22422
22423 (define-public emacs-on-screen
22424 (package
22425 (name "emacs-on-screen")
22426 (version "1.3.3")
22427 (source
22428 (origin
22429 (method url-fetch)
22430 (uri (string-append
22431 "https://elpa.gnu.org/packages/on-screen-" version ".el"))
22432 (file-name (string-append name "-" version ".el"))
22433 (sha256
22434 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
22435 (build-system emacs-build-system)
22436 (home-page "https://github.com/michael-heerdegen/on-screen.el")
22437 (synopsis "Guide your eyes while scrolling")
22438 (description
22439 "Scrolling can be distracting because your eyes may lose
22440 orientation. This library implements a minor mode that highlights
22441 the previously visible buffer part after each scroll.")
22442 (license license:gpl3+)))
22443
22444 (define-public emacs-highlight-escape-sequences
22445 ;; No release upstream. Extract version from main file.
22446 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
22447 (revision "0"))
22448 (package
22449 (name "emacs-highlight-escape-sequences")
22450 (version (git-version "0.4" revision commit))
22451 (source
22452 (origin
22453 (method git-fetch)
22454 (uri (git-reference
22455 (url "https://github.com/dgutov/highlight-escape-sequences")
22456 (commit commit)))
22457 (file-name (git-file-name name version))
22458 (sha256
22459 (base32 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
22460 (build-system emacs-build-system)
22461 (home-page "https://github.com/dgutov/highlight-escape-sequences")
22462 (synopsis "Highlight escape sequences in Emacs")
22463 (description "@code{highlight-escape-sequences} provides an
22464 Emacs minor mode to escape sequences in code.")
22465 (license license:gpl3+))))
22466
22467 (define-public emacs-dashboard
22468 (package
22469 (name "emacs-dashboard")
22470 (version "1.7.0")
22471 (source
22472 (origin
22473 (method git-fetch)
22474 (uri (git-reference
22475 (url "https://github.com/rakanalh/emacs-dashboard")
22476 (commit version)))
22477 (file-name (git-file-name name version))
22478 (sha256
22479 (base32 "1qv4cqjy2s2d2bysbq10vq1axpbd8qc3jn1s1r81lxqkcja8zasa"))))
22480 (build-system emacs-build-system)
22481 (propagated-inputs
22482 (list emacs-page-break-lines))
22483 (arguments
22484 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
22485 #:phases
22486 (modify-phases %standard-phases
22487 (add-after 'unpack 'patch-dashboard-widgets
22488 ;; This phase fixes compilation error.
22489 (lambda _
22490 (chmod "dashboard-widgets.el" #o666)
22491 (emacs-substitute-variables "dashboard-widgets.el"
22492 ("dashboard-init-info"
22493 '(format "Loaded in %s" (emacs-init-time))))
22494 #t)))))
22495 (home-page "https://github.com/rakanalh/emacs-dashboard")
22496 (synopsis "Startup screen extracted from Spacemacs")
22497 (description "This package provides an extensible Emacs dashboard, with
22498 sections for bookmarks, projectil projects, org-agenda and more.")
22499 (license license:gpl3+)))
22500
22501 (define-public emacs-slime-company
22502 (package
22503 (name "emacs-slime-company")
22504 (version "1.6")
22505 (source
22506 (origin
22507 (method git-fetch)
22508 (uri (git-reference
22509 (url "https://github.com/anwyn/slime-company")
22510 (commit (string-append "v" version))))
22511 (file-name (git-file-name name version))
22512 (sha256
22513 (base32 "05dnnc4ms5c9yp9h65k2gbkg3pw9k38nx5wzlwdlfr4shqmw54w0"))))
22514 (build-system emacs-build-system)
22515 (propagated-inputs
22516 (list emacs-slime emacs-company))
22517 (home-page "https://company-mode.github.io")
22518 (synopsis "SLIME completion backend for @code{company-mode}")
22519 (description
22520 "This is a backend implementation for the completion package
22521 @code{company-mode} which supports the normal and the fuzzy completion
22522 modes of SLIME.")
22523 (license license:gpl3+)))
22524
22525 (define-public emacs-sml-mode
22526 (package
22527 (name "emacs-sml-mode")
22528 (version "6.10")
22529 (source
22530 (origin
22531 (method url-fetch)
22532 (uri (string-append "https://elpa.gnu.org/packages/sml-mode-"
22533 version ".el"))
22534 (sha256
22535 (base32 "01yf0s474r9xhj6nbs14ljn9ccxb5yy758i17c8nmgmqvm8fx7sb"))))
22536 (build-system emacs-build-system)
22537 (home-page "https://elpa.gnu.org/packages/sml-mode.html")
22538 (synopsis "Major mode for editing (Standard) ML")
22539 (description "SML-MODE is a major Emacs mode for editing Standard ML.
22540 It provides syntax highlighting and automatic indentation and
22541 comes with sml-proc which allows interaction with an inferior SML
22542 interactive loop.")
22543 (license license:gpl3+)))
22544
22545 (define-public emacs-eros
22546 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
22547 (revision "2"))
22548 (package
22549 (name "emacs-eros")
22550 (version (git-version "0.0.1" revision commit))
22551 (source
22552 (origin
22553 (method git-fetch)
22554 (uri (git-reference
22555 (url "https://github.com/xiongtx/eros")
22556 (commit commit)))
22557 (file-name (git-file-name name version))
22558 (sha256
22559 (base32
22560 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
22561 (build-system emacs-build-system)
22562 (home-page "https://github.com/xiongtx/eros")
22563 (synopsis "Evaluation result overlays")
22564 (description "@code{eros} provides evaluation result overlays.")
22565 (license license:gpl3+))))
22566
22567 (define-public emacs-stickyfunc-enhance
22568 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
22569 (revision "1"))
22570 (package
22571 (name "emacs-stickyfunc-enhance")
22572 (version "0.1")
22573 (source
22574 (origin
22575 (method git-fetch)
22576 (uri (git-reference
22577 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance")
22578 (commit commit)))
22579 (file-name (git-file-name name version))
22580 (sha256
22581 (base32
22582 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
22583 (build-system emacs-build-system)
22584 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
22585 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
22586 (description
22587 "@code{semantic-stickyfunc-mode} shows the function point is currently
22588 in at the first line of the current buffer. This is useful when you have a
22589 very long function that spreads more than a screen, and you don't have to
22590 scroll up to read the function name and then scroll down to original position.")
22591 (license license:gpl3+))))
22592
22593 (define-public emacs-git-auto-commit-mode
22594 (package
22595 (name "emacs-git-auto-commit-mode")
22596 (version "4.7.0")
22597 (source
22598 (origin
22599 (method git-fetch)
22600 (uri (git-reference
22601 (url "https://github.com/ryuslash/git-auto-commit-mode")
22602 (commit version)))
22603 (file-name (git-file-name name version))
22604 (sha256
22605 (base32 "0gpib57f7xza04g3iyihw5v15hb7pncqsmvyggib902yvcxlkvqf"))))
22606 (build-system emacs-build-system)
22607 (native-inputs
22608 (list emacs-buttercup git))
22609 (arguments
22610 `(#:tests? #t
22611 #:test-command '("buttercup" "-L" ".")))
22612 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
22613 (synopsis "Emacs Minor mode to automatically commit and push")
22614 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
22615 tries to commit changes to a file after every save.
22616
22617 When @code{gac-automatically-push-p} is non-nil, it also tries to push to the
22618 current upstream.")
22619 (license license:gpl3+)))
22620
22621 (define-public emacs-scroll-on-drag
22622 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
22623 (revision "1"))
22624 (package
22625 (name "emacs-scroll-on-drag")
22626 (version (git-version "0.1" revision commit))
22627 (source
22628 (origin
22629 (method git-fetch)
22630 (uri (git-reference
22631 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
22632 (commit commit)))
22633 (file-name (git-file-name name version))
22634 (sha256
22635 (base32
22636 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
22637 (build-system emacs-build-system)
22638 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
22639 (synopsis "Interactive scrolling")
22640 (description "This package permits scrolling at increasing speeds based
22641 on drag distance.")
22642 (license license:gpl3+))))
22643
22644 (define-public emacs-company-restclient
22645 (package
22646 (name "emacs-company-restclient")
22647 (version "0.3.0")
22648 (source
22649 (origin
22650 (method git-fetch)
22651 (uri (git-reference
22652 (url "https://github.com/iquiw/company-restclient")
22653 (commit (string-append "v" version))))
22654 (file-name (git-file-name name version))
22655 (sha256
22656 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
22657 (build-system emacs-build-system)
22658 (propagated-inputs
22659 (list emacs-company emacs-know-your-http-well emacs-restclient))
22660 (home-page "https://github.com/iquiw/company-restclient")
22661 (synopsis "Company-mode completion back-end for restclient-mode")
22662 (description "@code{company-mode} back-end for
22663 @code{restclient-mode}.
22664
22665 It provides auto-completion for HTTP methods and headers in
22666 @code{restclient-mode}. Completion source is given by
22667 @code{know-your-http-well}.")
22668 (license license:gpl3+)))
22669
22670 (define-public emacs-noflet
22671 (let ((version "20170629")
22672 (revision "1")
22673 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
22674 (package
22675 (name "emacs-noflet")
22676 (version (git-version version revision commit))
22677 (source
22678 (origin
22679 (method git-fetch)
22680 (uri (git-reference
22681 (url "https://github.com/nicferrier/emacs-noflet")
22682 (commit commit)))
22683 (file-name (git-file-name name version))
22684 (sha256
22685 (base32
22686 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
22687 (build-system emacs-build-system)
22688 (arguments
22689 `(#:phases
22690 (modify-phases %standard-phases
22691 (add-after 'unpack 'require-dash
22692 ;; noflet.el uses -map from dash, but (require 'dash) is
22693 ;; missing. So, add it.
22694 (lambda _
22695 (substitute* "noflet.el"
22696 ((";;; Code:") ";;; Code:\n(require 'dash)"))
22697 #t)))))
22698 (propagated-inputs
22699 (list emacs-dash))
22700 (home-page "https://github.com/nicferrier/emacs-noflet")
22701 (synopsis "Locally override functions")
22702 (description "@code{emacs-noflet} lets you locally override functions,
22703 in the manner of @command{flet}, but with access to the original function
22704 through the symbol: @command{this-fn}.")
22705 (license license:gpl3+))))
22706
22707 (define-public emacs-dumb-jump
22708 (package
22709 (name "emacs-dumb-jump")
22710 (version "0.5.4")
22711 (source
22712 (origin
22713 (method git-fetch)
22714 (uri (git-reference
22715 (url "https://github.com/jacktasia/dumb-jump")
22716 (commit (string-append "v" version))))
22717 (file-name (git-file-name name version))
22718 (sha256
22719 (base32 "18d2ll5wlll6pm909hiw8w9ijdbrjvy86q6ljzx8yyrjphgn0y1y"))))
22720 (build-system emacs-build-system)
22721 (arguments
22722 `(#:tests? #f ; FIXME: Tests freeze when run.
22723 #:test-command '("ert-runner")
22724 #:phases
22725 (modify-phases %standard-phases
22726 (add-after 'unpack 'set-shell
22727 (lambda _
22728 ;; Setting the SHELL environment variable is required for the
22729 ;; tests to find sh.
22730 (setenv "SHELL" (which "sh")))))))
22731 (native-inputs
22732 (list emacs-el-mock emacs-ert-runner emacs-noflet emacs-undercover))
22733 (propagated-inputs
22734 (list emacs-f emacs-popup))
22735 (home-page "https://github.com/jacktasia/dumb-jump")
22736 (synopsis "Jump to definition for multiple languages without configuration")
22737 (description "Dumb Jump is an Emacs \"jump to definition\" package with
22738 support for multiple programming languages that favors \"just working\" over
22739 speed or accuracy. This means minimal --- and ideally zero --- configuration
22740 with absolutely no stored indexes (tags) or persistent background processes.
22741 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
22742 @command{rg} installed.")
22743 (license license:gpl3+)))
22744
22745 (define-public emacs-dts-mode
22746 (package
22747 (name "emacs-dts-mode")
22748 (version "1.0")
22749 (source (origin
22750 (method url-fetch)
22751 (uri (string-append "https://elpa.gnu.org/packages/dts-mode-"
22752 version ".tar"))
22753 (sha256
22754 (base32
22755 "0ihwqkv1ddysjgxh01vpayv3ia0vx55ny8ym0mi5b4iz95idj60s"))))
22756 (build-system emacs-build-system)
22757 (home-page "https://elpa.gnu.org/packages/dts-mode.html")
22758 (synopsis "Major mode for Device Tree source files")
22759 (description
22760 "This package provides an Emacs minor mode for highlighting
22761 device tree files.")
22762 (license license:gpl3+)))
22763
22764 (define-public emacs-daemons
22765 (package
22766 (name "emacs-daemons")
22767 (version "2.0.0")
22768 (source
22769 (origin
22770 (method git-fetch)
22771 (uri (git-reference
22772 (url "https://github.com/cbowdon/daemons.el")
22773 (commit version)))
22774 (file-name (git-file-name name version))
22775 (sha256
22776 (base32
22777 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
22778 (build-system emacs-build-system)
22779 (home-page "https://github.com/cbowdon/daemons.el")
22780 (synopsis "Emacs UI for managing init system services")
22781 (description
22782 "This is an Emacs mode to give you a UI for managing init system
22783 daemons (services) for those getting tired of typing out @code{sudo service
22784 my_thing reload} all the time. It offers a consistent UI over different init
22785 systems.")
22786 (license license:gpl3+)))
22787
22788 (define-public emacs-isearch+
22789 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
22790 (revision "2"))
22791 (package
22792 (name "emacs-isearch+")
22793 (version (git-version "0" revision commit))
22794 (source
22795 (origin
22796 (method git-fetch)
22797 (uri (git-reference
22798 (url "https://github.com/emacsmirror/isearch-plus")
22799 (commit commit)))
22800 (file-name (git-file-name name version))
22801 (sha256
22802 (base32
22803 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
22804 (build-system emacs-build-system)
22805 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
22806 (synopsis "Extensions to @code{isearch.el}")
22807 (description "This package extends @code{isearch} with advice, dynamic
22808 filters, highlighting of regexp group levels, and more.")
22809 (license license:gpl2+))))
22810
22811 (define-public emacs-eshell-bookmark
22812 (package
22813 (name "emacs-eshell-bookmark")
22814 (version "2.0.0")
22815 (source
22816 (origin
22817 (method git-fetch)
22818 (uri (git-reference
22819 (url "https://github.com/Fuco1/eshell-bookmark")
22820 (commit version)))
22821 (file-name (git-file-name name version))
22822 (sha256
22823 (base32
22824 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
22825 (build-system emacs-build-system)
22826 (home-page "https://github.com/Fuco1/eshell-bookmark")
22827 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
22828 (description
22829 "This package allows for bookmarking @code{eshell} buffers. Upon
22830 visiting the bookmark, a new @code{eshell} session will be opened in the
22831 appropriate directory if no @code{eshell} session is active.")
22832 (license license:gpl3+)))
22833
22834 (define-public emacs-eshell-syntax-highlighting
22835 (package
22836 (name "emacs-eshell-syntax-highlighting")
22837 (version "0.3")
22838 (source
22839 (origin
22840 (method git-fetch)
22841 (uri (git-reference
22842 (url "https://github.com/akreisher/eshell-syntax-highlighting")
22843 (commit (string-append "v" version))))
22844 (file-name (git-file-name name version))
22845 (sha256
22846 (base32 "1fb9aa85a3hx1rcmv71j6sc3y278452p1y4dabpwy07avb6apd0p"))))
22847 (build-system emacs-build-system)
22848 (home-page "https://github.com/akreisher/eshell-syntax-highlighting")
22849 (synopsis "Add syntax highlighting to Eshell")
22850 (description
22851 "This package highlights user commands at the Eshell interactive prompt
22852 to provide feedback on the validity of commands and syntax.")
22853 (license license:gpl3+)))
22854
22855 (define-public emacs-eshell-z
22856 (package
22857 (name "emacs-eshell-z")
22858 (version "0.4")
22859 (source
22860 (origin
22861 (method git-fetch)
22862 (uri (git-reference
22863 (url "https://github.com/xuchunyang/eshell-z")
22864 (commit (string-append "v" version))))
22865 (file-name (git-file-name name version))
22866 (sha256
22867 (base32
22868 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
22869 (build-system emacs-build-system)
22870 (home-page "https://github.com/xuchunyang/eshell-z")
22871 (synopsis "Quick navigation to frequently visited directories")
22872 (description
22873 "This package is a port of @code{z}, and keeps track of visited directories
22874 and commands invoked within them in order to enable navigation via input of
22875 matching regexps.")
22876 (license license:gpl3+)))
22877
22878 (define-public emacs-esh-autosuggest
22879 (package
22880 (name "emacs-esh-autosuggest")
22881 (version "2.0.1")
22882 (source
22883 (origin
22884 (method git-fetch)
22885 (uri (git-reference
22886 (url "https://github.com/dieggsy/esh-autosuggest")
22887 (commit version)))
22888 (file-name (git-file-name name version))
22889 (sha256
22890 (base32
22891 "0l2nnlr3b6df1xn0qjf5d5ryy1wcs1jczyfy795vsasd5gm3g0xh"))))
22892 (build-system emacs-build-system)
22893 (propagated-inputs (list emacs-company))
22894 (home-page "https://github.com/dieggsy/esh-autosuggest")
22895 (synopsis "Fish-like autosuggestions in Eshell")
22896 (description
22897 "This package assumes you use something other than company for eshell
22898 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
22899 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
22900 for history autosuggestions.
22901
22902 Unless you're using @code{use-package}'s hook keyword, you can enable the
22903 autosuggestions with:
22904 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
22905 (license license:gpl3+)))
22906
22907 (define-public emacs-desktop-environment
22908 (package
22909 (name "emacs-desktop-environment")
22910 (version "0.5.0")
22911 (source
22912 (origin
22913 (method git-fetch)
22914 (uri (git-reference
22915 (url "https://github.com/DamienCassou/desktop-environment")
22916 (commit (string-append "v" version))))
22917 (file-name (git-file-name name version))
22918 (sha256
22919 (base32
22920 "03rl1z860jmirjrrg0xsjx0bqk73k043c8bz6049zhndh7pidri7"))))
22921 (build-system emacs-build-system)
22922 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
22923 (synopsis "Control your GNU/Linux desktop environment from Emacs")
22924 (description
22925 "This package helps you control your GNU/Linux desktop from Emacs.
22926 With @code{desktop-environment}, you can control the brightness and volume as
22927 well as take screenshots and lock your screen. The package depends on the
22928 availability of shell commands to do the hard work for us. These commands can
22929 be changed by customizing the appropriate variables.")
22930 (license license:gpl3+)))
22931
22932 (define-public emacs-org-caldav
22933 (let ((commit "8569941a0a5a9393ba51afc8923fd7b77b73fa7a")
22934 (revision "2"))
22935 (package
22936 (name "emacs-org-caldav")
22937 (version (git-version "0.0.0" revision commit))
22938 (source
22939 (origin
22940 (method git-fetch)
22941 (uri (git-reference
22942 (url "https://github.com/dengste/org-caldav")
22943 (commit commit)))
22944 (file-name (git-file-name name version))
22945 (sha256
22946 (base32 "05lgxqaffnqaqnzl24frafdkskran88hl2ml05qvyjhs4jjbgw9g"))))
22947 (build-system emacs-build-system)
22948 (arguments
22949 ;; Tests require to have two specific calendars on a test server.
22950 `(#:exclude '("^org-caldav-testsuite\\.el")))
22951 (propagated-inputs
22952 (list emacs-org))
22953 (home-page "https://github.com/dengste/org-caldav")
22954 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
22955 (description
22956 "Org CalDAV synchronizes events between Org files and a CalDAV
22957 calendar.")
22958 (license license:gpl3+))))
22959
22960 (define-public emacs-zotxt
22961 (package
22962 (name "emacs-zotxt")
22963 (version "5.0.5")
22964 (source
22965 (origin
22966 (method git-fetch)
22967 (uri (git-reference
22968 (url "https://github.com/egh/zotxt-emacs")
22969 (commit (string-append "v" version))))
22970 (file-name (git-file-name name version))
22971 (sha256
22972 (base32 "1zr67h0w49rsi84mgf6jdili28h8782q6vjl8za0iq1hcx9zqxyf"))))
22973 (build-system emacs-build-system)
22974 (propagated-inputs
22975 (list emacs-deferred emacs-request))
22976 (home-page "https://github.com/egh/zotxt-emacs")
22977 (synopsis "Integrate Emacs with Zotero")
22978 (description "This package provides two integration features between Emacs
22979 and the Zotero research assistant: Insertion of links to Zotero items into an
22980 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
22981 (license license:gpl3+)))
22982
22983 (define-public emacs-evil-multiedit
22984 (package
22985 (name "emacs-evil-multiedit")
22986 (version "1.4.3")
22987 (source
22988 (origin
22989 (method git-fetch)
22990 (uri (git-reference
22991 (url "https://github.com/hlissner/evil-multiedit")
22992 (commit (string-append "v" version))))
22993 (file-name (git-file-name name version))
22994 (sha256
22995 (base32 "08ycwss58zh2zikk79jfj074q78yjcd7vbjgv5ssqvws09x5rgfq"))))
22996 (build-system emacs-build-system)
22997 (propagated-inputs
22998 (list emacs-evil emacs-iedit))
22999 (native-inputs
23000 (list emacs-ert-runner))
23001 (arguments
23002 `(#:phases
23003 (modify-phases %standard-phases
23004 (add-before 'check 'fix-checks
23005 (lambda _
23006 (substitute* "Makefile"
23007 (("@cask exec ") ""))
23008 (substitute* "test/test-helper.el"
23009 (("'\\(evil iedit\\)") "nil")))))
23010 #:tests? #t
23011 #:test-command '("make" "test")))
23012 (home-page "https://github.com/hlissner/evil-multiedit")
23013 (synopsis "Multiple cursors for Evil mode")
23014 (description
23015 "This plugin was an answer to the lack of proper multiple cursor support
23016 in Emacs+Evil. It allows you to select and edit matches interactively,
23017 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
23018 defaults.")
23019 (license license:gpl3+)))
23020
23021 (define-public emacs-evil-mc
23022 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
23023 (revision "2"))
23024 (package
23025 (name "emacs-evil-mc")
23026 (version (git-version "0.0.3" revision commit))
23027 (source
23028 (origin
23029 (method git-fetch)
23030 (uri (git-reference
23031 (url "https://github.com/gabesoft/evil-mc")
23032 (commit commit)))
23033 (file-name (git-file-name name version))
23034 (sha256
23035 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
23036 (build-system emacs-build-system)
23037 (propagated-inputs
23038 (list emacs-evil))
23039 (native-inputs
23040 (list emacs-espuds))
23041 (home-page "https://github.com/gabesoft/evil-mc")
23042 (synopsis "Interactive search compatible with @code{multiple-cursors}")
23043 (description "This package can be used with @code{multiple-cursors} to
23044 provide an incremental search that moves all fake cursors in sync.")
23045 (license license:expat))))
23046
23047 (define-public emacs-evil-org
23048 (let ((commit "0d10ff7bb9a3a93d25cd91018b17f0a052b335f3")
23049 (revision "2"))
23050 (package
23051 (name "emacs-evil-org")
23052 (version (git-version "1.0.3" revision commit))
23053 (source
23054 (origin
23055 (method git-fetch)
23056 (uri (git-reference
23057 (url "https://github.com/Somelauw/evil-org-mode")
23058 (commit commit)))
23059 (file-name (git-file-name name version))
23060 (sha256
23061 (base32
23062 "15g47xgpswzc8lz7qdbbzfcq1n9m4474qa2jkg43l8d5ali8qa7z"))))
23063 (build-system emacs-build-system)
23064 (propagated-inputs (list emacs-evil))
23065 (home-page
23066 "https://github.com/Somelauw/evil-org-mode")
23067 (synopsis "Evil keybindings for Org mode")
23068 (description
23069 "This package adds supplemental Evil mode key-bindings to Emacs
23070 Org-mode. It features:
23071 @itemize
23072 @item normal, visual and insert mode bindings;
23073 @item key bindings organised in key themes;
23074 @item operators like > and < to work on headings;
23075 @item text objects;
23076 @item table support;
23077 @item calendar (date selection) support;
23078 @item agenda support.
23079 @end itemize\n")
23080 (license license:gpl3+))))
23081
23082 (define-public emacs-debpaste
23083 (package
23084 (name "emacs-debpaste")
23085 (version "0.1.5")
23086 (home-page "https://github.com/alezost/debpaste.el")
23087 (source
23088 (origin
23089 (method git-fetch)
23090 (uri (git-reference (url home-page)
23091 (commit (string-append "v" version))))
23092 (file-name (git-file-name name version))
23093 (sha256
23094 (base32
23095 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
23096 (build-system emacs-build-system)
23097 (propagated-inputs
23098 (list emacs-xml-rpc))
23099 (synopsis "Manipulate pastes from the Debian Pastezone")
23100 (description "Debpaste is an Emacs interface for the Debian Pastezone,
23101 allowing you to receive, post, and delete pastes. It communicates with the
23102 server using XML-RPC.")
23103 (license license:gpl3+)))
23104
23105 (define-public emacs-xml-rpc
23106 (package
23107 (name "emacs-xml-rpc")
23108 (version "1.6.15")
23109 (source
23110 (origin
23111 (method git-fetch)
23112 (uri (git-reference
23113 (url "https://github.com/hexmode/xml-rpc-el")
23114 (commit version)))
23115 (file-name (git-file-name name version))
23116 (sha256
23117 (base32 "07vgwnk96i1vpsv2glg6kbkamjcs72xiznsa6xk7nl0nranzr3hd"))))
23118 (build-system emacs-build-system)
23119 (home-page "https://github.com/hexmode/xml-rpc-el")
23120 (synopsis "XML-RPC client for Emacs")
23121 (description "This package provides an XML-RPC client for Emacs capable
23122 of both synchronous and asynchronous method calls using the @code{url}
23123 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
23124 datatypes as Lisp values, automatically converting to and from the XML
23125 datastructures as needed, both for method parameters and return values, making
23126 using XML-RPC methods fairly transparent to the Lisp code.")
23127 (license license:gpl3+)))
23128
23129 (define-public emacs-xpm
23130 (package
23131 (name "emacs-xpm")
23132 (version "1.0.5")
23133 (source
23134 (origin
23135 (method url-fetch)
23136 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
23137 version ".tar"))
23138 (sha256
23139 (base32 "13p6s6b2v7h4bnwdkkrd1qz84jd7g2s18w0czhpxv6hvj9sqf5hx"))))
23140 (build-system emacs-build-system)
23141 (home-page "https://elpa.gnu.org/packages/xpm.html")
23142 (synopsis "XPM image editing mode for Emacs")
23143 (description "This Emacs package makes editing XPM images easy (and maybe
23144 fun). Editing is done directly on the (textual) image format, for maximal
23145 cohesion with the Emacs Way.")
23146 (license license:gpl3+)))
23147
23148 (define-public emacs-fish-completion
23149 (package
23150 (name "emacs-fish-completion")
23151 (version "1.2")
23152 (source
23153 (origin
23154 (method git-fetch)
23155 (uri (git-reference
23156 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
23157 (commit version)))
23158 (file-name (git-file-name name version))
23159 (sha256
23160 (base32
23161 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
23162 (build-system emacs-build-system)
23163 (inputs (list fish))
23164 (arguments
23165 `(#:phases
23166 (modify-phases %standard-phases
23167 (add-after 'unpack 'configure
23168 (lambda* (#:key inputs outputs #:allow-other-keys)
23169 (let ((fish (assoc-ref inputs "fish")))
23170 ;; Specify the absolute file names of the various
23171 ;; programs so that everything works out-of-the-box.
23172 (make-file-writable "fish-completion.el")
23173 (emacs-substitute-variables
23174 "fish-completion.el"
23175 ("fish-completion-command"
23176 (string-append fish "/bin/fish")))))))))
23177 (home-page
23178 "https://gitlab.com/Ambrevar/emacs-fish-completion")
23179 (synopsis "Fish completion for Emacs pcomplete")
23180 (description
23181 "This package provides completion for the Fish shell to pcomplete (used
23182 by shell and Eshell). You can set it up globally with:
23183
23184 @example
23185 (when (and (executable-find \"fish\")
23186 (require 'fish-completion nil t))
23187 (global-fish-completion-mode))
23188 @end example
23189
23190 Alternatively, you can call the @code{fish-completion-mode} manually or in
23191 shell/Eshell mode hook.
23192
23193 The package @code{emacs-bash-completion} is an optional dependency: if available,
23194 @code{fish-completion-complete} can be configured to fall back on bash to further
23195 try completing. See @code{fish-completion-fallback-on-bash-p}.")
23196 (license license:gpl3+)))
23197
23198 (define-public emacs-gif-screencast
23199 (package
23200 (name "emacs-gif-screencast")
23201 (version "1.2")
23202 (source
23203 (origin
23204 (method git-fetch)
23205 (uri (git-reference
23206 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
23207 (commit version)))
23208 (file-name (git-file-name name version))
23209 (sha256
23210 (base32
23211 "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"))))
23212 (build-system emacs-build-system)
23213 (inputs
23214 (list scrot imagemagick gifsicle))
23215 (arguments
23216 `(#:phases
23217 (modify-phases %standard-phases
23218 (add-after 'unpack 'configure
23219 (lambda* (#:key inputs outputs #:allow-other-keys)
23220 (let ((scrot (assoc-ref inputs "scrot"))
23221 (imagemagick (assoc-ref inputs "imagemagick"))
23222 (gifsicle (assoc-ref inputs "gifsicle")))
23223 (make-file-writable "gif-screencast.el")
23224 ;; Specify the absolute file names of the various
23225 ;; programs so that everything works out-of-the-box.
23226 (emacs-substitute-variables
23227 "gif-screencast.el"
23228 ("gif-screencast-program"
23229 (string-append scrot "/bin/scrot"))
23230 ("gif-screencast-convert-program"
23231 (string-append imagemagick "/bin/convert"))
23232 ("gif-screencast-cropping-program"
23233 (string-append imagemagick "/bin/mogrify"))
23234 ("gif-screencast-optimize-program"
23235 (string-append gifsicle "/bin/gifsicle")))))))))
23236 (home-page
23237 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
23238 (synopsis "One-frame-per-action GIF recording")
23239 (description
23240 "Call @code{gif-screencast} to start a recording.
23241 A screenshot is taken for every user action. Call
23242 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
23243 the GIF result.")
23244 (license license:gpl3+)))
23245
23246 (define-public emacs-google-translate
23247 (package
23248 (name "emacs-google-translate")
23249 (version "0.12.0")
23250 (source
23251 (origin
23252 (method git-fetch)
23253 (uri (git-reference
23254 (url "https://github.com/atykhonov/google-translate/")
23255 (commit (string-append "v" version))))
23256 (file-name (git-file-name name version))
23257 (sha256
23258 (base32
23259 "0rwpij2bm8d4jq2w5snkp88mfryplw8166dsrjm407n2p6xr48zx"))))
23260 (build-system emacs-build-system)
23261 (home-page "https://github.com/atykhonov/google-translate")
23262 (synopsis "Emacs interface to Google Translate")
23263 (description
23264 "This package provides an Emacs interface to the Google Translate
23265 on-line service.")
23266 (license license:gpl3+)))
23267
23268 (define-public emacs-helm-company
23269 (package
23270 (name "emacs-helm-company")
23271 (version "0.2.5")
23272 (source
23273 (origin
23274 (method git-fetch)
23275 (uri (git-reference
23276 (url "https://github.com/Sodel-the-Vociferous/helm-company")
23277 (commit (string-append "v" version))))
23278 (file-name (git-file-name name version))
23279 (sha256
23280 (base32
23281 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
23282 (build-system emacs-build-system)
23283 (propagated-inputs
23284 (list emacs-helm emacs-company))
23285 (native-inputs
23286 (list emacs-ert-runner))
23287 (arguments
23288 `(#:tests? #t
23289 #:test-command '("ert-runner")))
23290 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
23291 (synopsis "Helm interface for company-mode")
23292 (description
23293 "This is a Helm interface to company-mode, a text completion
23294 framework.")
23295 (license license:gpl3+)))
23296
23297 (define-public emacs-helm-descbinds
23298 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
23299 (package
23300 (name "emacs-helm-descbinds")
23301 (version (git-version "1.13" "1" commit))
23302 (source
23303 (origin
23304 (method git-fetch)
23305 (uri (git-reference
23306 (url "https://github.com/emacs-helm/helm-descbinds")
23307 (commit commit)))
23308 (file-name (git-file-name name version))
23309 (sha256
23310 (base32
23311 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
23312 (build-system emacs-build-system)
23313 (propagated-inputs (list emacs-helm))
23314 (home-page "https://github.com/emacs-helm/helm-descbinds")
23315 (synopsis "Convenient @code{describe-bindings} with Helm")
23316 (description
23317 "This package is a replacement of @code{describe-bindings} for Helm.
23318 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
23319 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
23320 @code{helm-descbinds}. The bindings are presented in a similar way as
23321 @code{describe-bindings} does, but you can use completion to find the command
23322 you searched for and execute it, or view its documentation.")
23323 (license license:gpl3+))))
23324
23325 (define-public emacs-helm-emms
23326 (let ((commit "37e5aa029abfa5a5c48636314de8157142944fa2"))
23327 (package
23328 (name "emacs-helm-emms")
23329 (version (git-version "1.3" "3" commit))
23330 (source
23331 (origin
23332 (method git-fetch)
23333 (uri (git-reference
23334 (url "https://github.com/emacs-helm/helm-emms")
23335 (commit commit)))
23336 (file-name (git-file-name name version))
23337 (sha256
23338 (base32
23339 "0r1ai6xhzayyik30w2sx9n62bxxwm12vfmjspv0daqif9az8y3vg"))))
23340 (build-system emacs-build-system)
23341 (propagated-inputs
23342 (list emacs-helm emacs-emms))
23343 (home-page
23344 "https://github.com/emacs-helm/helm-emms")
23345 (synopsis "Emms for Helm")
23346 (description "Helm interface for Emms to browse all tracks and all folders
23347 from @code{emms-source-file-default-directory}.")
23348 (license license:gpl3+))))
23349
23350 (define-public emacs-helm-exwm
23351 (package
23352 (name "emacs-helm-exwm")
23353 (version "0.0.2")
23354 (source
23355 (origin
23356 (method git-fetch)
23357 (uri (git-reference
23358 (url "https://github.com/emacs-helm/helm-exwm")
23359 (commit version)))
23360 (file-name (git-file-name name version))
23361 (sha256
23362 (base32 "0g4k01ps14bp2az8v6dcag9llg045k2b4kdis81xx4lvw76znr9v"))))
23363 (build-system emacs-build-system)
23364 (propagated-inputs
23365 (list emacs-helm emacs-exwm))
23366 (home-page
23367 "https://github.com/emacs-helm/helm-exwm")
23368 (synopsis "Helm for EXWM buffers")
23369 (description
23370 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
23371 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
23372 switch between the various windows of one or several specific applications.
23373 See @code{helm-exwm-switch-browser} for an example.")
23374 (license license:gpl3+)))
23375
23376 (define-public emacs-helm-flycheck
23377 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
23378 (package
23379 (name "emacs-helm-flycheck")
23380 (version (git-version "0.4" "1" commit))
23381 (source
23382 (origin
23383 (method git-fetch)
23384 (uri (git-reference
23385 (url "https://github.com/yasuyk/helm-flycheck")
23386 (commit commit)))
23387 (file-name (git-file-name name version))
23388 (sha256
23389 (base32
23390 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
23391 (build-system emacs-build-system)
23392 (propagated-inputs
23393 (list emacs-dash emacs-flycheck emacs-helm))
23394 (home-page "https://github.com/yasuyk/helm-flycheck")
23395 (synopsis "Show Flycheck errors with Helm")
23396 (description
23397 "This integrates Flycheck with Helm.")
23398 (license license:gpl3+))))
23399
23400 (define-public emacs-helm-ls-git
23401 (package
23402 (name "emacs-helm-ls-git")
23403 (version "1.9.4")
23404 (source
23405 (origin
23406 (method git-fetch)
23407 (uri (git-reference
23408 (url "https://github.com/emacs-helm/helm-ls-git")
23409 (commit (string-append "v" version))))
23410 (file-name (git-file-name name version))
23411 (sha256
23412 (base32 "097zpwpn18dgazp19czrcn6iz965qgr45gq9lvjrkkp0w03pbdb6"))))
23413 (build-system emacs-build-system)
23414 (propagated-inputs (list emacs-helm))
23415 (home-page "https://github.com/emacs-helm/helm-ls-git")
23416 (synopsis "Helm interface for listing the files in a Git repository")
23417 (description
23418 "This package provides a Helm interface for Git files.
23419 @itemize
23420 @item Display the open buffers in project.
23421 @item Display a status source showing state of project (modified files etc.).
23422 @item Display a list of all files in project under git control.
23423 @item Quickly look at diffs of modified files.
23424 @item Allow switching to @code{git status} with your preferred frontend
23425 (vc-dir, Magit,etc.).
23426 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
23427 can use ack-grep instead of grep).
23428 @item Integrate usage of gid from id-utils.
23429 @item Full integration with @code{helm-find-files}, allow you to browse
23430 projects unrelated to current-buffer.
23431 @item In addition, all actions of type files and buffers are provided.
23432 @end itemize\n")
23433 (license license:gpl3+)))
23434
23435 (define-public emacs-helm-mu
23436 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
23437 (package
23438 (name "emacs-helm-mu")
23439 (version (git-version "20180513" "1" commit))
23440 (source
23441 (origin
23442 (method git-fetch)
23443 (uri (git-reference
23444 (url "https://github.com/emacs-helm/helm-mu")
23445 (commit commit)))
23446 (file-name (git-file-name name version))
23447 (sha256
23448 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
23449 (build-system emacs-build-system)
23450 (propagated-inputs
23451 (list emacs-helm mu))
23452 (home-page
23453 "https://github.com/emacs-helm/helm-mu")
23454 (synopsis
23455 "Helm sources for searching emails and contacts")
23456 (description
23457 "Helm sources for searching emails and contacts using @code{mu} and
23458 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
23459 Emacs build on top of mu. Mu is highly efficient making it possible to get
23460 instant results even for huge maildirs. It also provides search operators,
23461 e.g: @code{from:Peter to:Anne flag:attach search term}.")
23462 (license license:gpl3+))))
23463
23464 (define-public emacs-helm-pass
23465 (package
23466 (name "emacs-helm-pass")
23467 (version "0.4")
23468 (source
23469 (origin
23470 (method git-fetch)
23471 (uri (git-reference
23472 (url "https://github.com/emacs-helm/helm-pass")
23473 (commit version)))
23474 (file-name (git-file-name name version))
23475 (sha256
23476 (base32
23477 "19w24isddzamkikq17vbv3y7ha22i7wc09d2nqw1j0qwhrrfkng9"))))
23478 (build-system emacs-build-system)
23479 (propagated-inputs
23480 (list emacs-helm emacs-password-store))
23481 (home-page "https://github.com/emacs-helm/helm-pass")
23482 (synopsis "Helm interface to pass, the standard Unix password manager")
23483 (description
23484 "Users of @code{helm-pass} may also be interested in functionality
23485 provided by other Emacs packages dealing with pass:
23486 @itemize
23487 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
23488 @item @code{emacs-pass}, a major mode for @code{pass}.
23489 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
23490 @code{pass}, included in Emacs 26+).
23491 @end itemize\n")
23492 (license license:gpl3+)))
23493
23494 (define-public emacs-image+
23495 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
23496 (package
23497 (name "emacs-image+")
23498 (version (git-version "0.6.2" "1" commit))
23499 (source
23500 (origin
23501 (method git-fetch)
23502 (uri (git-reference
23503 (url "https://github.com/mhayashi1120/Emacs-imagex")
23504 (commit commit)))
23505 (file-name (git-file-name name version))
23506 (sha256
23507 (base32
23508 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
23509 (build-system emacs-build-system)
23510 (inputs (list imagemagick))
23511 (arguments
23512 `(#:phases
23513 (modify-phases %standard-phases
23514 (add-after 'unpack 'configure
23515 (lambda* (#:key inputs outputs #:allow-other-keys)
23516 (let ((imagemagick (assoc-ref inputs "imagemagick")))
23517 ;; Specify the absolute file names of the various
23518 ;; programs so that everything works out-of-the-box.
23519 (chmod "image+.el" #o666)
23520 (emacs-substitute-variables
23521 "image+.el"
23522 ("imagex-convert-command"
23523 (string-append imagemagick "/bin/convert"))
23524 ("imagex-identify-command"
23525 (string-append imagemagick "/bin/identify")))))))))
23526 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
23527 (synopsis "Image manipulation extensions for Emacs")
23528 (description
23529 "Image+ provides keybindings allowing you to zoom in or zoom out of an
23530 image, rotate it, save modified images, and more.")
23531 (license license:gpl3+))))
23532
23533 (define-public emacs-package-lint
23534 (package
23535 (name "emacs-package-lint")
23536 (version "0.16")
23537 (source
23538 (origin
23539 (method git-fetch)
23540 (uri (git-reference
23541 (url "https://github.com/purcell/package-lint")
23542 (commit version)))
23543 (file-name (git-file-name name version))
23544 (sha256
23545 (base32
23546 "0srqcrhbdmd39jdsvh8k3nbrkqrl4nlic59dp5bal5vj495j7126"))))
23547 (arguments
23548 '(#:include (cons "^data/" %default-include)))
23549 (build-system emacs-build-system)
23550 (home-page "https://github.com/purcell/package-lint")
23551 (synopsis "Linting library for elisp package authors")
23552 (description
23553 "This provides a list of issues with the Emacs package metadata of a file,
23554 e.g. the package dependencies it requires. See function
23555 @code{package-lint-buffer}. Checks will currently be enabled only if a
23556 \"Package-Requires:\" or \"Package-Version:\" header is present in the
23557 file.")
23558 (license license:gpl3+)))
23559
23560 (define-public emacs-packed
23561 (package
23562 (name "emacs-packed")
23563 (version "3.0.4")
23564 (source
23565 (origin
23566 (method git-fetch)
23567 (uri (git-reference
23568 (url "https://github.com/emacscollective/packed")
23569 (commit version)))
23570 (file-name (git-file-name name version))
23571 (sha256
23572 (base32 "1gpv2vaci0m48fzn0sy7iwl1mnkkqc30bf05jjrqlpn9kpbjyf1p"))))
23573 (build-system emacs-build-system)
23574 (home-page "https://github.com/emacscollective/packed")
23575 (synopsis "Package manager agnostic Emacs Lisp package utilities")
23576 (description
23577 "Packed provides some package manager agnostic utilities to work
23578 with Emacs Lisp packages. As far as Packed is concerned packages
23579 are collections of Emacs Lisp libraries that are stored in a
23580 dedicated directory such as a Git repository. And libraries are
23581 Emacs Lisp files that provide the correct feature (matching the
23582 filename).
23583
23584 Where a package manager might depend on metadata, Packed instead
23585 uses some heuristics to get the same information---that is slower
23586 and might also fail at times but makes it unnecessary to maintain
23587 package recipes.")
23588 (license license:gpl3+)))
23589
23590 (define-public emacs-dpd
23591 (package
23592 (name "emacs-dpd")
23593 (version "0.2.1")
23594 (source
23595 (origin
23596 (method git-fetch)
23597 (uri (git-reference
23598 (url "https://gitlab.com/lilyp/emacs-dpd")
23599 (commit version)))
23600 (file-name (git-file-name name version))
23601 (sha256
23602 (base32 "0wrqmpfcqp87dr5blpskf9kvm9slvffldqfxx77n15gcw516zzc8"))))
23603 (build-system emacs-build-system)
23604 (propagated-inputs
23605 (list emacs-packed))
23606 (home-page "https://gitlab.com/lilyp/emacs-dpd")
23607 (synopsis "Deliver packages to package.el")
23608 (description
23609 "This package provides tools for generating package-desc structures and
23610 feeding them to package.el library.")
23611 (license license:gpl3+)))
23612
23613 (define-public emacs-picpocket
23614 (let ((version "41")
23615 (commit "fa3a49f011b5ae139728548fec7375743f61c7c7"))
23616 (package
23617 (name "emacs-picpocket")
23618 (version version)
23619 (source
23620 (origin
23621 (method git-fetch)
23622 (uri (git-reference
23623 (url "https://github.com/johanclaesson/picpocket")
23624 (commit commit)))
23625 (file-name (git-file-name name version))
23626 (sha256
23627 (base32 "1vb358jyfs3px70ah60dmlz5azdfkva9xrw3mgrr4060vcy7w4q1"))))
23628 (build-system emacs-build-system)
23629 (arguments ; needed for running tests
23630 `(#:tests? #t
23631 #:emacs ,emacs
23632 #:test-command '("emacs" "--batch"
23633 "-l" "picpocket-test.el"
23634 "-f" "ert-run-tests-batch-and-exit")))
23635 (home-page "https://github.com/johanclaesson/picpocket")
23636 (synopsis "Image viewer for Emacs")
23637 (description
23638 "Picpocket is an image viewer for GNU Emacs. It has commands for:
23639 @itemize
23640 @item File operations on the picture files (delete, move, copy, hardlink).
23641 @item Scale and rotate the picture.
23642 @item Associate pictures with tags which are saved to disk.
23643 @item Filter pictures according to tags.
23644 @item Customizing keystrokes for quick tagging and file operations.
23645 @item Undo and browse history of undoable commands.
23646 @end itemize")
23647 (license license:gpl3+))))
23648
23649 (define-public emacs-mu4e-conversation
23650 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
23651 (revision "5"))
23652 (package
23653 (name "emacs-mu4e-conversation")
23654 (version (git-version "0.0.1" revision commit))
23655 (source
23656 (origin
23657 (method git-fetch)
23658 (uri (git-reference
23659 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
23660 (commit commit)))
23661 (file-name (git-file-name name version))
23662 (sha256
23663 (base32
23664 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
23665 (build-system emacs-build-system)
23666 (propagated-inputs
23667 (list mu))
23668 (home-page
23669 "https://gitlab.com/Ambrevar/mu4e-conversation")
23670 (synopsis
23671 "Show a complete thread in a single buffer")
23672 (description
23673 "This package offers an alternate view to mu4e's e-mail display. It
23674 shows all e-mails of a thread in a single view, where each correspondent has
23675 their own face. Threads can be displayed linearly (in which case e-mails are
23676 displayed in chronological order) or as an Org document where the node tree
23677 maps the thread tree.")
23678 (license license:gpl3+))))
23679
23680 (define-public emacs-pinentry
23681 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
23682 (revision "1"))
23683 (package
23684 (name "emacs-pinentry")
23685 (version (git-version "0.1" revision commit))
23686 (source
23687 (origin
23688 (method url-fetch)
23689 (uri (string-append
23690 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
23691 "/packages/pinentry/pinentry.el?id=" commit))
23692 (file-name (string-append "pinentry.el"))
23693 (sha256
23694 (base32
23695 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
23696 (build-system emacs-build-system)
23697 (propagated-inputs
23698 (list gnupg))
23699 (home-page "https://elpa.gnu.org/packages/pinentry.html")
23700 (synopsis "GnuPG Pinentry server implementation")
23701 (description
23702 "This package allows GnuPG passphrase to be prompted through the
23703 minibuffer instead of graphical dialog.
23704
23705 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
23706 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
23707 server with @code{M-x pinentry-start}.")
23708 (license license:gpl3+))))
23709
23710 (define-public emacs-so-long
23711 (package
23712 (name "emacs-so-long")
23713 (version "1.1.2")
23714 (source
23715 (origin
23716 (method git-fetch)
23717 (uri (git-reference
23718 (url "https://git.savannah.gnu.org/git/so-long")
23719 (commit version)))
23720 (file-name (git-file-name name version))
23721 (sha256
23722 (base32
23723 "06a76ajfqgz48yqvvyhi5b9zss9c6h4xz6acg98ibg0v99v9k5pz"))))
23724 (build-system emacs-build-system)
23725 (home-page "https://www.emacswiki.org/emacs/SoLong")
23726 (synopsis "Improve performance in files with long lines")
23727 (description "This package improves the performance of Emacs when
23728 viewing files with long lines. It is included as standard with Emacs 27 or
23729 later.")
23730 (license license:gpl3+)))
23731
23732 (define-public emacs-srfi
23733 ;; SRFI data gets updated quite frequently; lastest tag is from
23734 ;; 2020; commit from 2021-08-12.
23735 (let ((commit "e31bf04a3be3aad1286b7fe919c2e4810aae751e")
23736 (revision "0"))
23737 (package
23738 (name "emacs-srfi")
23739 (version (git-version "0.3" revision commit))
23740 (source (origin
23741 (method git-fetch)
23742 (uri (git-reference
23743 (url "https://github.com/srfi-explorations/emacs-srfi")
23744 (commit commit)))
23745 (file-name (git-file-name name version))
23746 (sha256
23747 (base32
23748 "01n3yrjrdl2gdhvgd56lpjqg9d82mmrnb0h6hxdx4h5hy8sbk2p4"))))
23749 (build-system emacs-build-system)
23750 (home-page "https://github.com/srfi-explorations/emacs-srfi")
23751 (synopsis "Scheme Requests for Implementation browser in Emacs")
23752 (description
23753 "This package shows a list of all SRFIs and provides commands to visit
23754 them in your web browser.")
23755 (license license:expat))))
23756
23757 (define-public emacs-github-review
23758 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
23759 (revision "2"))
23760 (package
23761 (name "emacs-github-review")
23762 (version (git-version "0.1" revision commit))
23763 (source
23764 (origin
23765 (method git-fetch)
23766 (uri (git-reference
23767 (url "https://github.com/charignon/github-review")
23768 (commit commit)))
23769 (file-name (git-file-name name version))
23770 (sha256
23771 (base32
23772 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
23773 (build-system emacs-build-system)
23774 (inputs
23775 (list emacs-dash emacs-s emacs-ghub))
23776 (native-inputs
23777 (list emacs-buttercup emacs-undercover))
23778 (arguments
23779 `(#:tests? #t
23780 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
23781 (home-page "https://github.com/charignon/github-review")
23782 (synopsis "Review GitHub pull requests within Emacs")
23783 (description "This package provides commands to pull in, comment on, and
23784 accept and reject GitHub pull requests.")
23785 (license license:gpl3+))))
23786
23787 (define-public emacs-deadgrep
23788 ;; Latest release is not tagged.
23789 (let ((commit "aebaf72e35546fd235b4861399791814e4e4c7d8")
23790 (revision "1"))
23791 (package
23792 (name "emacs-deadgrep")
23793 (version (git-version "0.11" revision commit))
23794 (source
23795 (origin
23796 (method git-fetch)
23797 (uri (git-reference
23798 (url "https://github.com/Wilfred/deadgrep")
23799 (commit commit)))
23800 (file-name (git-file-name name version))
23801 (sha256
23802 (base32
23803 "1qd60winrrpxmrjsx77i24921p6dad9halz5l5s6biwa421zcgr3"))))
23804 (build-system emacs-build-system)
23805 (inputs (list ripgrep))
23806 (propagated-inputs
23807 (list emacs-dash emacs-s emacs-spinner))
23808 (arguments
23809 `(#:phases
23810 (modify-phases %standard-phases
23811 (add-after 'unpack 'configure
23812 (lambda* (#:key inputs #:allow-other-keys)
23813 (let ((ripgrep (assoc-ref inputs "ripgrep")))
23814 ;; .el is read-only in git.
23815 (make-file-writable "deadgrep.el")
23816 ;; Specify the absolute file names of rg so that everything
23817 ;; works out-of-the-box.
23818 (emacs-substitute-variables "deadgrep.el"
23819 ("deadgrep-executable"
23820 (string-append ripgrep "/bin/rg")))))))))
23821 (home-page "https://github.com/Wilfred/deadgrep")
23822 (synopsis "Frontend for @code{ripgrep}")
23823 (description "This package provides an Emacs interface for performing
23824 searches with @code{ripgrep}.")
23825 (license license:gpl3+))))
23826
23827 (define-public emacs-focus
23828 (package
23829 (name "emacs-focus")
23830 (version "1.0.1")
23831 (source
23832 (origin
23833 (method git-fetch)
23834 (uri (git-reference
23835 (url "https://github.com/larstvei/Focus")
23836 (commit (string-append "v" version))))
23837 (file-name (git-file-name name version))
23838 (sha256
23839 (base32
23840 "0qbzbs18isxyf5yiz64vyxvzjpfjdaafxnas2lhx3sjkgglb08i2"))))
23841 (build-system emacs-build-system)
23842 (home-page "https://github.com/larstvei/Focus")
23843 (synopsis "Minor mode for focusing in on relevant text")
23844 (description "This package provides a minor mode that dims the color of
23845 text in neighboring sections.")
23846 (license license:gpl3+)))
23847
23848 (define-public emacs-pandoc-mode
23849 (package
23850 (name "emacs-pandoc-mode")
23851 (version "2.32")
23852 (source
23853 (origin
23854 (method git-fetch)
23855 (uri (git-reference
23856 (url "https://github.com/joostkremers/pandoc-mode")
23857 (commit version)))
23858 (file-name (git-file-name name version))
23859 (sha256
23860 (base32
23861 "1yn9mdlxcv9d33nvgy3wp09qhynb2m50cyhsv1xf77wyzlwdlb2p"))))
23862 (build-system emacs-build-system)
23863 (propagated-inputs
23864 (list emacs-dash emacs-hydra))
23865 (home-page "https://github.com/joostkremers/pandoc-mode")
23866 (synopsis "Minor mode for interacting with Pandoc")
23867 (description "This package provides a Hydra menu for interacting with the
23868 Pandoc, the document-conversion tool.")
23869 (license license:bsd-3)))
23870
23871 (define-public emacs-hlint-refactor-mode
23872 (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
23873 (revision "1"))
23874 (package
23875 (name "emacs-hlint-refactor-mode")
23876 (version (git-version "0.0.1" revision commit))
23877 (source
23878 (origin
23879 (method git-fetch)
23880 (uri (git-reference
23881 (url "https://github.com/mpickering/hlint-refactor-mode")
23882 (commit commit)))
23883 (file-name (git-file-name name version))
23884 (sha256
23885 (base32
23886 "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"))))
23887 (build-system emacs-build-system)
23888 (propagated-inputs
23889 (list apply-refact hlint))
23890 (home-page "https://github.com/mpickering/hlint-refactor-mode")
23891 (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option")
23892 (description "This package applies refactoring suggestions from
23893 @code{hlint}.")
23894 (license license:expat))))
23895
23896 (define-public emacs-ccls
23897 (let ((commit "675a5704c14a27931e835a431beea3631d92e8e6")
23898 (revision "5"))
23899 (package
23900 (name "emacs-ccls")
23901 (version (git-version "0.1" revision commit))
23902 (source
23903 (origin
23904 (method git-fetch)
23905 (uri (git-reference
23906 (url "https://github.com/MaskRay/emacs-ccls")
23907 (commit commit)))
23908 (file-name (git-file-name name version))
23909 (sha256
23910 (base32
23911 "0l4bhyr9d8ljz1f0cfg1s2cjcmh6fiwbk5mdlvc7rrwz5hxc21is"))))
23912 (build-system emacs-build-system)
23913 (propagated-inputs
23914 (list ccls emacs-dash emacs-lsp-mode))
23915 (home-page "https://github.com/MaskRay/emacs-ccls")
23916 (synopsis "Emacs support for the @code{ccls} language server")
23917 (description "This package extends @code{lsp-mode} to work with @code{C}
23918 and @code{C++} files through the @code{ccls} language server.")
23919 (license license:expat))))
23920
23921 (define-public emacs-cpreproc
23922 (package
23923 (name "emacs-cpreproc")
23924 (version "1.0.0")
23925 (source
23926 (origin
23927 (method git-fetch)
23928 (uri (git-reference
23929 (url "https://git.sr.ht/~plattfot/cpreproc")
23930 (commit version)))
23931 (sha256
23932 (base32
23933 "0n4lhj9bbnkbzvifrj9q6z3j7z6jqzkaa36y239cfxdcc7i86c1c"))
23934 (file-name (git-file-name name version))))
23935 (build-system emacs-build-system)
23936 (home-page "https://sr.ht/~plattfot/cpreproc")
23937 (synopsis "Wrap C/C++ code in preprocessor macros")
23938 (description
23939 "Aim for this project is to make it easier to generate preprocessor macros
23940 from Emacs for C/C++ code that needs to be build against multiple incompatible
23941 versions of third party libraries or @code{C++} standards.")
23942 (license license:gpl3+)))
23943
23944 (define-public emacs-cpreproc-openvdb
23945 (package
23946 (name "emacs-cpreproc-openvdb")
23947 (version "3.0.0")
23948 (source
23949 (origin
23950 (method git-fetch)
23951 (uri (git-reference
23952 (url "https://git.sr.ht/~plattfot/cpreproc-openvdb")
23953 (commit version)))
23954 (sha256
23955 (base32
23956 "0n1y8cxx6xipvip8y6nk9ig1dpjdksz77956wlql3lhqcrcn5hzg"))
23957 (file-name (git-file-name name version))))
23958 (build-system emacs-build-system)
23959 (propagated-inputs
23960 (list emacs-cpreproc))
23961 (home-page "https://sr.ht/~plattfot/cpreproc")
23962 (synopsis "Create preprocessor macros for C++ that uses OpenVDB")
23963 (description
23964 "This project makes it easier to generate preprocessor macros from Emacs
23965 for C++ code that uses OpenVDB and needs to be build against multiple
23966 incompatible versions of it.")
23967 (license license:gpl3+)))
23968
23969 (define-public emacs-org-brain
23970 (package
23971 (name "emacs-org-brain")
23972 (version "0.5")
23973 (source
23974 (origin
23975 (method git-fetch)
23976 (uri (git-reference
23977 (url "https://github.com/Kungsgeten/org-brain")
23978 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
23979 (file-name (git-file-name name version))
23980 (sha256
23981 (base32
23982 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
23983 (build-system emacs-build-system)
23984 (home-page "https://github.com/Kungsgeten/org-brain")
23985 (synopsis "Org-mode wiki and concept-mapping for Emacs")
23986 (description "@code{emacs-org-brain} implements a variant of concept
23987 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
23988 org-mode entries, where each entry is a file or a headline, and you can get a
23989 visual overview of the relationships between the entries: parents, children,
23990 siblings and friends. This visual overview can also be used to browse your
23991 entries. You can think of entries as nodes in a mind map, or pages in a
23992 wiki.")
23993 (license license:expat)))
23994
23995 (define-public emacs-recent-addresses
23996 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
23997 (revision "1"))
23998 (package
23999 (name "emacs-recent-addresses")
24000 (home-page "https://nschum.de/src/emacs/recent-addresses/")
24001 (version (git-version "0.1" revision commit))
24002 (source (origin
24003 (method git-fetch)
24004 (uri (git-reference
24005 ;; Note: Use a branch that works with Helm. Submitted
24006 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
24007 (url "https://github.com/civodul/recent-addresses.el")
24008 (commit commit)))
24009 (sha256
24010 (base32
24011 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
24012 (file-name (git-file-name name version))))
24013 (build-system emacs-build-system)
24014 (synopsis "Record recently-used email addressed and auto-complete them")
24015 (description
24016 "@code{recent-addresses} is an Emacs package that allows you to quickly
24017 look up previously used email addresses. It can be used alongside the Gnus
24018 email client.")
24019 (license license:gpl2+))))
24020
24021 (define-public emacs-fold-dwim
24022 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
24023 (revision "0"))
24024 (package
24025 (name "emacs-fold-dwim")
24026 (version (git-version "1.2" revision commit))
24027 (home-page "https://github.com/emacsattic/fold-dwim")
24028 (source (origin
24029 (method git-fetch)
24030 (uri (git-reference (url home-page) (commit commit)))
24031 (sha256
24032 (base32
24033 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
24034 (file-name (git-file-name name version))))
24035 (build-system emacs-build-system)
24036 (synopsis "Unified user interface for Emacs folding modes")
24037 (description
24038 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
24039 can do different things depending on the context. In this package, it means
24040 that, if the cursor is in a currently hidden folded construction, we want to
24041 show it; if it's not, we want to hide whatever fold the cursor is in.")
24042 (license license:gpl2+))))
24043
24044 (define-public emacs-markup-faces
24045 (package
24046 (name "emacs-markup-faces")
24047 (version "1.0.0")
24048 (source
24049 (origin
24050 (method url-fetch)
24051 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
24052 version ".el"))
24053 (sha256
24054 (base32
24055 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
24056 (build-system emacs-build-system)
24057 (home-page "https://github.com/sensorflo/markup-faces")
24058 (synopsis "Collection of Emacs faces for markup language modes")
24059 (description "emacs-markup-faces is like font-lock-faces, but tailored for
24060 markup languages instead programming languages. The sub group markup-faces-text
24061 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
24062 common look and feel, or let's say theme, across different markup language modes
24063 and 'text viewing modes' respectively.")
24064 (license license:gpl3+)))
24065
24066 (define-public emacs-adoc-mode
24067 (package
24068 (name "emacs-adoc-mode")
24069 (version "0.6.6")
24070 (source
24071 (origin
24072 (method git-fetch)
24073 (uri (git-reference
24074 (url "https://github.com/sensorflo/adoc-mode")
24075 (commit (string-append "V" version))))
24076 (file-name (git-file-name name version))
24077 (sha256
24078 (base32
24079 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
24080 (build-system emacs-build-system)
24081 (arguments
24082 `(#:phases
24083 (modify-phases %standard-phases
24084 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
24085 (add-after 'unpack 'disable-failing-tests
24086 (lambda _
24087 (let-syntax
24088 ((disable-tests
24089 (syntax-rules ()
24090 ((_ file ())
24091 (syntax-error "test names list must not be empty"))
24092 ((_ file (test-name ...))
24093 (substitute* file
24094 (((string-append "^\\(ert-deftest " test-name ".*") all)
24095 (string-append all "(skip-unless nil)\n")) ...)))))
24096 (disable-tests "adoc-mode-test.el"
24097 ("adoctest-test-tempo-delimited-blocks"
24098 "adoctest-test-tempo-macros"
24099 "adoctest-test-tempo-paragraphs"
24100 "adoctest-test-tempo-passthroug-macros"
24101 "adoctest-test-tempo-quotes")))
24102 #t)))
24103 #:tests? #t
24104 #:test-command '("emacs" "-Q" "-batch"
24105 "-l" "adoc-mode-test.el"
24106 "-f" "ert-run-tests-batch-and-exit")))
24107 (propagated-inputs
24108 (list emacs-markup-faces))
24109 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
24110 (synopsis "AsciiDoc mode for Emacs")
24111 (description "This package provides an Emacs major mode for editing AsciiDoc
24112 files. It focuses on highlighting the document to improve readability.")
24113 (license license:gpl2+)))
24114
24115 (define-public emacs-racer
24116 (let ((commit "1e63e98626737ea9b662d4a9b1ffd6842b1c648c")
24117 (revision "0"))
24118 (package
24119 (name "emacs-racer")
24120 (version (git-version "1.2" revision commit))
24121 (source
24122 (origin
24123 (method git-fetch)
24124 (uri
24125 (git-reference
24126 (url "https://github.com/racer-rust/emacs-racer")
24127 (commit commit)))
24128 (file-name (git-file-name name version))
24129 (sha256
24130 (base32 "12a429lajk09qp1jxgig54p8z6wndfgr4jwdmgkc9s2df9sw02d3"))))
24131 (arguments
24132 `(#:tests? #t
24133 #:test-command '("ert-runner")))
24134 (native-inputs
24135 (list emacs-ert-runner emacs-undercover))
24136 (propagated-inputs
24137 (list emacs-dash emacs-f emacs-pos-tip emacs-rust-mode emacs-s))
24138 (build-system emacs-build-system)
24139 (home-page "https://github.com/racer-rust/emacs-racer")
24140 (synopsis "Racer support for Emacs")
24141 (description
24142 "This is the official Emacs package for Racer. It supports code
24143 completion of variables, functions and modules. It can also jump to
24144 definition of functions and types, and show a help buffer based on the
24145 docstring of the thing at point.")
24146 (license license:expat))))
24147
24148 (define-public emacs-rust-mode
24149 (package
24150 (name "emacs-rust-mode")
24151 (version "1.0.5")
24152 (source
24153 (origin
24154 (method git-fetch)
24155 (uri (git-reference
24156 (url "https://github.com/rust-lang/rust-mode")
24157 (commit version)))
24158 (file-name (git-file-name name version))
24159 (sha256
24160 (base32 "0sjhssxaqdd9mayfcjaf6pb0z4sv0xm5wjaqmk6wdmh543m2v1s8"))))
24161 (build-system emacs-build-system)
24162 (arguments
24163 `(#:tests? #false ;FIXME: phase fail with status 127
24164 #:test-command '("make test")))
24165 (home-page "https://github.com/rust-lang/rust-mode")
24166 (synopsis "Major Emacs mode for editing Rust source code")
24167 (description "This package provides a major Emacs mode for editing Rust
24168 source code.")
24169 (license (list license:expat
24170 license:asl2.0))))
24171
24172 (define-public emacs-rustic
24173 (package
24174 (name "emacs-rustic")
24175 (version "3.4")
24176 (source
24177 (origin
24178 (method git-fetch)
24179 (uri (git-reference
24180 (url "https://github.com/brotzeit/rustic")
24181 (commit version)))
24182 (file-name (git-file-name name version))
24183 (sha256
24184 (base32 "16vsv4fhj8zq9g4zrsmipdb1nydxgw3dhh5s3wawpvx2rcg6gx2l"))))
24185 (build-system emacs-build-system)
24186 (propagated-inputs
24187 (list emacs-dash
24188 emacs-f
24189 emacs-flycheck
24190 emacs-lsp-mode
24191 emacs-markdown-mode
24192 emacs-project
24193 emacs-rust-mode
24194 emacs-s
24195 emacs-spinner
24196 emacs-xterm-color))
24197 (arguments
24198 ;; Tests require rust, cargo, rustfmt, and various crates to be
24199 ;; vendored.
24200 `(#:tests? #f
24201 #:phases
24202 (modify-phases %standard-phases
24203 (add-before 'check 'set-without-cask
24204 (lambda _
24205 (setenv "WITHOUT_CASK" "1"))))))
24206 (home-page "https://github.com/brotzeit/rustic")
24207 (synopsis "Rust development environment for Emacs")
24208 (description "Rustic is a fork of Rust mode.
24209 In addition to its predecessor, it offers the following features:
24210 @itemize
24211 @item Flycheck integration,
24212 @item Cargo popup,
24213 @item multiline error parsing,
24214 @item translation of ANSI control sequences through XTerm color,
24215 @item asynchronous Org Babel,
24216 @item custom compilation process,
24217 @item @command{rustfmt} errors in a Rust compilation mode,
24218 @item automatic LSP configuration with Eglot or LSP mode,
24219 @item optional Rust inline documentation,
24220 @item etc.
24221 @end itemize")
24222 (license (list license:expat
24223 license:asl2.0))))
24224
24225 (define-public emacs-ztree
24226 ;; Upstream provides no tag, but the commit below matches latest release.
24227 (let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))
24228 (package
24229 (name "emacs-ztree")
24230 (version "1.0.6")
24231 (source
24232 (origin
24233 (method git-fetch)
24234 (uri (git-reference
24235 (url "https://github.com/fourier/ztree")
24236 (commit commit)))
24237 (file-name (git-file-name name version))
24238 (sha256
24239 (base32
24240 "03i5pa3nfdz6g0yrdk7r2qcn679w0s85cc5kcmgrwlnhdzakgr80"))))
24241 (build-system emacs-build-system)
24242 (home-page "https://github.com/fourier/ztree")
24243 (synopsis "Directory tree comparison mode for Emacs")
24244 (description "Ztree is a project dedicated to implementation of several
24245 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
24246 @command{ztree-diff} and @command{ztree-dir} (the basis of
24247 @command{ztree-diff}).")
24248 (license license:gpl3))))
24249
24250 (define-public emacs-helm-org-contacts
24251 (let ((commit "741eca6239684950219c9a12802386a132491b8c")
24252 (revision "2"))
24253 (package
24254 (name "emacs-helm-org-contacts")
24255 (version (git-version "20201202" revision commit))
24256 (source
24257 (origin
24258 (method git-fetch)
24259 (uri (git-reference
24260 (url "https://github.com/tmalsburg/helm-org-contacts")
24261 (commit commit)))
24262 (file-name (git-file-name name version))
24263 (sha256
24264 (base32
24265 "1xy51hc3az8bc9sj71sjzy03xpkfa4v3cdcv3gpq3cj2zhk9gr8h"))))
24266 (build-system emacs-build-system)
24267 (propagated-inputs
24268 (list emacs-dash emacs-helm emacs-s))
24269 (home-page "https://github.com/tmalsburg/helm-org-contacts")
24270 (synopsis "Helm source for org-contacts")
24271 (description "This Helm source can be used to search contacts stored in
24272 org-contacts format. There are actions for inserting postal addresses, email
24273 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
24274 was called.")
24275 (license license:gpl3))))
24276
24277 (define-public emacs-dired-du
24278 (package
24279 (name "emacs-dired-du")
24280 (version "0.5.2")
24281 (source
24282 (origin
24283 (method url-fetch)
24284 (uri (string-append
24285 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
24286 (sha256
24287 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
24288 (build-system emacs-build-system)
24289 (home-page "https://elpa.gnu.org/packages/dired-du.html")
24290 (synopsis "Dired with recursive directory sizes")
24291 (description
24292 "Display the recursive size of directories in Dired.
24293 This file defines a minor mode @command{dired-du-mode} to show the recursive
24294 size of directories in Dired buffers. If @command{du} program is available,
24295 then the directory sizes are obtained with it. Otherwise, the directory sizes
24296 are obtained with Lisp. The former is faster and provide a more precise
24297 value. For directories where the user doesn't have read permission, the
24298 recursive size is not obtained. Once this mode is enabled, every new Dired
24299 buffer displays recursive dir sizes.")
24300 (license license:gpl3+)))
24301
24302 (define-public emacs-dired-rsync
24303 (package
24304 (name "emacs-dired-rsync")
24305 (version "0.6")
24306 (source (origin
24307 (method git-fetch)
24308 (uri (git-reference
24309 (url "https://github.com/stsquad/dired-rsync")
24310 (commit version)))
24311 (file-name (git-file-name name version))
24312 (sha256
24313 (base32
24314 "19za6i96xrmczdh928n5ixd7j7pvy175sz1msaiwvdjwysjr8k51"))))
24315 (build-system emacs-build-system)
24316 (propagated-inputs
24317 (list emacs-s emacs-dash))
24318 (home-page "https://github.com/stsquad/dired-rsync/")
24319 (synopsis "Support for rsync from Emacs dired buffers")
24320 (description "This package adds a single command @code{dired-rsync} which
24321 allows the user to copy marked files in a dired buffer via @code{rsync}. This
24322 is useful, especially for large files, because the copy happens in the
24323 background and doesn’t lock up Emacs. It is also more efficient than using
24324 tramps own encoding methods for moving data between systems.")
24325 (license license:gpl3+)))
24326
24327 (define-public emacs-pcre2el
24328 ;; Last release is very old so we get the latest commit.
24329 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
24330 (package
24331 (name "emacs-pcre2el")
24332 (version (git-version "1.8" "1" commit))
24333 (source
24334 (origin
24335 (method git-fetch)
24336 (uri (git-reference
24337 (url "https://github.com/joddie/pcre2el")
24338 (commit commit)))
24339 (file-name (git-file-name name version))
24340 (sha256
24341 (base32
24342 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
24343 (build-system emacs-build-system)
24344 (home-page "https://github.com/joddie/pcre2el")
24345 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
24346 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
24347 Tools) is a utility for working with regular expressions in Emacs, based on a
24348 recursive-descent parser for regexp syntax. In addition to converting (a
24349 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
24350
24351 @itemize
24352 @item convert Emacs syntax to PCRE
24353 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
24354 @item untangle complex regexps by showing the parse tree in @code{rx} form and
24355 highlighting the corresponding chunks of code
24356 @item show the complete list of strings (productions) matching a regexp,
24357 provided the list is finite
24358 @item provide live font-locking of regexp syntax (so far only for Elisp
24359 buffers – other modes on the TODO list).
24360 @end itemize\n")
24361 (license license:gpl3))))
24362
24363 (define-public emacs-magit-todos
24364 (package
24365 (name "emacs-magit-todos")
24366 (version "1.5.3")
24367 (source
24368 (origin
24369 (method git-fetch)
24370 (uri (git-reference
24371 (url "https://github.com/alphapapa/magit-todos")
24372 (commit version)))
24373 (file-name (git-file-name name version))
24374 (sha256
24375 (base32
24376 "12ay02vk6bk77k33mhlqi41m03a77y80b15rj1dbh1n6jfrjwkfy"))))
24377 (build-system emacs-build-system)
24378 (propagated-inputs
24379 (list emacs-async
24380 emacs-dash
24381 emacs-f
24382 emacs-hl-todo
24383 emacs-magit
24384 emacs-pcre2el
24385 emacs-s))
24386 (home-page "https://github.com/alphapapa/magit-todos")
24387 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
24388 (description "This package displays keyword entries from source code
24389 comments and Org files in the Magit status buffer. Activating an item jumps
24390 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
24391 few (like NOTE).")
24392 (license license:gpl3)))
24393
24394 (define-public emacs-git-annex
24395 ;; Unreleased version has a fontification fix.
24396 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
24397 (revision "2"))
24398 (package
24399 (name "emacs-git-annex")
24400 (version (git-version "1.1" revision commit))
24401 (source
24402 (origin
24403 (method git-fetch)
24404 (uri (git-reference
24405 (url "https://github.com/jwiegley/git-annex-el")
24406 (commit commit)))
24407 (file-name (git-file-name name version))
24408 (sha256
24409 (base32
24410 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
24411 (build-system emacs-build-system)
24412 (home-page "https://github.com/jwiegley/git-annex-el")
24413 (synopsis "Emacs integration for git-annex")
24414 (description "Enhances Dired and buffers visiting annex files with
24415 git-annex functionality. In Dired, the names of annex files are shortened by
24416 hiding the symbolic links and fontified based on whether content is present.
24417 Commands for performing some common operations (e.g., unlocking and adding
24418 files) are provided.")
24419 (license license:gpl2+))))
24420
24421 (define-public emacs-hackernews
24422 (package
24423 (name "emacs-hackernews")
24424 (version "0.6.1")
24425 (source
24426 (origin
24427 (method git-fetch)
24428 (uri (git-reference
24429 (url "https://github.com/clarete/hackernews.el")
24430 (commit (string-append "v" version))))
24431 (file-name (git-file-name name version))
24432 (sha256
24433 (base32
24434 "17lkjcka6ydd6khhz5jbjlybfpx05153z0d8s1rxaxcwl7z2y6cf"))))
24435 (build-system emacs-build-system)
24436 (home-page "https://github.com/clarete/hackernews.el")
24437 (synopsis "Hacker News client for Emacs")
24438 (description "The @command{hackernews} package is able to fetch stories
24439 from six different Hacker News feeds, namely top, new, best, ask, show and job
24440 stories. The default feed is top stories, which corresponds to the Hacker
24441 News homepage.")
24442 (license license:gpl3)))
24443
24444 (define-public emacs-tokei
24445 (package
24446 (name "emacs-tokei")
24447 (version "0.2")
24448 (source
24449 (origin
24450 (method git-fetch)
24451 (uri (git-reference
24452 (url "https://github.com/nagy/tokei.el")
24453 (commit (string-append "v" version))))
24454 (file-name (git-file-name name version))
24455 (sha256
24456 (base32
24457 "0gcjlcfxd4bg123gjf7d0vfvfd6zpd0da8svynglca1qhp77jkx1"))))
24458 (build-system emacs-build-system)
24459 (arguments
24460 (list
24461 #:phases
24462 #~(modify-phases %standard-phases
24463 (add-after 'unpack 'configure
24464 (lambda* (#:key inputs #:allow-other-keys)
24465 ;; .el is read-only in git.
24466 (make-file-writable "tokei.el")
24467 ;; Specify the absolute file name of tokei so that everything
24468 ;; works out-of-the-box.
24469 (emacs-substitute-variables "tokei.el"
24470 ("tokei-program"
24471 (search-input-file inputs "/bin/tokei"))))))))
24472 (inputs (list tokei))
24473 (propagated-inputs (list emacs-magit))
24474 (home-page "https://github.com/nagy/tokei.el")
24475 (synopsis "Display codebase statistics in Emacs")
24476 (description
24477 "@code{emacs-tokei} is a major-mode for Emacs, that displays codebase
24478 statistics with the help of @code{tokei}.")
24479 (license license:gpl3+)))
24480
24481 (define-public emacs-youtube-dl
24482 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
24483 (revision "2"))
24484 (package
24485 (name "emacs-youtube-dl")
24486 (version (git-version "1.0" "2" commit))
24487 (source
24488 (origin
24489 (method git-fetch)
24490 (uri (git-reference
24491 (url "https://github.com/skeeto/youtube-dl-emacs/")
24492 (commit commit)))
24493 (file-name (git-file-name name version))
24494 (sha256
24495 (base32
24496 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
24497 (build-system emacs-build-system)
24498 (inputs
24499 (list youtube-dl))
24500 (arguments
24501 `(#:phases
24502 (modify-phases %standard-phases
24503 (add-after 'unpack 'configure
24504 (lambda* (#:key inputs #:allow-other-keys)
24505 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
24506 ;; .el is read-only in git.
24507 (chmod "youtube-dl.el" #o644)
24508 ;; Specify the absolute file names of the various
24509 ;; programs so that everything works out-of-the-box.
24510 (emacs-substitute-variables
24511 "youtube-dl.el"
24512 ("youtube-dl-program"
24513 (string-append youtube-dl "/bin/youtube-dl")))))))))
24514 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
24515 (synopsis "Emacs youtube-dl download manager")
24516 (description "This package manages a video download queue for
24517 @command{youtube-dl}, which serves as the back end. It manages a single
24518 @command{youtube-dl} subprocess, downloading one video at a time. New videos
24519 can be queued at any time.")
24520 (license license:unlicense))))
24521
24522 (define-public emacs-ytdl
24523 (package
24524 (name "emacs-ytdl")
24525 (version "1.3.6")
24526 (source
24527 (origin
24528 (method git-fetch)
24529 (uri (git-reference
24530 (url "https://gitlab.com/tuedachu/ytdl")
24531 (commit version)))
24532 (file-name (git-file-name name version))
24533 (sha256
24534 (base32 "010arhvibyw50lqhsr8bm0vj3pzry1h1vgcvxnmyryirk3dv40jl"))))
24535 (build-system emacs-build-system)
24536 (arguments
24537 `(#:phases
24538 (modify-phases %standard-phases
24539 (add-after 'unpack 'configure
24540 (lambda* (#:key inputs #:allow-other-keys)
24541 ;; .el is read-only in git.
24542 (make-file-writable "ytdl.el")
24543 ;; Specify the absolute file names of the various programs so
24544 ;; that everything works out-of-the-box.
24545 (emacs-substitute-variables "ytdl.el"
24546 ("ytdl-command"
24547 (search-input-file inputs "/bin/youtube-dl"))))))))
24548 (inputs
24549 (list youtube-dl))
24550 (propagated-inputs
24551 (list emacs-async emacs-dash))
24552 (home-page "https://gitlab.com/tuedachu/ytdl")
24553 (synopsis "Emacs interface for youtube-dl")
24554 (description
24555 "This package manages a video download queue for @command{youtube-dl},
24556 which serves as the back end. New videos can be queued at any time. All
24557 youtube-dl backends are supported. It is possible to create download profiles
24558 depending on the downloaded URL.")
24559 (license license:gpl3+)))
24560
24561 (define-public emacs-ytel
24562 ;; No tagged releases. Using version from main file.
24563 (let ((commit "d40bc7ead8d4d7e4d16b03b66a93d63bef51cc5f")
24564 (revision "0"))
24565 (package
24566 (name "emacs-ytel")
24567 (version (git-version "0.1.0" revision commit))
24568 (source
24569 (origin
24570 (method git-fetch)
24571 (uri (git-reference
24572 (url "https://github.com/grastello/ytel")
24573 (commit commit)))
24574 (file-name (git-file-name name version))
24575 (sha256
24576 (base32 "0pxzfsxzrpv59dssrgx2mmwkm6rzk49ffjkgsa3wks7rdyfil3kf"))))
24577 (build-system emacs-build-system)
24578 (arguments
24579 `(#:phases
24580 (modify-phases %standard-phases
24581 (add-after 'unpack 'patch-exec-paths
24582 (lambda* (#:key inputs #:allow-other-keys)
24583 (let ((curl (assoc-ref inputs "curl")))
24584 (substitute* "ytel.el"
24585 (("\"curl\"") (string-append "\"" curl "/bin/curl\"")))))))))
24586 (inputs
24587 (list curl))
24588 (home-page "https://github.com/grastello/ytel")
24589 (synopsis "Youtube front-end for Emacs")
24590 (description
24591 "This package provides a major mode to search YouTube videos via an
24592 Elfeed-like buffer. Information about videos displayed in this buffer can be
24593 extracted and manipulated by user-defined functions to do various things such
24594 as playing them in some video player, or downloading them.")
24595 (license license:gpl3+))))
24596
24597 (define-public emacs-ytel-show
24598 ;; No tagged releases. Version extracted from main file.
24599 (let ((commit "8b999484eb447ecdb741b24cbef2b5a7260a53e6")
24600 (revision "0"))
24601 (package
24602 (name "emacs-ytel-show")
24603 (version (git-version "0.1.0" revision commit))
24604 (source
24605 (origin
24606 (method git-fetch)
24607 (uri (git-reference
24608 (url "https://github.com/xFA25E/ytel-show")
24609 (commit commit)))
24610 (file-name (git-file-name name version))
24611 (sha256
24612 (base32 "0nhgzfzq1bgpbdbljx5z2hzr8ia7ybsyvvr66yj4klz0zj97rghj"))))
24613 (build-system emacs-build-system)
24614 (propagated-inputs
24615 (list emacs-ytel))
24616 (home-page "https://github.com/xFA25E/ytel-show")
24617 (synopsis "Browse YouTube in Emacs")
24618 (description
24619 "This package provides an Emacs interface for browsing YouTube videos
24620 and comments.")
24621 (license license:gpl3+))))
24622
24623 (define-public emacs-org-web-tools
24624 (package
24625 (name "emacs-org-web-tools")
24626 (version "1.1.1")
24627 (source
24628 (origin
24629 (method git-fetch)
24630 (uri (git-reference
24631 (url "https://github.com/alphapapa/org-web-tools")
24632 (commit version)))
24633 (file-name (git-file-name name version))
24634 (sha256
24635 (base32
24636 "0v4qad54r0z7dr7kg5lpfdsazi44qvrbybx9aciyl4w9grfajphb"))))
24637 (build-system emacs-build-system)
24638 (propagated-inputs
24639 (list emacs-dash emacs-esxml emacs-request emacs-s))
24640 (inputs
24641 (list pandoc))
24642 (arguments
24643 `(#:phases
24644 (modify-phases %standard-phases
24645 (add-after 'unpack 'patch-exec-paths
24646 (lambda* (#:key inputs #:allow-other-keys)
24647 (let ((pandoc (assoc-ref inputs "pandoc")))
24648 (substitute* "org-web-tools.el"
24649 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
24650 #t))))))
24651 (home-page "https://github.com/alphapapa/org-web-tools")
24652 (synopsis "Display/Process web page as Org-mode content")
24653 (description "This package contains library functions and commands useful
24654 for retrieving web page content and processing it into Org-mode content.
24655
24656 For example, you can copy a URL to the clipboard or kill-ring, then run a
24657 command that downloads the page, isolates the “readable” content with
24658 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
24659 displays it in an Org-mode buffer. Another command does all of that but
24660 inserts it as an Org entry instead of displaying it in a new buffer.")
24661 (license license:gpl3+)))
24662
24663 (define-public emacs-blimp
24664 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
24665 (package
24666 (name "emacs-blimp")
24667 (version (git-version "0.0.0" "1" commit))
24668 (source
24669 (origin
24670 (method git-fetch)
24671 (uri (git-reference
24672 (url "https://github.com/walseb/blimp")
24673 (commit commit)))
24674 (file-name (git-file-name name version))
24675 (sha256
24676 (base32
24677 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
24678 (build-system emacs-build-system)
24679 (propagated-inputs
24680 (list emacs-eimp))
24681 (home-page "https://github.com/walseb/blimp")
24682 (synopsis "Emacs wrapper around all Imagemagick commands")
24683 (description "Blimp (Bustling Image Manipulation Package) is a complete
24684 wrapper around all Imagemagick commands with descriptions, autocompletion (for
24685 some commands) and hints displayed in prompt using @command{eimp.el} to
24686 execute its commands and resize images.")
24687 (license license:gpl3+))))
24688
24689 (define-public emacs-synosaurus
24690 (package
24691 (name "emacs-synosaurus")
24692 (version "0.2.0")
24693 (source
24694 (origin
24695 (method git-fetch)
24696 (uri (git-reference
24697 (url "https://github.com/hpdeifel/synosaurus")
24698 (commit (string-append "v" version))))
24699 (file-name (git-file-name name version))
24700 (sha256
24701 (base32
24702 "14dd6p89pmpf1w3nx4f9mzm4sn2b64nicws436ck7pmp223pwciv"))))
24703 (build-system emacs-build-system)
24704 (propagated-inputs
24705 (list wordnet))
24706 (arguments
24707 `(#:phases
24708 (modify-phases %standard-phases
24709 (add-after 'unpack 'configure
24710 (lambda* (#:key inputs outputs #:allow-other-keys)
24711 (let ((wn (assoc-ref inputs "wordnet")))
24712 ;; .el is read-only in git.
24713 (make-file-writable "synosaurus-wordnet.el")
24714 ;; Specify the absolute file names of the various
24715 ;; programs so that everything works out-of-the-box.
24716 (emacs-substitute-variables "synosaurus-wordnet.el"
24717 ("synosaurus-wordnet--command"
24718 (string-append wn "/bin/wn")))))))))
24719 (home-page "https://github.com/hpdeifel/synosaurus")
24720 (synopsis "Extensible thesaurus mode for Emacs")
24721 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
24722 backends, including the @command{wordnet} offline backend.")
24723 (license license:gpl3+)))
24724
24725 (define-public emacs-editorconfig
24726 (package
24727 (name "emacs-editorconfig")
24728 (version "0.9.0")
24729 (source
24730 (origin
24731 (method git-fetch)
24732 (uri (git-reference
24733 (url "https://github.com/editorconfig/editorconfig-emacs")
24734 (commit (string-append "v" version))))
24735 (file-name (git-file-name name version))
24736 (sha256
24737 (base32
24738 "0k1dnws3xz0xynplaar0f5dwpvdmsnqi0bnavjmvcm98jrczmk8y"))))
24739 (build-system emacs-build-system)
24740 (home-page "https://github.com/editorconfig/editorconfig-emacs")
24741 (synopsis "Define and maintain consistent coding styles between different
24742 editors and IDEs")
24743 (description "The EditorConfig project consists of a file format for
24744 defining coding styles and a collection of text editor plugins that enable
24745 editors to read the file format and adhere to defined styles. EditorConfig
24746 files are easily readable and they work nicely with version control systems.")
24747 (license license:gpl3+)))
24748
24749 (define-public emacs-all-the-icons
24750 (package
24751 (name "emacs-all-the-icons")
24752 (version "5.0.0")
24753 (source
24754 (origin
24755 (method git-fetch)
24756 (uri (git-reference
24757 (url "https://github.com/domtronn/all-the-icons.el")
24758 (commit version)))
24759 (file-name (git-file-name name version))
24760 (sha256
24761 (base32 "0lwgvgnqf7vihglm0c5bwsxbl4x7f641289cji5s7jwy2dbsqk7g"))))
24762 (build-system emacs-build-system)
24763 (arguments
24764 `(#:include '("\\.el$" "^data/")
24765 #:exclude '("^test/")
24766 #:phases
24767 (modify-phases %standard-phases
24768 (add-after 'install 'install-fonts
24769 (lambda* (#:key outputs #:allow-other-keys)
24770 (let ((fonts (string-append (assoc-ref outputs "out")
24771 "/share/fonts")))
24772 (mkdir-p fonts)
24773 (with-directory-excursion "fonts"
24774 (install-file "all-the-icons.ttf" fonts)
24775 ;; TODO: Unbundle.
24776 (install-file "file-icons.ttf" fonts)
24777 (install-file "octicons.ttf" fonts)
24778 (install-file "weathericons.ttf" fonts)))))
24779 (replace 'check
24780 (lambda* (#:key outputs #:allow-other-keys)
24781 (apply invoke "ert-runner" "-l"
24782 (append (find-files "data" "\\.el")
24783 '("all-the-icons-faces.el"))))))))
24784 (native-inputs
24785 (list emacs-f emacs-ert-runner))
24786 (propagated-inputs
24787 (list emacs-f emacs-memoize font-awesome font-google-material-design-icons))
24788 (home-page "https://github.com/domtronn/all-the-icons.el")
24789 (synopsis "Collect icon fonts and propertize them within Emacs")
24790 (description
24791 "All-the-icons is a utility package to collect various icon fonts and
24792 propertize them within Emacs. Icon fonts allow you to propertize and format
24793 icons the same way you would normal text. This enables things such as better
24794 scaling of and anti aliasing of the icons.")
24795 ;; Package is released under Expat license. Elisp files are licensed
24796 ;; under GPL3+. Fonts come with various licenses: Expat for
24797 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
24798 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
24799 ;; "ocitcons.ttf" and "weathericons.ttf".
24800 (license
24801 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
24802
24803 (define-public emacs-all-the-icons-completion
24804 ;; XXX: No tags. Extract version from keyword in main file.
24805 (let ((commit "9e7d456b0934ecb568b6f05a8445e3f4ce32261f")
24806 (revision "0"))
24807 (package
24808 (name "emacs-all-the-icons-completion")
24809 (version (git-version "0.0.1" revision commit))
24810 (source
24811 (origin
24812 (method git-fetch)
24813 (uri (git-reference
24814 (url "https://github.com/iyefrat/all-the-icons-completion")
24815 (commit commit)))
24816 (file-name (git-file-name name version))
24817 (sha256
24818 (base32 "04bnmmd6lyx0p39sgymqvmcy7bk8mr7sikbpy49adxi7d2891ldg"))))
24819 (build-system emacs-build-system)
24820 (propagated-inputs (list emacs-all-the-icons))
24821 (home-page "https://github.com/iyefrat/all-the-icons-completion")
24822 (synopsis "Add icons to completion candidates")
24823 (description "This package adds icons to completion candidates using the
24824 built-in completion metadata functions. For example, with this package,
24825 @code{find-file} can display a file icon for each candidate based on the file
24826 type.")
24827 (license license:gpl3+))))
24828
24829 (define-public emacs-wttrin
24830 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
24831 (revision "1"))
24832 (package
24833 (name "emacs-wttrin")
24834 (version (git-version "0.2.0" revision commit))
24835 (source (origin
24836 (method git-fetch)
24837 (uri (git-reference
24838 (url "https://github.com/bcbcarl/emacs-wttrin")
24839 (commit commit)))
24840 (file-name (git-file-name name version))
24841 (sha256
24842 (base32
24843 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
24844 (build-system emacs-build-system)
24845 (propagated-inputs
24846 (list emacs-xterm-color))
24847 (home-page "https://github.com/bcbcarl/emacs-wttrin")
24848 (synopsis "Frontend for weather web service @url{wttr.in}")
24849 (description "This package provides local weather information from
24850 @url{wttr.in}.")
24851 (license license:expat))))
24852
24853 (define-public emacs-browse-kill-ring
24854 (let ((commit "1ef72cc6accd94cd7032c02b1b2c78ae7f1d1965")
24855 (revision "0"))
24856 (package
24857 (name "emacs-browse-kill-ring")
24858 (version (git-version "2.0.0" revision commit))
24859 (source
24860 (origin
24861 (method git-fetch)
24862 (uri (git-reference
24863 (url "https://github.com/browse-kill-ring/browse-kill-ring")
24864 (commit commit)))
24865 (file-name (git-file-name name version))
24866 (sha256
24867 (base32
24868 "0mil32g7hcw376jibs5hdyv00xbaql3m4a27rwqaafg0x59avxdj"))))
24869 (build-system emacs-build-system)
24870 (home-page "https://github.com/browse-kill-ring/browse-kill-ring")
24871 (synopsis "Interactively insert items from kill-ring")
24872 (description
24873 "Did you ever feel that @code{C-y M-y M-y M-y ...} is not a great way
24874 of trying to find that piece of text you know you killed a while back? Then
24875 @code{browse-kill-ring.el} is for you.")
24876 (license license:gpl2+))))
24877
24878 (define-public emacs-powerline
24879 (package
24880 (name "emacs-powerline")
24881 (version "2.4")
24882 (source
24883 (origin
24884 (method git-fetch)
24885 (uri (git-reference
24886 (url "https://github.com/milkypostman/powerline")
24887 (commit version)))
24888 (file-name (git-file-name name version))
24889 (sha256
24890 (base32
24891 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
24892 (build-system emacs-build-system)
24893 (home-page "https://github.com/milkypostman/powerline/")
24894 (synopsis "Mode-line plugin for Emacs")
24895 (description "Powerline is a utility plugin which allows you to create
24896 a better-looking, more functional Emacs mode-line. A collection of predefined
24897 themes comes with the package.")
24898 (license license:gpl3+)))
24899
24900 (define-public emacs-spaceline
24901 (package
24902 (name "emacs-spaceline")
24903 (version "2.0.1")
24904 (source
24905 (origin
24906 (method git-fetch)
24907 (uri (git-reference
24908 (url "https://github.com/TheBB/spaceline")
24909 (commit (string-append "v" version))))
24910 (file-name (git-file-name name version))
24911 (sha256
24912 (base32
24913 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
24914 (build-system emacs-build-system)
24915 (propagated-inputs
24916 (list emacs-dash emacs-powerline emacs-s))
24917 (home-page "https://github.com/TheBB/spaceline")
24918 (synopsis "Powerline theme from Spacemacs")
24919 (description "Spaceline provides Spacemacs' mode-line theme.
24920 This package provides features for three kinds of users.
24921
24922 @itemize
24923 @item You just want to use the Spacemacs mode-line theme and forget about it.
24924 @item You want to use something similar to the Spacemacs mode-line theme, but
24925 with a handful of easy tweaks.
24926 @item You want an easy-to-use library for building your own mode-line from
24927 scratch, and you think the Spacemacs theme looks good.
24928 @end itemize")
24929 (license license:gpl3+)))
24930
24931 (define-public emacs-spaceline-next
24932 (let ((commit "1b26af2c1a701481ac5d90928fe0200e389756c3")
24933 (last-release-version "2.0.1")
24934 (revision "0"))
24935 (package
24936 (inherit emacs-spaceline)
24937 (name "emacs-spaceline-next")
24938 (version (git-version last-release-version revision commit))
24939 (source
24940 (origin
24941 (method git-fetch)
24942 (uri (git-reference
24943 (url "https://github.com/TheBB/spaceline")
24944 (commit commit)))
24945 (sha256
24946 (base32 "11lwckqcgzsahrkkm5wk1ph4kc7d4yz05r7251g8c9f0q6vdj9dp"))
24947 (file-name (git-file-name name version)))))))
24948
24949 (define-public emacs-column-marker
24950 (package
24951 (name "emacs-column-marker")
24952 (version "9")
24953 (source
24954 (origin
24955 (method url-fetch)
24956 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
24957 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
24958 (build-system emacs-build-system)
24959 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
24960 (synopsis "Emacs mode for highlighting columns")
24961 (description
24962 "With @code{column-marker.el} you can highlight any number of text columns.
24963 Three such highlight column markers are provided by default. This is
24964 especially useful for languages like COBOL or Fortran where certain columns
24965 have special meaning. It is also handy for aligning text across long vertical
24966 distances. Multi-column characters, such as @kbd{TAB} are treated
24967 correctly.")
24968 (license license:gpl2+)))
24969
24970 (define-public emacs-slime-repl-ansi-color
24971 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
24972 (package
24973 (name "emacs-slime-repl-ansi-color")
24974 (version (git-version "0.0.0" "1" commit))
24975 (source (origin
24976 (method git-fetch)
24977 (uri (git-reference
24978 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
24979 (commit commit)))
24980 (file-name (git-file-name name version))
24981 (sha256
24982 (base32
24983 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
24984 (build-system emacs-build-system)
24985 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
24986 (synopsis "Color ANSI codes in the REPL of SLIME")
24987 (description "Color ANSI codes in the REPL of SLIME")
24988 (license license:gpl2+))))
24989
24990 (define-public emacs-helm-slime
24991 (package
24992 (name "emacs-helm-slime")
24993 (version "0.4.0")
24994 (source (origin
24995 (method git-fetch)
24996 (uri (git-reference
24997 (url "https://github.com/emacs-helm/helm-slime")
24998 (commit version)))
24999 (file-name (git-file-name name version))
25000 (sha256
25001 (base32
25002 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
25003 (build-system emacs-build-system)
25004 (propagated-inputs
25005 (list emacs-helm emacs-slime))
25006 (home-page "https://github.com/emacs-helm/helm-slime")
25007 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
25008 (description "Helm-SLIME defines a few new commands:
25009
25010 @itemize
25011 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
25012 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
25013 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
25014 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
25015 @end itemize\n")
25016 (license license:gpl3+)))
25017
25018 (define-public emacs-helm-sly
25019 (package
25020 (name "emacs-helm-sly")
25021 (version "0.7.2")
25022 (source (origin
25023 (method git-fetch)
25024 (uri (git-reference
25025 (url "https://github.com/emacs-helm/helm-sly")
25026 (commit version)))
25027 (file-name (git-file-name name version))
25028 (sha256
25029 (base32
25030 "06x8wyx1r0s7askkvlbklgz1cszv34qsvv3gryndw350smk1v8kx"))))
25031 (build-system emacs-build-system)
25032 (propagated-inputs
25033 (list emacs-helm emacs-sly))
25034 (home-page "https://github.com/emacs-helm/helm-sly")
25035 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
25036 (description "Helm-SLY defines a few new commands:
25037
25038 @itemize
25039 @item @code{helm-sly-list-connections}: Yet another Lisp connection list with
25040 Helm.
25041 @item @code{helm-sly-apropos}: Yet another @command{apropos} with Helm.
25042 @item @code{helm-sly-mini}: Like @command{helm-sly-list-connections}, but
25043 include an extra source of Lisp-related buffers, like the events buffer or the
25044 scratch buffer.
25045 @end itemize\n")
25046 (license license:gpl3+)))
25047
25048 (define-public emacs-gtk-look
25049 (package
25050 (name "emacs-gtk-look")
25051 (version "29")
25052 (source (origin
25053 (method url-fetch)
25054 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
25055 (sha256
25056 (base32
25057 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
25058 (build-system emacs-build-system)
25059 (arguments
25060 `(#:phases
25061 (modify-phases %standard-phases
25062 (add-after 'unpack 'configure
25063 (lambda _
25064 ;; File is read-only.
25065 (chmod "gtk-look.el" #o644)
25066 (emacs-substitute-variables "gtk-look.el"
25067 ("gtk-lookup-devhelp-indices"
25068 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
25069 #t)))))
25070 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
25071 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
25072 (description "@command{gtk-look} finds and displays HTML documentation for
25073 GTK, GNOME and Glib functions and variables in Emacs, similar to what
25074 info-lookup-symbol does for info files (C-h S). The documentation is expected
25075 to be devhelp indexes with HTML files. The location of the indexes can be
25076 customized. In addition to C code development @command{gtk-look} is good for
25077
25078 @itemize
25079 @item @command{perl-gtk2}, recognising class funcs like
25080 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
25081 @item @command{guile-gnome}, recognising methods like @command{set-text} and
25082 classes like @command{<gtk-window>}.
25083 @end itemize\n")
25084 (license license:gpl3+)))
25085
25086 (define-public emacs-ov
25087 (package
25088 (name "emacs-ov")
25089 (version "1.0.6")
25090 (source (origin
25091 (method git-fetch)
25092 (uri (git-reference
25093 (url "https://github.com/ShingoFukuyama/ov.el")
25094 (commit version)))
25095 (file-name (git-file-name name version))
25096 (sha256
25097 (base32
25098 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
25099 (build-system emacs-build-system)
25100 (home-page "https://github.com/ShingoFukuyama/ov.el")
25101 (synopsis "Overlay library for Emacs Lisp")
25102 (description "@code{ov.el} provides a simple way to manipulate overlays in
25103 Emacs.")
25104 (license license:gpl3+)))
25105
25106 (define-public emacs-matrix-client
25107 (let ((commit "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed"))
25108 (package
25109 (name "emacs-matrix-client")
25110 (version (git-version "0.0.0" "6" commit))
25111 (source (origin
25112 (method git-fetch)
25113 (uri (git-reference
25114 (url "https://github.com/jgkamat/matrix-client-el")
25115 (commit commit)))
25116 (file-name (git-file-name name version))
25117 (sha256
25118 (base32
25119 "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq"))))
25120 (build-system emacs-build-system)
25121 (propagated-inputs
25122 (list emacs-a
25123 emacs-anaphora
25124 emacs-dash
25125 emacs-esxml
25126 emacs-f
25127 emacs-frame-purpose
25128 emacs-ht
25129 emacs-ov
25130 emacs-rainbow-identifiers
25131 emacs-request
25132 emacs-s
25133 emacs-tracking))
25134 (home-page "https://github.com/jgkamat/matrix-client-el")
25135 (synopsis "Matrix client for Emacs")
25136 (description "@code{matrix-client} is a simple chat UI to Matrix.org
25137 rooms. It also provides an API which allows Emacs to seamlessly create
25138 RPC channels with users and other software.")
25139 (license license:gpl3+))))
25140
25141 (define-public emacs-sesman
25142 (package
25143 (name "emacs-sesman")
25144 (version "0.3.4")
25145 (source
25146 (origin
25147 (method git-fetch)
25148 (uri (git-reference
25149 (url "https://github.com/vspinu/sesman")
25150 (commit (string-append "v" version))))
25151 (file-name (git-file-name name version))
25152 (sha256
25153 (base32
25154 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
25155 (build-system emacs-build-system)
25156 (arguments
25157 `(#:phases
25158 (modify-phases %standard-phases
25159 (add-after 'unpack 'set-shell
25160 ;; Setting the SHELL environment variable is required for the tests
25161 ;; to find sh.
25162 (lambda _
25163 (setenv "SHELL" (which "sh"))
25164 #t)))
25165 #:tests? #t
25166 #:test-command '("make" "test")))
25167 (home-page "https://github.com/vspinu/sesman")
25168 (synopsis "Session manager for Emacs based IDEs")
25169 (description "Sesman provides facilities for session management and
25170 interactive session association with the current contexts (project, directory,
25171 buffers). While sesman can be used to manage arbitrary sessions, it primary
25172 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
25173 (license license:gpl3+)))
25174
25175 (define-public emacs-buttercup
25176 (package
25177 (name "emacs-buttercup")
25178 (version "1.27")
25179 (source
25180 (origin
25181 (method git-fetch)
25182 (uri (git-reference
25183 (url "https://github.com/jorgenschaefer/emacs-buttercup")
25184 (commit (string-append "v" version))))
25185 (file-name (git-file-name name version))
25186 (sha256
25187 (base32
25188 "1266pqsl67q5svwaxnvwnqhk23wmhds1sds98bas9w4yi4amff0b"))))
25189 (build-system emacs-build-system)
25190 (arguments
25191 (list
25192 #:tests? #t
25193 #:test-command #~(list "make" "test")
25194 #:phases
25195 #~(modify-phases %standard-phases
25196 (add-after 'install 'install-bin
25197 (lambda _
25198 (install-file "bin/buttercup"
25199 (string-append #$output "/bin")))))))
25200 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
25201 (synopsis "Behavior driven emacs lisp testing framework")
25202 (description "Buttercup is a behavior-driven development framework for
25203 testing Emacs Lisp code. It groups related tests so they can share
25204 common set-up and tear-down code, and allows the programmer to \"spy\" on
25205 functions to ensure they are called with the right arguments during testing.")
25206 (license license:gpl3+)))
25207
25208 ;;; Required by emacs-lua-mode
25209 (define emacs-buttercup-1.25
25210 (package
25211 (inherit emacs-buttercup)
25212 (name "emacs-buttercup")
25213 (version "1.25")
25214 (source
25215 (origin
25216 (method git-fetch)
25217 (uri (git-reference
25218 (url "https://github.com/jorgenschaefer/emacs-buttercup")
25219 (commit (string-append "v" version))))
25220 (file-name (git-file-name name version))
25221 (sha256
25222 (base32
25223 "0fsysvsypda6b7azc15bpaprq3bwx4gb6rlq2mj6f8rgwdqc8153"))))))
25224
25225 (define-public emacs-cort
25226 (package
25227 (name "emacs-cort")
25228 (version "7.1.0")
25229 (source (origin
25230 (method git-fetch)
25231 (uri (git-reference
25232 (url "https://github.com/conao3/cort.el")
25233 (commit (string-append "v" version))))
25234 (file-name (git-file-name name version))
25235 (sha256
25236 (base32
25237 "03c223nczpbdkjmq69panhbsq2a0zj20w329jgj4c0zsj8m1a32a"))))
25238 (build-system emacs-build-system)
25239 (propagated-inputs
25240 (list emacs-ansi))
25241 (arguments
25242 `(#:tests? #t
25243 #:test-command '("emacs" "--batch" "--quick"
25244 "--directory=." "--load=cort-tests.el"
25245 "--funcall=cort-test-run")))
25246 (home-page "https://github.com/conao3/cort.el")
25247 (synopsis "Unit test framework for the Emacs Lisp")
25248 (description "@code{cort} is a lightweight Emacs Lisp unit test library.")
25249 (license license:gpl3+)))
25250
25251 (define-public emacs-wordnut
25252 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
25253 (revision "0"))
25254 (package
25255 (name "emacs-wordnut")
25256 (version (git-version "0.1" revision commit))
25257 (home-page "https://github.com/gromnitsky/wordnut")
25258 (source (origin
25259 (method git-fetch)
25260 (uri (git-reference (url home-page) (commit commit)))
25261 (sha256
25262 (base32
25263 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
25264 (patches
25265 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
25266 (file-name (git-file-name name version))))
25267 (build-system emacs-build-system)
25268 (propagated-inputs
25269 (list wordnet emacs-adaptive-wrap))
25270 (synopsis "Major mode for WordNet")
25271 (description "This Emacs package provides an interface for
25272 @code{wordnet}. Features include completion, if the query is not found
25273 too ambiguous and navigation in the result buffer.")
25274 (license license:gpl3+))))
25275
25276 (define-public emacs-frame-local
25277 ;; There is no release yet. Version is extracted from the main
25278 ;; file.
25279 (let ((version "0.0.1")
25280 (revision "0")
25281 (commit "7ee1106c3bcd4022f48421f8cb1ef4f995da816e"))
25282 (package
25283 (name "emacs-frame-local")
25284 (version (git-version version revision commit))
25285 (source
25286 (origin
25287 (method git-fetch)
25288 (uri (git-reference
25289 (url "https://github.com/sebastiencs/frame-local")
25290 (commit commit)))
25291 (file-name (git-file-name name version))
25292 (sha256
25293 (base32 "0zfxsxdh3bd3fd566zl0byp13p5b8f4cgkwl637imvarvahczigp"))))
25294 (build-system emacs-build-system)
25295 (home-page "https://github.com/sebastiencs/frame-local")
25296 (synopsis "Access variables local to an Emacs frame")
25297 (description
25298 "This package allows setting and accessing variables local to
25299 an Emacs frame. Note that the variables created with this package do
25300 not have any relation with variables defined by @code{defvar},
25301 @code{defconst}, etc.")
25302 (license license:gpl3+))))
25303
25304 (define-public emacs-frame-purpose
25305 (package
25306 (name "emacs-frame-purpose")
25307 (version "1.0")
25308 (source (origin
25309 (method git-fetch)
25310 (uri (git-reference
25311 (url "https://github.com/alphapapa/frame-purpose.el")
25312 (commit version)))
25313 (sha256
25314 (base32
25315 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
25316 (file-name (git-file-name name version))))
25317 (build-system emacs-build-system)
25318 (inputs
25319 (list emacs-dash))
25320 (synopsis "Purpose-specific frames for Emacs")
25321 (description "@code{frame-purpose} makes it easy to open purpose-specific
25322 frames that only show certain buffers, e.g. by buffers’ major mode, their
25323 filename or directory, etc, with custom frame/X-window titles, icons, and
25324 other frame parameters.")
25325 (home-page "https://github.com/alphapapa/frame-purpose.el")
25326 (license license:gpl3+)))
25327
25328 (define-public emacs-arduino-mode
25329 (let ((commit "652c6a328fa8f2db06534d5f231c6b6933be3edc")
25330 (revision "0"))
25331 (package
25332 (name "emacs-arduino-mode")
25333 (version (git-version "1.3.0" revision commit))
25334 (source
25335 (origin
25336 (method git-fetch)
25337 (uri (git-reference
25338 (url "https://repo.or.cz/arduino-mode")
25339 (commit commit)))
25340 (sha256
25341 (base32 "16izwrk1dfsa14kylfhsxdwkx76g0jdk0znl1z7cypxh5q9ijy1x"))
25342 (file-name (git-file-name name version))))
25343 (build-system emacs-build-system)
25344 (inputs
25345 (list emacs-flycheck emacs-spinner))
25346 (synopsis "Emacs major mode for editing Arduino sketches")
25347 (description "This package provides an Emacs major mode for editing
25348 Arduino sketches and Org Babel support.")
25349 (home-page "https://repo.or.cz/arduino-mode")
25350 (license license:gpl3+))))
25351
25352 (define-public emacs-annalist
25353 (package
25354 (name "emacs-annalist")
25355 (version "1.0.1")
25356 (source (origin
25357 (method git-fetch)
25358 (uri (git-reference
25359 (url "https://github.com/noctuid/annalist.el")
25360 (commit version)))
25361 (sha256
25362 (base32
25363 "1jlb5w4972l8m2aa18q2l6arfpm65g4nk21dn1yi8c9dbpk2g67c"))
25364 (file-name (git-file-name name version))))
25365 (build-system emacs-build-system)
25366 (native-inputs
25367 (list emacs-buttercup emacs-lispy emacs-evil))
25368 (arguments
25369 `(#:phases
25370 (modify-phases %standard-phases
25371 (add-before 'check 'fix-makefile
25372 (lambda _
25373 (substitute* "Makefile"
25374 (("cask exec ") ""))
25375 #t)))
25376 #:tests? #t
25377 #:test-command '("make" "test")))
25378 (home-page "https://github.com/noctuid/annalist.el")
25379 (synopsis "Record and display information with Org headings and tables")
25380 (description "This package allows for keybindings, settings, hooks, and
25381 advice to be recorded and displayed.")
25382 (license license:gpl3+)))
25383
25384 (define-public emacs-general
25385 (let ((commit "a0b17d207badf462311b2eef7c065b884462cb7c")
25386 (revision "4"))
25387 (package
25388 (name "emacs-general")
25389 (version (git-version "0" revision commit))
25390 (source
25391 (origin
25392 (method git-fetch)
25393 (uri (git-reference
25394 (url "https://github.com/noctuid/general.el")
25395 (commit commit)))
25396 (sha256
25397 (base32 "0wn5rk3gkimdklip392mnjrmkymgrb7q9skifi03cbpjam1anzvv"))
25398 (file-name (git-file-name name version))))
25399 (build-system emacs-build-system)
25400 (native-inputs
25401 (list emacs-buttercup emacs-evil emacs-which-key emacs-use-package))
25402 (arguments
25403 `(#:tests? #t
25404 #:test-command '("buttercup" "-L" "test/test-general.el")))
25405 (home-page "https://github.com/noctuid/general.el")
25406 (synopsis "More convenient key definitions in emacs")
25407 (description "@code{general.el} provides a more convenient method for
25408 binding keys in emacs (for both evil and non-evil users). Like
25409 @code{use-package}, which provides a convenient, unified interface for
25410 managing packages, @code{general.el} is intended to provide a convenient,
25411 unified interface for key definitions. While this package does implement some
25412 completely new functionality (such as the ability to make vim-style
25413 keybindings under non-prefix keys with an optional timeout), its primary
25414 purpose is to build on existing functionality to make key definition more
25415 clear and concise. @code{general-define-key} is user-extensible and supports
25416 defining multiple keys in multiple keymaps at once, implicitly wrapping key
25417 strings with (@code{kbd ...}), using named prefix key sequences (like the
25418 leader key in vim), and much more.")
25419 (license license:gpl3+))))
25420
25421 (define-public emacs-tldr
25422 (let ((commit "7203d1be3dcbf12131846ffe06601933fa874d74"))
25423 (package
25424 (name "emacs-tldr")
25425 (version (git-version "0" "1" commit))
25426 (home-page "https://github.com/kuanyui/tldr.el")
25427 (source (origin
25428 (method git-fetch)
25429 (uri (git-reference
25430 (url (string-append home-page ".git"))
25431 (commit commit)))
25432 (sha256
25433 (base32
25434 "1bw6la463l2yfm7rp76ga4makfy4kpxgwi7ni5gxk31w11g26ryk"))
25435 (file-name (git-file-name name version))))
25436 (build-system emacs-build-system)
25437 (propagated-inputs
25438 (list emacs-request))
25439 (synopsis "Simplified and community-driven man pages for Emacs")
25440 (description "@code{emacs-tldr} allows the user to access tldr pages
25441 from within emacs. The @code{tldr} pages are a community effort to simplify
25442 the man pages with practical examples.")
25443 (license license:wtfpl2))))
25444
25445 (define-public emacs-window-layout
25446 (package
25447 (name "emacs-window-layout")
25448 (version "1.4")
25449 (home-page "https://github.com/kiwanami/emacs-window-layout")
25450 (source (origin
25451 (method git-fetch)
25452 (uri (git-reference
25453 (url home-page)
25454 (commit (string-append "v" version))))
25455 (sha256
25456 (base32
25457 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
25458 (file-name (git-file-name name version))))
25459 (build-system emacs-build-system)
25460 (synopsis "Simple window layout management framework for emacs")
25461 (description "A window-layout management library that can split a frame
25462 or a window into some windows according to a layout recipe.")
25463 (license license:gpl3+)))
25464
25465 (define-public emacs-e2wm
25466 (package
25467 (name "emacs-e2wm")
25468 (version "1.4")
25469 (home-page "https://github.com/kiwanami/emacs-window-manager")
25470 (source (origin
25471 (method git-fetch)
25472 (uri (git-reference
25473 (url home-page)
25474 (commit (string-append "v" version))))
25475 (sha256
25476 (base32
25477 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
25478 (file-name (git-file-name name version))))
25479 (build-system emacs-build-system)
25480 (propagated-inputs
25481 (list emacs-window-layout))
25482 (synopsis "Equilibrium Emacs Window Manager")
25483 (description "E2WM is a window manager for Emacs. It enables to
25484 customize the place of pop-up window, how the windows are split, how the
25485 buffers are located in the windows, keybinds to manipulate windows and
25486 buffers, etc. It also has plug-ins to help your Emacs life.")
25487 (license license:gpl3+)))
25488
25489 (define-public emacs-ctable
25490 ;; Latest release is not tagged. Use commit matching version bump.
25491 (let ((commit "04dbcddeba1da1f39e885bc0d36240ff37d829e9")
25492 (version "0.1.3"))
25493 (package
25494 (name "emacs-ctable")
25495 (version version)
25496 (home-page "https://github.com/kiwanami/emacs-ctable")
25497 (source (origin
25498 (method git-fetch)
25499 (uri (git-reference
25500 (url home-page)
25501 (commit commit)))
25502 (sha256
25503 (base32
25504 "16yrx1z44xs24z2a0gwzf1xhhks1wrzafc5ihf6lbw843rq2jar0"))
25505 (file-name (git-file-name name version))))
25506 (build-system emacs-build-system)
25507 (arguments
25508 ;; XXX: The following file does not compile. It is not useful, so
25509 ;; remove it.
25510 (list #:exclude #~(cons "^test-ctable\\.el" %default-exclude)))
25511 (synopsis "Table component for Emacs Lisp")
25512 (description "This program is a table component for Emacs Lisp. Other
25513 programs can use this table component for the application UI.")
25514 (license license:gpl3+))))
25515
25516 (define-public emacs-leetcode
25517 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
25518 (revision "1"))
25519 (package
25520 (name "emacs-leetcode")
25521 (version (git-version "0" "1" commit))
25522 (home-page "https://github.com/ginqi7/leetcode-emacs")
25523 (source (origin
25524 (method git-fetch)
25525 (uri (git-reference
25526 (url "https://github.com/ginqi7/leetcode-emacs")
25527 (commit commit)))
25528 (sha256
25529 (base32
25530 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
25531 (file-name (git-file-name name version))))
25532 (build-system emacs-build-system)
25533 (propagated-inputs
25534 (list emacs-names emacs-ctable))
25535 (synopsis "Solve and submit LeetCode problems from within Emacs")
25536 (description "This package provides an Emacs interface to LeetCode
25537 allowing users to log in and solve problems of their choice using Emacs.")
25538 (license license:unlicense))))
25539
25540 (define-public emacs-epc
25541 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
25542 (package
25543 (name "emacs-epc")
25544 (version (git-version "0.1.1" "1" commit))
25545 (home-page "https://github.com/kiwanami/emacs-epc")
25546 (source (origin
25547 (method git-fetch)
25548 (uri (git-reference
25549 (url home-page)
25550 (commit commit)))
25551 (sha256
25552 (base32
25553 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
25554 (file-name (git-file-name name version))))
25555 (build-system emacs-build-system)
25556 (propagated-inputs
25557 (list emacs-deferred emacs-ctable))
25558 (synopsis "RPC stack for Emacs Lisp")
25559 (description "This program is an asynchronous RPC stack for Emacs.
25560 Using this RPC stack, Emacs can communicate with the peer process
25561 smoothly. Because the protocol employs S-expression encoding and consists of
25562 asynchronous communications, the RPC response is fairly good.")
25563 (license license:gpl3+))))
25564
25565 (define-public emacs-edbi
25566 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
25567 (package
25568 (name "emacs-edbi")
25569 (version (git-version "0.1.3" "1" commit))
25570 (home-page "https://github.com/kiwanami/emacs-edbi")
25571 (source (origin
25572 (method git-fetch)
25573 (uri (git-reference
25574 (url home-page)
25575 (commit commit)))
25576 (sha256
25577 (base32
25578 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
25579 (file-name (git-file-name name version))))
25580 (build-system emacs-build-system)
25581 (inputs
25582 (list perl
25583 perl-rpc-epc-service
25584 perl-dbi
25585 ;; TODO: Adding support for perl-dbd-mysql and others would
25586 ;; dramatically increase the closure size. Make several packages?
25587 perl-dbd-sqlite))
25588 (propagated-inputs
25589 (list emacs-e2wm emacs-epc))
25590 (arguments
25591 `(#:include '("\\.el$" "\\.pl$")
25592 #:phases
25593 (modify-phases %standard-phases
25594 (add-after 'unpack 'patch-path
25595 (lambda* (#:key inputs #:allow-other-keys)
25596 (let ((perl (assoc-ref inputs "perl")))
25597 (substitute* "edbi.el"
25598 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
25599 #t)))
25600 (add-after 'wrap 'wrap-edbi-bridge
25601 (lambda* (#:key inputs outputs #:allow-other-keys)
25602 (let* ((out (assoc-ref outputs "out"))
25603 (bridge (string-append (elpa-directory out)
25604 "/edbi-bridge.pl")))
25605 (chmod bridge #o555)
25606 (wrap-program bridge
25607 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
25608 #t)))))
25609 (synopsis "Database Interface for Emacs Lisp")
25610 (description "This program connects the database server through Perl's
25611 DBI, and provides DB-accessing API and the simple management UI.")
25612 (license license:gpl3+))))
25613
25614 (define-public emacs-edbi-sqlite
25615 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
25616 (package
25617 (name "emacs-edbi-sqlite")
25618 (version (git-version "0.1.1" "1" commit))
25619 (home-page "https://github.com/proofit404/edbi-sqlite")
25620 (source (origin
25621 (method git-fetch)
25622 (uri (git-reference
25623 (url home-page)
25624 (commit commit)))
25625 (sha256
25626 (base32
25627 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
25628 (file-name (git-file-name name version))))
25629 (build-system emacs-build-system)
25630 (propagated-inputs
25631 (list emacs-edbi))
25632 (synopsis "Open SQLite files in Emacs")
25633 (description "This package is a convenience wrapper for @command{edbi}
25634 to open SQLite databases.")
25635 (license license:gpl3+))))
25636
25637 (define-public emacs-nice-citation
25638 (let ((commit "1013b56d9d1495a335f40a5f76203034dc5fa0ea")
25639 (revision "0"))
25640 (package
25641 (name "emacs-nice-citation")
25642 (version (git-version "0.0.2" revision commit))
25643 (source
25644 (origin
25645 (method git-fetch)
25646 (uri (git-reference
25647 (url "https://github.com/damiencollard/nice-citation")
25648 (commit commit)))
25649 (sha256
25650 (base32 "00xqr7haca5vd0bzd043lc6x4fjb903z96frz9b8cbd7spp63z7q"))
25651 (file-name (git-file-name name version))))
25652 (build-system emacs-build-system)
25653 (home-page "https://github.com/damiencollard/nice-citation")
25654 (synopsis "Depth-colored citations for Gnus")
25655 (description
25656 "This package replaces the traditional chevron citation marks @samp{>}
25657 with a Unicode vertical bar with the same color as the text it is quoting.
25658
25659 It is purely presentation: the underlying text is unchanged. In particular,
25660 if you send a message containing a citation, it will contain the traditional
25661 chevron marks.")
25662 (license license:gpl3+))))
25663
25664 (define-public emacs-nix-mode
25665 ;; Use the latest commit to get unreleased fixes to build with Emacs 28.1.
25666 (let ((commit "8fe2ccf0b01f694a77d2528e06c10f06057784f6")
25667 (revision "0"))
25668 (package
25669 (name "emacs-nix-mode")
25670 (version (git-version "1.4.5" revision commit))
25671 (source
25672 (origin
25673 (method git-fetch)
25674 (uri (git-reference
25675 (url "https://github.com/NixOS/nix-mode")
25676 (commit commit)))
25677 (file-name (git-file-name name version))
25678 (sha256
25679 (base32 "08kz9qp4gp55z1i87ig0ysq6pgqgwlgr765g1vp8gsh6lp3myh36"))))
25680 (build-system emacs-build-system)
25681 (propagated-inputs
25682 (list emacs-company emacs-json-mode emacs-magit emacs-mmm-mode))
25683 (home-page "https://github.com/NixOS/nix-mode")
25684 (synopsis "Emacs major mode for editing Nix expressions")
25685 (description "@code{nixos-mode} provides an Emacs major mode for editing
25686 Nix expressions. It supports syntax highlighting, indenting and refilling of
25687 comments.")
25688 (license license:lgpl2.1+))))
25689
25690 (define-public emacs-libmpdel
25691 (package
25692 (name "emacs-libmpdel")
25693 (version "1.3.1")
25694 (source (origin
25695 (method git-fetch)
25696 (uri (git-reference
25697 (url "https://github.com/mpdel/libmpdel")
25698 (commit (string-append "v" version))))
25699 (file-name (git-file-name name version))
25700 (sha256
25701 (base32
25702 "0fsg2si7afrnsz91i0ziza6nbc4ds9kpnr2z71wf6896zb1afhfx"))))
25703 (build-system emacs-build-system)
25704 (arguments
25705 (list
25706 #:tests? #t
25707 #:test-command #~(list "ert-runner")))
25708 (native-inputs
25709 (list emacs-ert-runner))
25710 (home-page "https://github.com/mpdel/libmpdel")
25711 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
25712 (description
25713 "LibMPDel is an Emacs library client to communicate with Music Player
25714 Daemon (MPD), a flexible, powerful, server-side application for playing
25715 music.")
25716 (license license:gpl3+)))
25717
25718 (define-public emacs-mpdel
25719 (package
25720 (name "emacs-mpdel")
25721 (version "2.0.0")
25722 (source
25723 (origin
25724 (method git-fetch)
25725 (uri (git-reference
25726 (url "https://github.com/mpdel/mpdel")
25727 (commit (string-append "v" version))))
25728 (file-name (git-file-name name version))
25729 (sha256
25730 (base32
25731 "1wg48z0g6qqsd38r2ydba8dp7cq72cnkzshmhj6900xak6f5ywfd"))))
25732 (build-system emacs-build-system)
25733 (propagated-inputs
25734 (list emacs-libmpdel emacs-navigel))
25735 (home-page "https://gitea.petton.fr/mpdel/mpdel")
25736 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
25737 (description
25738 "MPDel provides an Emacs user interface to control playback (play, pause,
25739 next, volume) and display and control the current playlist as well as your
25740 stored playlists.")
25741 (license license:gpl3+)))
25742
25743 (define-public emacs-navigel
25744 (package
25745 (name "emacs-navigel")
25746 (version "0.7.0")
25747 (source (origin
25748 (method git-fetch)
25749 (uri (git-reference
25750 (url "https://github.com/DamienCassou/navigel")
25751 (commit (string-append "v" version))))
25752 (file-name (git-file-name name version))
25753 (sha256
25754 (base32
25755 "0v9f7wb6yghds3hjj8x5di6gfa8n5kjwhav7la1ca2zwgs2c1a9p"))))
25756 (build-system emacs-build-system)
25757 (arguments
25758 (list
25759 #:tests? #t
25760 #:test-command #~(list "ert-runner")))
25761 (native-inputs
25762 (list emacs-ert-runner))
25763 (propagated-inputs
25764 (list emacs-tablist))
25765 (home-page "https://github.com/DamienCassou/navigel")
25766 (synopsis "Emacs library for creating tabulated-list based user-interfaces")
25767 (description
25768 "The navigel package is a library that makes it simpler for Emacs Lisp
25769 developers to define user-interfaces based on tablists (also known as
25770 tabulated-lists).")
25771 (license license:gpl3+)))
25772
25773 (define-public emacs-vterm
25774 (let ((version "0.0.1")
25775 (revision "1")
25776 (commit "b44723552f86407d528c4a6c8057382c061b008e"))
25777 (package
25778 (name "emacs-vterm")
25779 (version (git-version version revision commit))
25780 (source (origin
25781 (method git-fetch)
25782 (uri (git-reference
25783 (url "https://github.com/akermu/emacs-libvterm")
25784 (commit commit)))
25785 (file-name (git-file-name name version))
25786 (sha256
25787 (base32
25788 "0rq2skwylvc7s4vfpbbsdykws4akyp9sc6xgrh2ql5yydhhnv2h3"))))
25789 (build-system emacs-build-system)
25790 (arguments
25791 `(#:modules ((guix build emacs-build-system)
25792 ((guix build cmake-build-system) #:prefix cmake:)
25793 (guix build emacs-utils)
25794 (guix build utils))
25795 #:imported-modules (,@%emacs-build-system-modules
25796 (guix build cmake-build-system))
25797 #:phases
25798 (modify-phases %standard-phases
25799 (add-after 'unpack 'substitute-vterm-module-path
25800 (lambda* (#:key outputs #:allow-other-keys)
25801 (chmod "vterm.el" #o644)
25802 (emacs-substitute-sexps "vterm.el"
25803 ("(require 'vterm-module nil t)"
25804 `(module-load
25805 ,(string-append (assoc-ref outputs "out")
25806 "/lib/vterm-module.so"))))))
25807 (add-after 'build 'configure
25808 ;; Run cmake.
25809 (lambda* (#:key outputs #:allow-other-keys)
25810 ((assoc-ref cmake:%standard-phases 'configure)
25811 #:outputs outputs
25812 #:out-of-source? #f
25813 #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))))
25814 (add-after 'configure 'make
25815 ;; Run make.
25816 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
25817 ;; Compile the shared object file.
25818 (apply invoke "make" "all" make-flags)
25819 ;; Move the file into /lib.
25820 (install-file
25821 "vterm-module.so"
25822 (string-append (assoc-ref outputs "out") "/lib")))))
25823 #:tests? #f))
25824 (native-inputs
25825 (list cmake-minimal libtool libvterm))
25826 (home-page "https://github.com/akermu/emacs-libvterm")
25827 (synopsis "Emacs libvterm integration")
25828 (description "This package implements a bridge to @code{libvterm} to
25829 display a terminal in an Emacs buffer.")
25830 (license license:gpl3+))))
25831
25832 (define-public emacs-vterm-toggle
25833 ;; There have been no releases.
25834 (let ((commit "d10239b7bb89b78dddb82f66ac2286bc0b02747b")
25835 (revision "1"))
25836 (package
25837 (name "emacs-vterm-toggle")
25838 (version (git-version "0.0.4" revision commit))
25839 (source
25840 (origin
25841 (method git-fetch)
25842 (uri (git-reference
25843 (url "https://github.com/jixiuf/vterm-toggle")
25844 (commit commit)))
25845 (file-name (git-file-name name version))
25846 (sha256
25847 (base32 "0r9n23wg9cfy10h5f9zqr8jpkvw34f9rylri3nxq870awjab7rqi"))))
25848 (build-system emacs-build-system)
25849 (propagated-inputs (list emacs-vterm))
25850 (home-page "https://github.com/jixiuf/vterm-toggle")
25851 (synopsis "Toggle between a vterm buffer and other buffers")
25852 (description
25853 "This package provides a DWIM way to switch from an Emacs buffer to
25854 a vterm buffer and back again.")
25855 (license license:gpl3+))))
25856
25857 (define-public emacs-multi-vterm
25858 (let ((commit "a3df7218c1ecadef779e2c47815201052283f9ea")
25859 (revision "1"))
25860 (package
25861 (name "emacs-multi-vterm")
25862 (version (git-version "1.0" revision commit))
25863 (source (origin
25864 (method git-fetch)
25865 (uri (git-reference
25866 (url "https://github.com/suonlight/multi-vterm")
25867 (commit commit)))
25868 (file-name (git-file-name name version))
25869 (sha256
25870 (base32
25871 "0z6321994c4c8f5iya240pzvhirci9idlc110wjjwsm4pzdrrppj"))))
25872 (build-system emacs-build-system)
25873 (propagated-inputs (list emacs-vterm))
25874 (home-page "https://github.com/suonlight/multi-vterm/")
25875 (synopsis "Manage multiple vterm buffers in Emacs")
25876 (description
25877 "This package provides an Emacs library to manage vterm buffers.")
25878 (license license:gpl3+))))
25879
25880 (define-public emacs-simple-mpc
25881 ;; There have been no releases.
25882 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
25883 (revision "1"))
25884 (package
25885 (name "emacs-simple-mpc")
25886 (version (git-version "0" revision commit))
25887 (source
25888 (origin
25889 (method git-fetch)
25890 (uri (git-reference
25891 (url "https://github.com/jorenvo/simple-mpc")
25892 (commit commit)))
25893 (file-name (git-file-name name version))
25894 (sha256
25895 (base32
25896 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
25897 (build-system emacs-build-system)
25898 (propagated-inputs (list emacs-s))
25899 (home-page "https://github.com/jorenvo/simple-mpc")
25900 (synopsis "Simple Emacs frontend to mpc")
25901 (description "This package provides an Emacs major mode which acts as a
25902 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
25903 (license license:gpl3+))))
25904
25905 (define-public emacs-mkmcc-gnuplot-mode
25906 (package
25907 (name "emacs-mkmcc-gnuplot-mode")
25908 (version "1.2.0")
25909 (source
25910 (origin
25911 (method git-fetch)
25912 (uri (git-reference
25913 (url "https://github.com/mkmcc/gnuplot-mode")
25914 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
25915 (file-name (git-file-name name version))
25916 (sha256
25917 (base32
25918 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
25919 (build-system emacs-build-system)
25920 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
25921 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
25922 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
25923 mode for editing gnuplot scripts. It provides syntax highlighting,
25924 indentation and a command to plot the file.")
25925 (license license:gpl3+)))
25926
25927 (define-public emacs-cmake-font-lock
25928 ;; Upstream does not tag commits. The commit hash below matches version
25929 ;; bump.
25930 (let ((commit "0d6111b36a66013aa9b452e664c93308df3b07e1"))
25931 (package
25932 (name "emacs-cmake-font-lock")
25933 (version "0.1.12")
25934 (source (origin
25935 (method git-fetch)
25936 (uri (git-reference
25937 (url "https://github.com/Lindydancer/cmake-font-lock")
25938 (commit commit)))
25939 (file-name (git-file-name name version))
25940 (sha256
25941 (base32
25942 "12ga8ri7v9r5y46pghk80ww27i7nhbrg0r3s2ina42drlkkliqj4"))))
25943 (build-system emacs-build-system)
25944 (native-inputs
25945 (list emacs-faceup))
25946 (arguments
25947 (list #:include #~(cons "^admin\\/" %default-include)))
25948 (home-page "https://github.com/Lindydancer/cmake-font-lock")
25949 (synopsis "Advanced type-aware syntax-highlighting for CMake")
25950 (description "This package highlights function arguments in CMake
25951 according to their use.")
25952 (license license:gpl3+))))
25953
25954 (define-public emacs-detached
25955 (package
25956 (name "emacs-detached")
25957 (version "0.8.1")
25958 (source (origin
25959 (method git-fetch)
25960 (uri (git-reference
25961 (url "https://git.sr.ht/~niklaseklund/detached.el")
25962 (commit version)))
25963 (file-name (git-file-name name version))
25964 (sha256
25965 (base32
25966 "190sil04wbnnml7i1nv19xn8fpqwng9xngpsxvmfxj3bzn7slid6"))))
25967 (arguments
25968 (list
25969 #:tests? #t
25970 #:test-command #~(list "ert-runner")
25971 #:phases
25972 #~(modify-phases %standard-phases
25973 (add-after 'unpack 'configure
25974 (lambda* (#:key inputs #:allow-other-keys)
25975 (make-file-writable "detached.el")
25976 (emacs-substitute-variables "detached.el"
25977 ("detached-dtach-program"
25978 (search-input-file inputs "/bin/dtach"))
25979 ("detached-shell-program"
25980 (search-input-file inputs "/bin/bash"))))))))
25981 (build-system emacs-build-system)
25982 (native-inputs (list emacs-ert-runner))
25983 (inputs (list dtach))
25984 (home-page "https://git.sr.ht/~niklaseklund/detached.el")
25985 (synopsis "A package to launch, and manage, detached processes")
25986 (description
25987 "The detached package allows users to run processes
25988 detached from Emacs. It provides integration with multiple built-in modes, as
25989 well as providing an interface to attach and interact with the processes.")
25990 (license license:gpl3+)))
25991
25992 (define-public emacs-dtache
25993 (deprecated-package "emacs-dtache" emacs-detached))
25994
25995 (define-public emacs-dtrt-indent
25996 (package
25997 (name "emacs-dtrt-indent")
25998 (version "1.8")
25999 (source (origin
26000 (method git-fetch)
26001 (uri (git-reference
26002 (url "https://github.com/jscheid/dtrt-indent")
26003 (commit version)))
26004 (file-name (git-file-name name version))
26005 (sha256
26006 (base32
26007 "16g4bv2py423l19n0kaz18a41wk5fsrpnqzifdss6amqh0dqyvmf"))))
26008 (build-system emacs-build-system)
26009 (home-page "https://github.com/jscheid/dtrt-indent")
26010 (synopsis "Minor mode that guesses the indentation offset")
26011 (description "This package provides a minor mode that guesses the
26012 indentation offset originally used for creating source code files and
26013 transparently adjusts the corresponding settings in Emacs, making it more
26014 convenient to edit foreign files.")
26015 (license license:gpl2+)))
26016
26017 (define-public emacs-repo
26018 (package
26019 (name "emacs-repo")
26020 (version "0.2.0")
26021 (source (origin
26022 (method git-fetch)
26023 (uri (git-reference
26024 (url "https://github.com/canatella/repo-el")
26025 (commit version)))
26026 (file-name (git-file-name name version))
26027 (sha256
26028 (base32
26029 "0jgiawdnzjlrpx2j1y6djwbqncdpmyfd31q1qf1890049y8ppxnb"))))
26030 (build-system emacs-build-system)
26031 (native-inputs
26032 (list emacs-el-mock emacs-ert-runner))
26033 (propagated-inputs
26034 (list emacs-f emacs-magit))
26035 (home-page "https://github.com/canatella/repo-el")
26036 (synopsis "Emacs interface for the Google Repo tool")
26037 (description "This package provides integration of the Google Repo tool
26038 with emacs. It displays the output of the @code{repo status} command in a
26039 buffer and launches Magit from the status buffer for the project at point.")
26040 (license license:gpl3+)))
26041
26042 (define-public emacs-repology
26043 (package
26044 (name "emacs-repology")
26045 (version "1.2.3")
26046 (source
26047 (origin
26048 (method url-fetch)
26049 (uri (string-append "https://elpa.gnu.org/packages/"
26050 "repology-" version ".tar"))
26051 (sha256
26052 (base32 "1ngx23b7dilyps20nznrrn867kbxyn6nryf4p1sy5m576hkw18kn"))))
26053 (build-system emacs-build-system)
26054 (arguments
26055 (list
26056 #:tests? #t
26057 #:test-command
26058 #~(list "emacs" "-Q" "-batch"
26059 "-l" "repology-tests.el"
26060 "-f" "ert-run-tests-batch-and-exit")))
26061 (home-page "https://elpa.gnu.org/packages/repology.html")
26062 (synopsis "Repology API access via Elisp")
26063 (description
26064 "This package provides tools to query Repology API (see
26065 @url{https://repology.org/api}), process results, and display them.")
26066 (license license:gpl3+)))
26067
26068 (define-public emacs-alect-themes
26069 (package
26070 (name "emacs-alect-themes")
26071 (version "0.10")
26072 (source
26073 (origin
26074 (method git-fetch)
26075 (uri (git-reference
26076 (url "https://github.com/alezost/alect-themes")
26077 (commit (string-append "v" version))))
26078 (file-name (git-file-name name version))
26079 (sha256
26080 (base32 "190clnm5x4hpzrq2wp18vxg6614ly3ciyv0y1sm9rfr9w9z5i0ya"))))
26081 (build-system emacs-build-system)
26082 (home-page "https://github.com/alezost/alect-themes")
26083 (synopsis "Low contrast, light, dark and black color theme for Emacs")
26084 (description "@code{emacs-alect-themes} provides configurable light, dark
26085 and black color themes for Emacs. The themes are intended to be used with
26086 GUI.")
26087 (license license:gpl3+)))
26088
26089 (define-public emacs-google-c-style
26090 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
26091 (revision "0"))
26092 (package
26093 (name "emacs-google-c-style")
26094 (version (git-version "0.1" revision commit))
26095 (source (origin
26096 (method git-fetch)
26097 (uri (git-reference
26098 (url "https://github.com/google/styleguide")
26099 (commit commit)))
26100 (file-name (git-file-name name version))
26101 (sha256
26102 (base32
26103 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
26104 (build-system emacs-build-system)
26105 (home-page "https://github.com/google/styleguide")
26106 (synopsis "Emacs settings file for Google C/C++ style")
26107 (description "@code{emacs-google-c-style} provides an Emacs settings
26108 file for Google C and C++ style.")
26109 (license license:gpl1+))))
26110
26111 (define-public emacs-redshank
26112 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
26113 (revision "1"))
26114 (package
26115 (name "emacs-redshank")
26116 (version (git-version "0.1" revision commit))
26117 (source (origin
26118 (method git-fetch)
26119 (uri (git-reference
26120 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
26121 (commit commit)))
26122 (file-name (git-file-name name version))
26123 (sha256
26124 (base32
26125 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
26126 (build-system emacs-build-system)
26127 (propagated-inputs
26128 (list emacs-paredit))
26129 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
26130 (synopsis "Common Lisp Editing Extensions (for Emacs)")
26131 (description "Redshank is a collection of code-wrangling Emacs macros
26132 mostly geared towards Common Lisp, but some are useful for other Lisp
26133 dialects, too. Redshank's code transformations aim to be expression-based (as
26134 opposed to character-based).")
26135 (license license:gpl1+))))
26136
26137 (define-public emacs-disk-usage
26138 (package
26139 (name "emacs-disk-usage")
26140 (version "1.3.3")
26141 (source
26142 (origin
26143 (method git-fetch)
26144 (uri (git-reference
26145 (url "https://gitlab.com/Ambrevar/emacs-disk-usage")
26146 (commit version)))
26147 (file-name (git-file-name name version))
26148 (sha256
26149 (base32
26150 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
26151 (build-system emacs-build-system)
26152 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
26153 (synopsis "Sort and browse disk usage listings with Emacs")
26154 (description "Disk Usage is a file system analyzer: it offers a tabulated
26155 view of file listings sorted by size. Directory sizes are computed
26156 recursively. The results are cached for speed.")
26157 (license license:gpl3+)))
26158
26159 (define-public emacs-orgit
26160 (package
26161 (name "emacs-orgit")
26162 (version "1.8.0")
26163 (home-page "https://github.com/magit/orgit")
26164 (source (origin
26165 (method git-fetch)
26166 (uri (git-reference
26167 (url home-page)
26168 (commit (string-append "v" version))))
26169 (file-name (git-file-name name version))
26170 (sha256
26171 (base32
26172 "1hjfsj12qx06m8ji4l2sg502a55sabar4h6c2b2i9nmp1xf5889l"))))
26173 (build-system emacs-build-system)
26174 (propagated-inputs
26175 (list emacs-dash emacs-magit))
26176 (synopsis "Support for Org links to Magit buffers")
26177 (description "This package defines several Org link types, which can be
26178 used to link to certain Magit buffers. Use the command
26179 @command{org-store-link} while such a buffer is current to store a link.
26180 Later you can insert it into an Org buffer using the command
26181 @code{org-insert-link}.")
26182 (license license:gpl3+)))
26183
26184 (define-public emacs-amx
26185 (package
26186 (name "emacs-amx")
26187 (version "3.4")
26188 (source
26189 (origin
26190 (method git-fetch)
26191 (uri (git-reference
26192 (url "https://github.com/DarwinAwardWinner/amx")
26193 (commit (string-append "v" version))))
26194 (file-name (git-file-name name version))
26195 (sha256
26196 (base32 "0h1cxqqf0hixh25j679r57bq9dv0b20icf268wbnsim5xp88ngf8"))))
26197 (build-system emacs-build-system)
26198 (propagated-inputs
26199 (list emacs-s))
26200 (home-page "https://github.com/DarwinAwardWinner/amx")
26201 (synopsis "Alternative M-x interface for Emacs")
26202 (description "Amx is an alternative interface for M-x in Emacs. It
26203 provides several enhancements over the ordinary
26204 @code{execute-extended-command}, such as prioritizing your most-used commands
26205 in the completion list and showing keyboard shortcuts, and it supports several
26206 completion systems for selecting commands, such as Ido and Ivy.")
26207 (license license:gpl3+)))
26208
26209 (define-public emacs-lorem-ipsum
26210 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
26211 (package
26212 (name "emacs-lorem-ipsum")
26213 (version (git-version "0.2" "1" commit))
26214 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
26215 (source (origin
26216 (method git-fetch)
26217 (uri (git-reference
26218 (url home-page)
26219 (commit commit)))
26220 (file-name (git-file-name name version))
26221 (sha256
26222 (base32
26223 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
26224 (build-system emacs-build-system)
26225 (synopsis "Insert dummy pseudo Latin text in Emacs")
26226 (description "This package provides convenience functions to insert
26227 dummy Latin text into a buffer. This can be useful if you need to produce
26228 paragraphs or pages of text for testing purposes.")
26229 (license license:gpl3+))))
26230
26231 (define-public emacs-lisp-extra-font-lock
26232 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
26233 (package
26234 (name "emacs-lisp-extra-font-lock")
26235 (version (git-version "0.0.6" "1" commit))
26236 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
26237 (source (origin
26238 (method git-fetch)
26239 (uri (git-reference
26240 (url home-page)
26241 (commit commit)))
26242 (file-name (git-file-name name version))
26243 (sha256
26244 (base32
26245 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
26246 (build-system emacs-build-system)
26247 (synopsis "Highlight bound variables and quoted expressions in Emacs")
26248 (description "This package highlight the location where local variables
26249 is created (bound, for example, by let) as well as quoted and backquoted
26250 constant expressions.")
26251 (license license:gpl3+))))
26252
26253 (define-public emacs-docker-tramp
26254 (package
26255 (name "emacs-docker-tramp")
26256 (version "0.1.1")
26257 (source
26258 (origin
26259 (method git-fetch)
26260 (uri (git-reference
26261 (url "https://github.com/emacs-pe/docker-tramp.el")
26262 (commit (string-append "v" version))))
26263 (file-name (git-file-name name version))
26264 (sha256
26265 (base32
26266 "05966l3af9lg4nlsz6wrq282ipwxh19ggirfyabjrr1syw3v2crn"))))
26267 (build-system emacs-build-system)
26268 (home-page "https://github.com/emacs-pe/docker-tramp.el")
26269 (synopsis "TRAMP integration for docker containers")
26270 (description
26271 "This package provides a TRAMP method for Docker containers.")
26272 (license license:gpl3+)))
26273
26274 (define-public emacs-docker
26275 (package
26276 (name "emacs-docker")
26277 (version "2.2.0")
26278 (source
26279 (origin
26280 (method git-fetch)
26281 (uri (git-reference
26282 (url "https://github.com/Silex/docker.el")
26283 (commit version)))
26284 (file-name (git-file-name name version))
26285 (sha256
26286 (base32 "1743x2s7ss7h329yayima3pqi62f0qjv56g5y6b7iwk40wpnhv9v"))))
26287 (inputs
26288 (list emacs-undercover))
26289 (propagated-inputs
26290 (list emacs-aio
26291 emacs-dash
26292 emacs-docker-tramp
26293 emacs-json-mode
26294 emacs-s
26295 emacs-tablist))
26296 (arguments `(#:tests? #false)) ;no tests
26297 (build-system emacs-build-system)
26298 (home-page "https://github.com/Silex/docker.el")
26299 (synopsis "Manage docker from Emacs")
26300 (description "This package provides an Emacs interface for Docker.")
26301 (license license:gpl3+)))
26302
26303 (define-public emacs-dockerfile-mode
26304 (package
26305 (name "emacs-dockerfile-mode")
26306 (version "1.7")
26307 (source
26308 (origin
26309 (method git-fetch)
26310 (uri (git-reference
26311 (url "https://github.com/spotify/dockerfile-mode")
26312 (commit (string-append "v" version))))
26313 (file-name (git-file-name name version))
26314 (sha256
26315 (base32
26316 "0hmzwh8m72rj6cwaxfypnv3fmjrs11iqr15vsdw1rw7m55xi675f"))))
26317 (build-system emacs-build-system)
26318 (propagated-inputs
26319 (list emacs-s))
26320 (home-page "https://github.com/spotify/dockerfile-mode")
26321 (synopsis "Major mode for editing Dockerfile")
26322 (description
26323 "This package provides a major mode @code{dockerfile-mode} for use with
26324 the standard @code{Dockerfile} file format.")
26325 (license license:asl2.0)))
26326
26327 (define-public emacs-lsp-mode
26328 (let ((commit "26c4d3e54ad2956623e64132312fe864274d346f")
26329 (revision "1"))
26330 (package
26331 (name "emacs-lsp-mode")
26332 (version (git-version "8.0.1" revision commit))
26333 (source
26334 (origin
26335 (method git-fetch)
26336 (uri (git-reference
26337 (url "https://github.com/emacs-lsp/lsp-mode")
26338 (commit commit)))
26339 (file-name (git-file-name name version))
26340 (sha256
26341 (base32 "0klnik69b5y6s2q00vyshxymlg7k4x9x6m7wpsf7z9w12qn27alx"))))
26342 (build-system emacs-build-system)
26343 (arguments
26344 `(#:emacs ,emacs ;need libxml support
26345 #:phases
26346 (modify-phases %standard-phases
26347 (add-after 'unpack 'move-clients-libraries
26348 ;; Move all clients libraries at top-level, as is done, e.g., in
26349 ;; MELPA.
26350 (lambda _
26351 (for-each (lambda (f)
26352 (install-file f "."))
26353 (find-files "clients/" "\\.el$"))))
26354 (add-before 'move-clients-libraries 'fix-patch-el-files
26355 ;; /bin/ksh is only used on macOS, which we don't support, so we
26356 ;; don't want to add it as input.
26357 (lambda _
26358 (substitute* '("clients/lsp-csharp.el" "clients/lsp-fsharp.el")
26359 (("/bin/ksh") "ksh")))))))
26360 (propagated-inputs
26361 (list emacs-dash
26362 emacs-f
26363 emacs-ht
26364 emacs-hydra
26365 emacs-markdown-mode
26366 emacs-spinner))
26367 (home-page "https://emacs-lsp.github.io/lsp-mode/")
26368 (synopsis "Emacs client and library for the Language Server Protocol")
26369 (description
26370 "LSP mode is a client and library implementation for the Language
26371 Server Protocol. This mode creates an IDE-like experience by providing
26372 optional integration with other popular Emacs packages like Company, Flycheck,
26373 and Projectile.")
26374 (license license:gpl3+))))
26375
26376 (define-public emacs-lsp-treemacs
26377 (package
26378 (name "emacs-lsp-treemacs")
26379 (version "0.4")
26380 (source
26381 (origin
26382 (method git-fetch)
26383 (uri (git-reference
26384 (url "https://github.com/emacs-lsp/lsp-treemacs")
26385 (commit version)))
26386 (file-name (git-file-name name version))
26387 (sha256
26388 (base32 "05ivqa5900139jzjhwc3nggwznhm8564dz4ydcxym2ddd63571k0"))))
26389 (build-system emacs-build-system)
26390 (propagated-inputs
26391 (list emacs-lsp-mode emacs-treemacs))
26392 (home-page "https://github.com/emacs-lsp/lsp-treemacs")
26393 (synopsis "Integration between LSP mode and treemacs")
26394 (description
26395 "This package provides integration between LSP mode and treemacs,
26396 and implementation of treeview controls using treemacs as a tree renderer.")
26397 (license license:gpl3+)))
26398
26399 (define-public emacs-dap-mode
26400 (package
26401 (name "emacs-dap-mode")
26402 (version "0.7")
26403 (source
26404 (origin
26405 (method git-fetch)
26406 (uri (git-reference
26407 (url "https://github.com/emacs-lsp/dap-mode")
26408 (commit version)))
26409 (file-name (git-file-name name version))
26410 (sha256
26411 (base32 "1zczmcv8562lachkvcwy6njn7zkgny08iznpmrx821wr8mh52wnn"))))
26412 (build-system emacs-build-system)
26413 (propagated-inputs
26414 (list emacs-bui emacs-lsp-mode emacs-posframe emacs-lsp-treemacs))
26415 (home-page "https://emacs-lsp.github.io/dap-mode")
26416 (synopsis "Emacs client/library for Debug Adapter Protocol")
26417 (description
26418 "Dap mode is an Emacs client/library for Debug Adapter
26419 Protocol (DAP), a wire protocol for communication between client and
26420 debug server. It is similar to the LSP but provides integration with
26421 Debug server.")
26422 (license license:gpl3+)))
26423
26424 (define-public emacs-bfuture
26425 (package
26426 (name "emacs-bfuture")
26427 (version "1.0.1")
26428 (source
26429 (origin
26430 (method git-fetch)
26431 (uri (git-reference
26432 (url "https://git.sr.ht/~plattfot/bfuture")
26433 (commit (string-append "v" version))))
26434 (sha256
26435 (base32
26436 "1m4v4xbsvg26z7nvg2c8q7x1nvv7v4ajm56l0nbkwcbdbrgahpva"))
26437 (file-name (git-file-name name version))))
26438 (build-system emacs-build-system)
26439 (arguments
26440 (list #:tests? (not (%current-target-system))
26441 #:test-command #~'("ert-runner")))
26442 (native-inputs (list emacs-ert-runner))
26443 (home-page "https://github.com/plattfot/bfuture.el")
26444 (synopsis "Basic future concept for Emacs with Tramp support")
26445 (description
26446 "This package provides basic functions for spawning processes asynchronous in
26447 Emacs and retrieving the output. It is similar to @code{emacs-pfuture} except
26448 that this works over Tramp but the feature set is more limited. For example,
26449 it cannot tell stdout and stderr apart.")
26450 (license license:gpl3+)))
26451
26452 (define-public emacs-pfuture
26453 (package
26454 (name "emacs-pfuture")
26455 (version "1.10.3")
26456 (source
26457 (origin
26458 (method git-fetch)
26459 (uri (git-reference
26460 (url "https://github.com/Alexander-Miller/pfuture")
26461 (commit version)))
26462 (file-name (git-file-name name version))
26463 (sha256
26464 (base32 "0ifasmkfj06fb9whk7gg47fiim0bbwyh3279sd72psqbbxfixddf"))))
26465 (build-system emacs-build-system)
26466 (home-page "https://github.com/Alexander-Miller/pfuture")
26467 (synopsis "Simple wrapper around asynchronous processes for Emacs")
26468 (description "This package provides a simple wrapper around asynchronous
26469 processes for Emacs.")
26470 (license license:gpl3+)))
26471
26472 (define-public emacs-treemacs
26473 (package
26474 (name "emacs-treemacs")
26475 (version "3.0")
26476 (source
26477 (origin
26478 (method git-fetch)
26479 (uri (git-reference
26480 (url "https://github.com/Alexander-Miller/treemacs")
26481 (commit version)))
26482 (file-name (git-file-name name version))
26483 (sha256
26484 (base32 "0l6pbfrkl0v1iyc43vyhchbcfy7cjhinn8pw07aq4ssh6lxil7kp"))))
26485 (build-system emacs-build-system)
26486 (propagated-inputs
26487 (list emacs-ace-window
26488 emacs-dash
26489 emacs-f
26490 emacs-ht
26491 emacs-hydra
26492 emacs-pfuture
26493 emacs-s))
26494 (native-inputs
26495 (list emacs-buttercup emacs-el-mock))
26496 (inputs
26497 (list python))
26498 (arguments
26499 (list
26500 #:tests? #t
26501 #:test-command #~(list "make" "-C" "../.." "test")
26502 #:phases
26503 #~(modify-phases %standard-phases
26504 (add-after 'unpack 'fix-makefile
26505 (lambda _
26506 (substitute* "Makefile"
26507 (("@\\$\\(CASK\\) exec ") "")
26508 ;; Guix does not need to prepare dependencies before testing.
26509 (("test: prepare") "test:"))))
26510 (add-after 'fix-makefile 'chdir-elisp
26511 ;; Elisp directory is not in root of the source.
26512 (lambda _
26513 (chdir "src/elisp")))
26514 (add-before 'check 'delete-failing-tests
26515 ;; FIXME: 4 tests out of 254 are failing.
26516 (lambda _
26517 (emacs-batch-edit-file "../../test/treemacs-test.el"
26518 '(progn
26519 (goto-char (point-min))
26520 (re-search-forward "describe \"treemacs--parent\"")
26521 (beginning-of-line)
26522 (kill-sexp)
26523 (basic-save-buffer)))))
26524 (add-before 'install 'patch-paths
26525 (lambda* (#:key inputs #:allow-other-keys)
26526 (make-file-writable "treemacs-core-utils.el")
26527 (emacs-substitute-variables "treemacs-core-utils.el"
26528 ("treemacs-dir" (string-append #$output "/")))
26529 (make-file-writable "treemacs-icons.el")
26530 (substitute* "treemacs-icons.el"
26531 (("icons/default")
26532 (string-append (elpa-directory #$output) "/icons/default")))
26533 (make-file-writable "treemacs-customization.el")
26534 (emacs-substitute-variables "treemacs-customization.el"
26535 ("treemacs-python-executable"
26536 (search-input-file inputs "/bin/python3")))
26537 (make-file-writable "treemacs-async.el")
26538 (substitute* "treemacs-async.el"
26539 (("src/scripts")
26540 (string-append (elpa-directory #$output) "/scripts")))))
26541 (add-after 'install 'install-data
26542 (lambda _
26543 (with-directory-excursion "../.." ;treemacs root
26544 (copy-recursively
26545 "icons/default"
26546 (string-append (elpa-directory #$output) "/icons/default"))
26547 (copy-recursively
26548 "src/scripts"
26549 (string-append (elpa-directory #$output) "/scripts"))))))))
26550 (home-page "https://github.com/Alexander-Miller/treemacs")
26551 (synopsis "Emacs tree style file explorer")
26552 (description
26553 "Treemacs is a file and project explorer similar to NeoTree or Vim's
26554 NerdTree, but largely inspired by the Project Explorer in Eclipse. It shows
26555 the file system outlines of your projects in a simple tree layout allowing
26556 quick navigation and exploration, while also possessing basic file management
26557 utilities.")
26558 (license license:gpl3+)))
26559
26560 (define-public emacs-treemacs-extra
26561 (package
26562 (inherit emacs-treemacs)
26563 (name "emacs-treemacs-extra")
26564 (propagated-inputs
26565 `(,@(package-propagated-inputs emacs-treemacs)
26566 ("emacs-all-the-icons" ,emacs-all-the-icons)
26567 ("emacs-evil" ,emacs-evil)
26568 ("emacs-magit" ,emacs-magit)
26569 ("emacs-projectile" ,emacs-projectile)
26570 ("emacs-perspective" ,emacs-perspective)
26571 ("emacs-persp-mode" ,emacs-persp-mode)
26572 ("mu" ,mu)))
26573 (arguments
26574 (substitute-keyword-arguments
26575 (package-arguments emacs-treemacs)
26576 ((#:phases phases)
26577 `(modify-phases ,phases
26578 (add-after 'chdir-elisp 'copy-extra
26579 (lambda _
26580 (copy-recursively "../extra" ".")))))))))
26581
26582 (define-public emacs-libyaml
26583 ;; Upstream made no release so far.
26584 (let ((version "0.1")
26585 (revision "1")
26586 (commit "961e0d8b9ef47464c049e07be7fcefd3903f8cbc"))
26587 (package
26588 (name "emacs-libyaml")
26589 (version (git-version version revision commit))
26590 (source
26591 (origin
26592 (method git-fetch)
26593 (uri (git-reference
26594 (url "https://github.com/syohex/emacs-libyaml")
26595 (commit commit)))
26596 (file-name (git-file-name name version))
26597 (sha256
26598 (base32 "1c85583r47yjbpzbjgjzrwzqdlmy229xx9az2r18smcyd9da92c3"))))
26599 (build-system emacs-build-system)
26600 (arguments
26601 (list
26602 #:tests? #f ;no test
26603 #:modules '((guix build emacs-build-system)
26604 (guix build emacs-utils)
26605 (guix build utils))
26606 #:imported-modules `(,@%emacs-build-system-modules
26607 (guix build gnu-build-system))
26608 #:phases
26609 #~(modify-phases %standard-phases
26610 (add-after 'unpack 'substitute-libyaml-core-path
26611 (lambda _
26612 (make-file-writable "libyaml.el")
26613 (substitute* "libyaml.el"
26614 (("^\\(require 'libyaml-core\\)")
26615 (string-append "(module-load \"" #$output
26616 "/lib/libyaml-core.so\")")))))
26617 (add-after 'check 'make
26618 ;; Run make.
26619 (lambda* (#:key (make-flags '()) #:allow-other-keys)
26620 ;; Compile the shared object file.
26621 (apply invoke "make" "all" "CPPFLAGS=" make-flags)
26622 ;; Move the file into /lib.
26623 (install-file "libyaml-core.so"
26624 (string-append #$output "/lib")))))))
26625 (native-inputs (list libyaml))
26626 (home-page "https://github.com/syohex/emacs-libyaml")
26627 (synopsis "Libyaml bindings for Emacs")
26628 (description
26629 "This package implements bindings for LibYAML to be able to parse YAML
26630 files in Elisp.")
26631 (license license:gpl3+))))
26632
26633 (define-public emacs-lsp-java
26634 (package
26635 (name "emacs-lsp-java")
26636 (version "3.1")
26637 (source (origin
26638 (method git-fetch)
26639 (uri (git-reference
26640 (url "https://github.com/emacs-lsp/lsp-java")
26641 (commit version)))
26642 (file-name (git-file-name name version))
26643 (sha256
26644 (base32
26645 "1h0hqgjpk5mbylma1fkva0vx45achf0k7ab2c5y8a2449niww90h"))))
26646 (build-system emacs-build-system)
26647 (propagated-inputs
26648 (list emacs-dap-mode
26649 emacs-lsp-mode
26650 emacs-markdown-mode
26651 emacs-dash
26652 emacs-f
26653 emacs-ht
26654 emacs-request
26655 emacs-treemacs))
26656 (home-page "https://github.com/emacs-lsp/lsp-java/")
26657 (synopsis "Java support for lsp-mode")
26658 (description "Emacs Java IDE using Eclipse JDT Language Server.")
26659 (license license:gpl3+)))
26660
26661 (define-public emacs-lsp-metals
26662 (package
26663 (name "emacs-lsp-metals")
26664 (version "1.2.0")
26665 (source (origin
26666 (method git-fetch)
26667 (uri (git-reference
26668 (url "https://github.com/emacs-lsp/lsp-metals")
26669 (commit version)))
26670 (file-name (git-file-name name version))
26671 (sha256
26672 (base32
26673 "0ca5xq1l3lscx36pcdnpy2axgyikjrl18naqr140kr1y500sy37s"))))
26674 (build-system emacs-build-system)
26675 (propagated-inputs
26676 (list emacs-dap-mode emacs-lsp-treemacs emacs-scala-mode))
26677 (home-page "https://github.com/emacs-lsp/lsp-metals")
26678 (synopsis "Scala support for LSP mode")
26679 (description "This package is an Emacs Scala IDE using LSP mode to connect
26680 to Metals.")
26681 (license license:gpl3+)))
26682
26683 (define-public emacs-lsp-ui
26684 (package
26685 (name "emacs-lsp-ui")
26686 (version "8.0.1")
26687 (source (origin
26688 (method git-fetch)
26689 (uri (git-reference
26690 (url "https://github.com/emacs-lsp/lsp-ui")
26691 (commit version)))
26692 (file-name (git-file-name name version))
26693 (sha256
26694 (base32
26695 "1pd5lvjlmd6zq64py21yi5zxhcza9g5q48ngfivv7fi7pf3vsv00"))))
26696 (build-system emacs-build-system)
26697 (propagated-inputs
26698 (list emacs-dash emacs-lsp-mode emacs-markdown-mode emacs-flycheck))
26699 (home-page "https://github.com/emacs-lsp/lsp-ui")
26700 (synopsis "User interface extensions for @code{lsp-mode}")
26701 (description
26702 "@code{LSP-ui} contains several enhancements and integrations for
26703 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
26704 and code peeking.")
26705 (license license:gpl3+)))
26706
26707 (define-public emacs-lsp-lua-emmy
26708 (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
26709 (package
26710 (name "emacs-lsp-lua-emmy")
26711 (version (git-version "0.1.0" "1" commit))
26712 (source (origin
26713 (method git-fetch)
26714 (uri (git-reference
26715 (url "https://github.com/phenix3443/lsp-lua-emmy")
26716 (commit commit)))
26717 (file-name (git-file-name name version))
26718 (sha256
26719 (base32
26720 "0rbizis73n1w5ig07fj1han74chbc1zpbp5bn37rj0gz608aqka8"))))
26721 (build-system emacs-build-system)
26722 (propagated-inputs
26723 (list emacs-lsp-mode))
26724 (home-page "https://github.com/phenix3443/lsp-lua-emmy/")
26725 (synopsis "Lua support in @code{lsp-mode} client for Emacs")
26726 (description "This package provides a Lua language support in
26727 @code{lsp-mode} client for Emacs.")
26728 (license license:gpl3+))))
26729
26730 (define-public emacs-lsp-ivy
26731 (package
26732 (name "emacs-lsp-ivy")
26733 (version "0.5")
26734 (source
26735 (origin
26736 (method git-fetch)
26737 (uri (git-reference
26738 (url "https://github.com/emacs-lsp/lsp-ivy")
26739 (commit version)))
26740 (file-name (git-file-name name version))
26741 (sha256
26742 (base32 "0nb9ypa8hyx7i38rbywh8hn2i5f9l2l567hvdr9767fk279yr97n"))))
26743 (build-system emacs-build-system)
26744 (propagated-inputs
26745 (list emacs-dash emacs-ivy emacs-lsp-mode))
26746 (home-page "https://github.com/emacs-lsp/lsp-ivy")
26747 (synopsis "Provide LSP-enhanced completion for symbols")
26748 (description
26749 "This package enhances @code{ivy} with completion for symbols from
26750 workspaces with a LSP-compliant server running.")
26751 (license license:gpl3+)))
26752
26753 (define-public emacs-helm-lsp
26754 (package
26755 (name "emacs-helm-lsp")
26756 (version "0.2")
26757 (source (origin
26758 (method git-fetch)
26759 (uri (git-reference
26760 (url "https://github.com/emacs-lsp/helm-lsp")
26761 (commit version)))
26762 (file-name (git-file-name name version))
26763 (sha256
26764 (base32
26765 "1vq3qpqm3ndqyvf5bk8qhqcr60x9ykc0ipk2a43rr3yjm4z1b6s9"))))
26766 (build-system emacs-build-system)
26767 (propagated-inputs
26768 (list emacs-helm emacs-lsp-mode emacs-dash))
26769 (home-page "https://github.com/emacs-lsp/helm-lsp")
26770 (synopsis "Provide LSP-enhanced completion for symbols")
26771 (description
26772 "This package enhances @code{helm} with completion for symbols from
26773 workspaces with a LSP-compliant server running.")
26774 (license license:gpl3+)))
26775
26776 (define-public emacs-helm-notmuch
26777 (package
26778 (name "emacs-helm-notmuch")
26779 (version "1.2")
26780 (home-page "https://github.com/emacs-helm/helm-notmuch/")
26781 (source (origin
26782 (method git-fetch)
26783 (uri (git-reference
26784 (url home-page)
26785 (commit version)))
26786 (file-name (git-file-name name version))
26787 (sha256
26788 (base32
26789 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
26790 (build-system emacs-build-system)
26791 (propagated-inputs
26792 (list emacs-helm emacs-notmuch))
26793 (synopsis "Search emails with Emacs Notmuch and Helm")
26794 (description
26795 "This package can be used to search emails in Emacs, searching result
26796 displays as you type thanks to Helm, though @command{notmuch-search} does the
26797 real search.")
26798 (license license:gpl3+)))
26799
26800 (define-public emacs-notmuch-maildir
26801 (package
26802 (name "emacs-notmuch-maildir")
26803 (version "0.2.1")
26804 (source
26805 (origin
26806 (method git-fetch)
26807 (uri (git-reference
26808 (url "https://git.sr.ht/~tarsius/notmuch-maildir")
26809 (commit (string-append "v" version))))
26810 (file-name (git-file-name name version))
26811 (sha256
26812 (base32 "1fqnx6hhg0cqj82yjpl7llg6vvppc3y8q9k6g67mqr7z3712bw0x"))))
26813 (build-system emacs-build-system)
26814 (propagated-inputs
26815 (list emacs-notmuch))
26816 (home-page "https://git.sr.ht/~tarsius/notmuch-maildir")
26817 (synopsis "Visualize maildirs as a tree")
26818 (description
26819 "This package can visualize maildirs hierarchically in Notmuch's ``hello
26820 buffer''.")
26821 (license license:gpl3+)))
26822
26823 (define-public emacs-elmacro
26824 (package
26825 (name "emacs-elmacro")
26826 (version "1.1.1")
26827 (home-page "https://github.com/Silex/elmacro")
26828 (source (origin
26829 (method git-fetch)
26830 (uri (git-reference
26831 (url home-page)
26832 (commit version)))
26833 (file-name (git-file-name name version))
26834 (sha256
26835 (base32
26836 "1x4wnsshf9h10mp51x92vs5rxw5had4gmw6zz4f53czx1ymcv16a"))))
26837 (build-system emacs-build-system)
26838 (propagated-inputs
26839 (list emacs-s emacs-dash))
26840 (synopsis "Convert keyboard macros to Emacs Lisp")
26841 (description
26842 "This package displays keyboard macros or latest interactive commands
26843 as Emacs Lisp.")
26844 (license license:gpl3+)))
26845
26846 (define-public emacs-transient
26847 (package
26848 (name "emacs-transient")
26849 (version "0.3.7")
26850 (source
26851 (origin
26852 (method git-fetch)
26853 (uri (git-reference
26854 (url "https://github.com/magit/transient")
26855 (commit (string-append "v" version))))
26856 (file-name (git-file-name name version))
26857 (sha256
26858 (base32 "0c7wbd0j0b802bzdpdkrx2q7wm7b9s56rk554dnadkpywhmdiqwn"))))
26859 (build-system emacs-build-system)
26860 (arguments
26861 `(#:tests? #f ;no test suite
26862 #:phases
26863 (modify-phases %standard-phases
26864 (add-after 'unpack 'build-info-manual
26865 (lambda _
26866 (invoke "make" "info")
26867 ;; Move the info file to lisp so that it gets installed by the
26868 ;; emacs-build-system.
26869 (rename-file "docs/transient.info" "lisp/transient.info")))
26870 (add-after 'build-info-manual 'enter-lisp-directory
26871 (lambda _
26872 (chdir "lisp"))))))
26873 (native-inputs
26874 (list texinfo))
26875 (propagated-inputs
26876 (list emacs-dash))
26877 (home-page "https://magit.vc/manual/transient")
26878 (synopsis "Transient commands in Emacs")
26879 (description "Taking inspiration from prefix keys and prefix arguments
26880 in Emacs, Transient implements a similar abstraction involving a prefix
26881 command, infix arguments and suffix commands. We could call this abstraction
26882 a \"transient command\", but because it always involves at least two
26883 commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
26884 (license license:gpl3+)))
26885
26886 (define-public emacs-forge
26887 (package
26888 (name "emacs-forge")
26889 (version "0.3.2")
26890 (source
26891 (origin
26892 (method git-fetch)
26893 (uri (git-reference
26894 (url "https://github.com/magit/forge")
26895 (commit (string-append "v" version))))
26896 (file-name (git-file-name name version))
26897 (sha256
26898 (base32 "0p1jlq169hpalhzmjm3h4q3x5xr9kdmz0qig8jwfvisyqay5vbih"))))
26899 (build-system emacs-build-system)
26900 (arguments
26901 `(#:tests? #f ;no tests
26902 #:phases
26903 (modify-phases %standard-phases
26904 (add-after 'unpack 'build-info-manual
26905 (lambda _
26906 (invoke "make" "info")
26907 ;; Move the info file to lisp so that it gets installed by the
26908 ;; emacs-build-system.
26909 (rename-file "docs/forge.info" "lisp/forge.info")))
26910 (add-after 'build-info-manual 'chdir-lisp
26911 (lambda _
26912 (chdir "lisp"))))))
26913 (native-inputs
26914 (list texinfo))
26915 (propagated-inputs
26916 (list emacs-closql
26917 emacs-dash
26918 emacs-emacsql
26919 emacs-ghub
26920 emacs-let-alist
26921 emacs-magit
26922 emacs-markdown-mode
26923 emacs-yaml))
26924 (home-page "https://github.com/magit/forge/")
26925 (synopsis "Access Git forges from Magit")
26926 (description "Work with Git forges, such as Github and Gitlab, from the
26927 comfort of Magit and the rest of Emacs.")
26928 (license license:gpl3+)))
26929
26930 (define-public emacs-matcha
26931 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
26932 (package
26933 (name "emacs-matcha")
26934 (version (git-version "0.0.1" "1" commit)) ;no upstream release
26935 (source (origin
26936 (method git-fetch)
26937 (uri (git-reference
26938 (url "https://github.com/jojojames/matcha")
26939 (commit commit)))
26940 (file-name (git-file-name name version))
26941 (sha256
26942 (base32
26943 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
26944 (propagated-inputs (list emacs-hydra))
26945 (build-system emacs-build-system)
26946 (home-page "https://github.com/jojojames/matcha/")
26947 (synopsis "Collection of hydras with a generic interface to launch them")
26948 (description "Matcha provides a collection of transients for various
26949 packages with a consistent way to use them.")
26950 (license license:gpl3+))))
26951
26952 (define-public emacs-undo-propose-el
26953 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
26954 (revision "3"))
26955 (package
26956 (name "emacs-undo-propose-el")
26957 (version (git-version "3.0.0" revision commit))
26958 (source
26959 (origin
26960 (method git-fetch)
26961 (uri (git-reference
26962 (url "https://github.com/jackkamm/undo-propose-el")
26963 (commit commit)))
26964 (file-name (git-file-name name version))
26965 (sha256
26966 (base32
26967 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
26968 (build-system emacs-build-system)
26969 (arguments
26970 `(#:tests? #t
26971 #:test-command '("make" "test")))
26972 (home-page "https://github.com/jackkamm/undo-propose-el")
26973 (synopsis "Simple and safe navigation of @code{undo} history")
26974 (description "This package permits navigation of @code{undo} history in a
26975 temporary buffer, which is read-only save for @code{undo} commands, and
26976 subsequent committal of a chain of @code{undo} commands as a single edit in
26977 the @code{undo} history.")
26978 (license license:gpl3+))))
26979
26980 (define-public emacs-elisp-docstring-mode
26981 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
26982 (version "0.0.1")
26983 (revision "1"))
26984 (package
26985 (name "emacs-elisp-docstring-mode")
26986 (version (git-version version revision commit))
26987 (source
26988 (origin
26989 (method git-fetch)
26990 (uri (git-reference
26991 (url "https://github.com/Fuco1/elisp-docstring-mode")
26992 (commit commit)))
26993 (file-name (git-file-name name version))
26994 (sha256
26995 (base32
26996 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
26997 (build-system emacs-build-system)
26998 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
26999 (synopsis "Major mode for editing Emacs Lisp docstrings")
27000 (description "This package provides font lock and automatic escaping and
27001 unescaping of quotes.")
27002 (license license:gpl3+))))
27003
27004 (define-public emacs-vimrc-mode
27005 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
27006 (version "0.3.1")
27007 (revision "1"))
27008 (package
27009 (name "emacs-vimrc-mode")
27010 (version (git-version version revision commit))
27011 (source
27012 (origin
27013 (method git-fetch)
27014 (uri (git-reference
27015 (url "https://github.com/mcandre/vimrc-mode")
27016 (commit commit)))
27017 (file-name (git-file-name name version))
27018 (sha256
27019 (base32
27020 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
27021 (build-system emacs-build-system)
27022 (home-page "https://github.com/mcandre/vimrc-mode")
27023 (synopsis "Major mode for Vimscript")
27024 (description "This package provides font lock and @code{beginning-} and
27025 @code{end-of-defun} functions for Vimscript files.")
27026 (license license:gpl3+))))
27027
27028 (define-public emacs-flycheck-elm
27029 (let ((revision "0")
27030 (commit "1b60050efd4729bfba548f3e5adbcb58436667cb"))
27031 (package
27032 (name "emacs-flycheck-elm")
27033 (version (git-version "0" revision commit))
27034 (source
27035 (origin
27036 (method git-fetch)
27037 (uri
27038 (git-reference
27039 (url "https://github.com/bsermons/flycheck-elm")
27040 (commit commit)))
27041 (file-name (git-file-name name version))
27042 (sha256
27043 (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms"))))
27044 (build-system emacs-build-system)
27045 (propagated-inputs
27046 (list emacs-flycheck emacs-let-alist))
27047 (home-page "https://github.com/bsermons/flycheck-elm")
27048 (synopsis "Flycheck support for the Elm language")
27049 (description "Flycheck Elm adds Flycheck support for Elm language.")
27050 (license license:gpl3+))))
27051
27052 (define-public emacs-flycheck-haskell
27053 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
27054 (revision "2"))
27055 (package
27056 (name "emacs-flycheck-haskell")
27057 (version (git-version "0.8" revision commit))
27058 (source
27059 (origin
27060 (method git-fetch)
27061 (uri (git-reference
27062 (url "https://github.com/flycheck/flycheck-haskell")
27063 (commit commit)))
27064 (file-name (git-file-name name version))
27065 (sha256
27066 (base32
27067 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
27068 (build-system emacs-build-system)
27069 (propagated-inputs
27070 (list emacs-dash emacs-flycheck emacs-haskell-mode emacs-let-alist))
27071 (arguments
27072 `(#:include '("\\.el$" "\\.hs$")))
27073 (home-page "https://github.com/flycheck/flycheck-haskell")
27074 (synopsis "Flycheck for Haskell")
27075 (description "This package configures syntax-checking for Haskell
27076 buffers.")
27077 (license license:gpl3+))))
27078
27079 (define-public emacs-js2-refactor-el
27080 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
27081 (revision "2"))
27082 (package
27083 (name "emacs-js2-refactor-el")
27084 (version (git-version "0.9.0" revision commit))
27085 (source
27086 (origin
27087 (method git-fetch)
27088 (uri (git-reference
27089 (url "https://github.com/magnars/js2-refactor.el")
27090 (commit commit)))
27091 (file-name (git-file-name name version))
27092 (sha256
27093 (base32
27094 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
27095 (build-system emacs-build-system)
27096 (propagated-inputs
27097 (list emacs-dash emacs-s emacs-js2-mode emacs-yasnippet
27098 emacs-multiple-cursors))
27099 (native-inputs
27100 (list emacs-buttercup emacs-espuds))
27101 (home-page "https://github.com/magnars/js2-refactor.el")
27102 (synopsis "JavaScript refactoring in Emacs")
27103 (description "This package provides various refactoring functions for
27104 JavaScript.")
27105 (license license:gpl3+))))
27106
27107 (define-public emacs-prettier
27108 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
27109 (version "0.1.0")
27110 (revision "1"))
27111 (package
27112 (name "emacs-prettier")
27113 (version (git-version version revision commit))
27114 (source
27115 (origin
27116 (method git-fetch)
27117 (uri (git-reference
27118 (url "https://github.com/prettier/prettier-emacs")
27119 (commit commit)))
27120 (file-name (git-file-name name version))
27121 (sha256
27122 (base32
27123 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
27124 (build-system emacs-build-system)
27125 (home-page "https://github.com/prettier/prettier-emacs")
27126 (synopsis "Automatic formatting of JavaScript code")
27127 (description "This package integrates Prettier with Emacs, and
27128 provides a minor mode that autoformats the buffer upon saving.")
27129 (license license:expat))))
27130
27131 (define-public emacs-fish-mode
27132 (package
27133 (name "emacs-fish-mode")
27134 (version "0.1.6")
27135 (source
27136 (origin
27137 (method git-fetch)
27138 (uri (git-reference
27139 (url "https://github.com/wwwjfy/emacs-fish")
27140 (commit version)))
27141 (file-name (git-file-name name version))
27142 (sha256
27143 (base32
27144 "1spxxkji9xa930sbwvzyjm8jrqk9ra0xqhivw7zd12a4c56nhna9"))))
27145 (build-system emacs-build-system)
27146 (home-page "https://github.com/wwwjfy/emacs-fish")
27147 (synopsis "Major mode for Fish shell scripts")
27148 (description "This package provides syntax highlighting and indentation
27149 functions for Fish shell scripts.")
27150 (license license:gpl3+)))
27151
27152 (define-public emacs-eshell-up
27153 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
27154 (version "0.0.3")
27155 (revision "12"))
27156 (package
27157 (name "emacs-eshell-up")
27158 (version (git-version version revision commit))
27159 (source
27160 (origin
27161 (method git-fetch)
27162 (uri (git-reference
27163 (url "https://github.com/peterwvj/eshell-up")
27164 (commit commit)))
27165 (file-name (git-file-name name version))
27166 (sha256
27167 (base32
27168 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
27169 (build-system emacs-build-system)
27170 (home-page "https://github.com/peterwvj/eshell-up")
27171 (synopsis "Quickly go to a parent directory in @code{Eshell}")
27172 (description "This package provides quick navigation to a specific
27173 parent directory using @code{Eshell}.")
27174 (license license:gpl3+))))
27175
27176 (define-public emacs-springboard
27177 ;; Upstream provides no tag. Using the latest commit. Version is extracted
27178 ;; from "Version:" keyword.
27179 (let ((commit "687d1e5898a880878995dc9bffe93b4598366203")
27180 (version "1.0")
27181 (revision "1"))
27182 (package
27183 (name "emacs-springboard")
27184 (version (git-version version revision commit))
27185 (source
27186 (origin
27187 (method git-fetch)
27188 (uri (git-reference
27189 (url "https://github.com/jwiegley/springboard")
27190 (commit commit)))
27191 (file-name (git-file-name name version))
27192 (sha256
27193 (base32 "0fn8c4hqblfjvcpg68kj2dmdjqsdnxddqbzgvakl43zckjg8pi01"))))
27194 (build-system emacs-build-system)
27195 (propagated-inputs
27196 (list emacs-helm emacs-ivy))
27197 (home-page "https://github.com/jwiegley/springboard")
27198 (synopsis "Change the Emacs default directory quickly")
27199 (description
27200 "This Emacs package provides a quick way to change the default
27201 directory for only the next invoked command. The directory selection can be
27202 done using Helm, Ido or Ivy.")
27203 (license license:gpl2+))))
27204
27205 (define-public emacs-tco-el
27206 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
27207 (revision "1"))
27208 (package
27209 (name "emacs-tco-el")
27210 (version (git-version "0.3" revision commit))
27211 (source
27212 (origin
27213 (method git-fetch)
27214 (uri (git-reference
27215 (url "https://github.com/Wilfred/tco.el")
27216 (commit commit)))
27217 (file-name (git-file-name name version))
27218 (sha256
27219 (base32
27220 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
27221 (build-system emacs-build-system)
27222 (propagated-inputs
27223 (list emacs-dash))
27224 (native-inputs
27225 (list emacs-ert-runner emacs-undercover))
27226 (arguments
27227 `(#:tests? #t
27228 #:test-command '("ert-runner")))
27229 (home-page "https://github.com/Wilfred/tco.el")
27230 (synopsis "Tail-call optimization for Emacs Lisp")
27231 (description "This package provides tail-call optimization for Emacs
27232 Lisp functions that call themselves in tail position.")
27233 (license license:gpl3+))))
27234
27235 (define-public emacs-equake
27236 ;; Upstream provides no tagged releases, but the commit below matches an
27237 ;; exact release.
27238 (let ((commit "4d6ef75a4d91ded22caad220909518ccb67b7b87"))
27239 (package
27240 (name "emacs-equake")
27241 (version "0.985")
27242 (source
27243 (origin
27244 (method git-fetch)
27245 (uri (git-reference
27246 (url "https://gitlab.com/emacsomancer/equake")
27247 (commit commit)))
27248 (file-name (git-file-name name version))
27249 (sha256
27250 (base32 "11xfr71y78idcn461p4pz7b0k01nhz15cyl97bjqq6ii5xhbhvdx"))))
27251 (build-system emacs-build-system)
27252 (propagated-inputs
27253 (list emacs-dash))
27254 (home-page "https://gitlab.com/emacsomancer/equake/")
27255 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
27256 (description "This package provides a Quake-style drop-down console
27257 compatible with Emacs' shell modes.")
27258 (license license:gpl3+))))
27259
27260 (define-public emacs-vdiff
27261 ;; There is no proper tag, but the commit below matches the version bump.
27262 (let ((commit "007e44be19d068fd6b49874b6e9b8df8b1f552bd"))
27263 (package
27264 (name "emacs-vdiff")
27265 (version "0.2.4")
27266 (source
27267 (origin
27268 (method git-fetch)
27269 (uri (git-reference
27270 (url "https://github.com/justbur/emacs-vdiff")
27271 (commit commit)))
27272 (file-name (git-file-name name version))
27273 (sha256
27274 (base32 "197xrwph1llrzjgkhlvagiwdgfp68pb45w5afg89ndahpqc2725s"))))
27275 (build-system emacs-build-system)
27276 (propagated-inputs
27277 (list emacs-hydra))
27278 (arguments
27279 `(#:tests? #t
27280 #:test-command '("emacs" "-Q" "-batch" "-L" "."
27281 "-l" "vdiff-test.el"
27282 "-f" "ert-run-tests-batch-and-exit")))
27283 (home-page "https://github.com/justbur/emacs-vdiff/")
27284 (synopsis "Frontend for diffing based on vimdiff")
27285 (description
27286 "This package permits comparisons of two or three buffers based on diff
27287 output.")
27288 (license license:gpl3+))))
27289
27290 (define-public emacs-vdiff-magit
27291 ;; Need to use a more recent commit than the latest release version because
27292 ;; of Magit and Transient
27293 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
27294 (version "0.3.2")
27295 (revision "8"))
27296 (package
27297 (name "emacs-vdiff-magit")
27298 (version (git-version version revision commit))
27299 (source
27300 (origin
27301 (method git-fetch)
27302 (uri (git-reference
27303 (url "https://github.com/justbur/emacs-vdiff-magit/")
27304 (commit commit)))
27305 (file-name (git-file-name name version))
27306 (sha256
27307 (base32
27308 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
27309 (build-system emacs-build-system)
27310 (propagated-inputs (list emacs-vdiff emacs-magit))
27311 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
27312 (synopsis "Frontend for diffing based on vimdiff")
27313 (description "This package permits comparisons of two or three buffers
27314 based on diff output.")
27315 (license license:gpl3+))))
27316
27317 (define-public emacs-all-the-icons-dired
27318 (package
27319 (name "emacs-all-the-icons-dired")
27320 (version "2.0")
27321 (source
27322 (origin
27323 (method git-fetch)
27324 (uri (git-reference
27325 (url "https://github.com/wyuenho/all-the-icons-dired")
27326 (commit version)))
27327 (file-name (git-file-name name version))
27328 (sha256
27329 (base32
27330 "1shla7nyhml9m3g81p6yy8k4pdq289gb42900xzfp7zl4qvnm2vy"))))
27331 (build-system emacs-build-system)
27332 (propagated-inputs
27333 (list emacs-all-the-icons))
27334 (home-page "https://github.com/wyuenho/all-the-icons-dired")
27335 (synopsis "Show icons for each file in @code{dired-mode}")
27336 (description "This package allows icons from @file{all-the-icons.el} to
27337 be used in @code{dired-mode}.")
27338 (license license:gpl3+)))
27339
27340 (define-public emacs-all-the-icons-ibuffer
27341 (package
27342 (name "emacs-all-the-icons-ibuffer")
27343 (version "1.3.0")
27344 (source
27345 (origin
27346 (method git-fetch)
27347 (uri (git-reference
27348 (url "https://github.com/seagle0128/all-the-icons-ibuffer")
27349 (commit (string-append"v" version))))
27350 (file-name (git-file-name name version))
27351 (sha256
27352 (base32
27353 "1c1fkkwzxxa90fd5q5x6xlj48p8rhj4bs7h8wxx41w6wsggk2fm2"))))
27354 (build-system emacs-build-system)
27355 (propagated-inputs
27356 (list emacs-all-the-icons))
27357 (home-page "https://github.com/seagle0128/all-the-icons-ibuffer")
27358 (synopsis "Display icons for all buffers in ibuffer")
27359 (description
27360 "This package uses @code{emacs-all-the-icons} to display icons in Ibuffer
27361 buffers.")
27362 (license license:gpl3+)))
27363
27364 (define-public emacs-exwm-edit
27365 (let ((commit "e1291e311840f1049106fe98cec032a1c75efd2b")
27366 (version "0.0.1")
27367 (revision "3"))
27368 (package
27369 (name "emacs-exwm-edit")
27370 (version (git-version version revision commit))
27371 (source
27372 (origin
27373 (method git-fetch)
27374 (uri (git-reference
27375 (url "https://github.com/agzam/exwm-edit/")
27376 (commit commit)))
27377 (file-name (git-file-name name version))
27378 (sha256
27379 (base32
27380 "031cb8fvv5n30djr9lpl6vz3rl15zykfvjlgkjc8l33a3l5mw8j0"))))
27381 (build-system emacs-build-system)
27382 (propagated-inputs
27383 (list emacs-exwm))
27384 (home-page "https://github.com/agzam/exwm-edit/")
27385 (synopsis "Open temp buffers for editing text from EXWM buffers")
27386 (description "This package facilitates editing text from EXWM buffers by
27387 generating a temp buffer in which any useful Emacs utilities and modes can be
27388 invoked.")
27389 (license license:gpl3+))))
27390
27391 (define-public emacs-ert-async
27392 (package
27393 (name "emacs-ert-async")
27394 (version "0.1.2")
27395 (source
27396 (origin
27397 (method git-fetch)
27398 (uri (git-reference
27399 (url "https://github.com/rejeep/ert-async.el")
27400 (commit (string-append "v" version))))
27401 (file-name (git-file-name name version))
27402 (sha256
27403 (base32
27404 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
27405 (build-system emacs-build-system)
27406 (home-page "https://github.com/rejeep/ert-async.el")
27407 (synopsis "Async support for ERT")
27408 (description "This package allows ERT to work with asynchronous tests.")
27409 (license license:gpl3+)))
27410
27411 (define-public emacs-prodigy-el
27412 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
27413 (revision "2"))
27414 (package
27415 (name "emacs-prodigy-el")
27416 (version (git-version "0.7.0" revision commit))
27417 (source
27418 (origin
27419 (method git-fetch)
27420 (uri (git-reference
27421 (url "https://github.com/rejeep/prodigy.el")
27422 (commit commit)))
27423 (file-name (git-file-name name version))
27424 (sha256
27425 (base32
27426 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
27427 (build-system emacs-build-system)
27428 (propagated-inputs
27429 (list emacs-dash emacs-s emacs-f))
27430 (native-inputs
27431 (list emacs-el-mock emacs-ert-async))
27432 (home-page "https://github.com/rejeep/prodigy.el")
27433 (synopsis "Manage external services from within Emacs")
27434 (description "This package provides a GUI for defining and monitoring services.")
27435 (license license:gpl3+))))
27436
27437 (define-public emacs-web-server
27438 (package
27439 (name "emacs-web-server")
27440 (version "0.1.2")
27441 (source
27442 (origin
27443 (method url-fetch)
27444 (uri (string-append "https://elpa.gnu.org/packages/"
27445 "web-server-" version ".tar"))
27446 (sha256
27447 (base32 "10lcsl4dg2yr9zjd99gq9jz150wvvh6r5y9pd88l8y9vz16f2lim"))))
27448 (build-system emacs-build-system)
27449 (home-page "https://github.com/eschulte/emacs-web-server/")
27450 (synopsis "Web server with handlers in Emacs Lisp")
27451 (description "This package supports HTTP GET and POST requests with
27452 url-encoded parameters, as well as web sockets.")
27453 (license license:gpl3+)))
27454
27455 (define-public emacs-markdown-preview-mode
27456 (package
27457 (name "emacs-markdown-preview-mode")
27458 (version "0.9.4")
27459 (source
27460 (origin
27461 (method git-fetch)
27462 (uri (git-reference
27463 (url "https://github.com/ancane/markdown-preview-mode")
27464 (commit (string-append "v" version))))
27465 (file-name (git-file-name name version))
27466 (sha256
27467 (base32
27468 "0a0qskhy6jil583hq3mgbzdsi3m1schzyzrd46yfxdsvqiczg170"))))
27469 (build-system emacs-build-system)
27470 (propagated-inputs
27471 (list emacs-markdown-mode emacs-websocket emacs-web-server))
27472 (arguments '(#:include '("\\.el$" "\\.html$")))
27473 (home-page "https://github.com/ancane/markdown-preview-mode")
27474 (synopsis "Preview Markdown files")
27475 (description "This package provides a minor mode for preview of Markdown
27476 files, and sends rendered Markdown to a web browser.")
27477 (license license:gpl3+)))
27478
27479 (define-public emacs-dotenv-mode
27480 (package
27481 (name "emacs-dotenv-mode")
27482 (version "0.2.5")
27483 (source
27484 (origin
27485 (method git-fetch)
27486 (uri (git-reference
27487 (url "https://github.com/preetpalS/emacs-dotenv-mode")
27488 (commit (string-append "v" version))))
27489 (file-name (git-file-name name version))
27490 (sha256
27491 (base32
27492 "0ys1czramj3c8zbnxxc599bqc0nqp3nnn3n45ac9cjglx5iaydq3"))))
27493 (build-system emacs-build-system)
27494 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
27495 (synopsis "Major mode for @file{.env} files")
27496 (description "This package provides syntax highlighting for @file{.env}
27497 files.")
27498 (license license:gpl3+)))
27499
27500 (define-public emacs-add-node-modules-path
27501 (package
27502 (name "emacs-add-node-modules-path")
27503 (version "1.3.1")
27504 (source
27505 (origin
27506 (method git-fetch)
27507 (uri (git-reference
27508 (url "https://github.com/codesuki/add-node-modules-path")
27509 (commit version)))
27510 (file-name (git-file-name name version))
27511 (sha256
27512 (base32
27513 "09vf921dh6lawh14rk02gjsvz88x9vd1c68ilf2fzkap5dh61dy5"))))
27514 (build-system emacs-build-system)
27515 (propagated-inputs (list emacs-s))
27516 (home-page "https://github.com/codesuki/add-node-modules-path")
27517 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
27518 (description "This package searches the parent directories of the
27519 current file for the project's @file{node_modules/.bin/} directory, allowing
27520 Emacs to find project-specific installations of packages.")
27521 (license license:expat)))
27522
27523 (define-public emacs-flow-minor-mode
27524 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
27525 (version "0.3")
27526 (revision "4"))
27527 (package
27528 (name "emacs-flow-minor-mode")
27529 (version (git-version version revision commit))
27530 (source
27531 (origin
27532 (method git-fetch)
27533 (uri (git-reference
27534 (url "https://github.com/an-sh/flow-minor-mode")
27535 (commit commit)))
27536 (file-name (git-file-name name version))
27537 (sha256
27538 (base32
27539 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
27540 (build-system emacs-build-system)
27541 (home-page "https://github.com/an-sh/flow-minor-mode")
27542 (synopsis "Minor mode for JavaScript Flow files")
27543 (description "This package integrates Flow with Emacs, allowing for
27544 definition-jumping and type-checking on demand.")
27545 (license license:bsd-3))))
27546
27547 (define-public emacs-rjsx-mode
27548 (package
27549 (name "emacs-rjsx-mode")
27550 (version "0.5.0")
27551 (source
27552 (origin
27553 (method git-fetch)
27554 (uri (git-reference
27555 (url "https://github.com/felipeochoa/rjsx-mode")
27556 (commit (string-append "v" version))))
27557 (file-name (git-file-name name version))
27558 (sha256
27559 (base32
27560 "08b4hdgq4hc1yfd9pvyir2j3cqqdqa3j5svgaba97x5fzhsz7y8i"))))
27561 (build-system emacs-build-system)
27562 (propagated-inputs
27563 (list emacs-js2-mode))
27564 (arguments
27565 `(#:tests? #t
27566 #:test-command '("make" "test")))
27567 (home-page "https://github.com/felipeochoa/rjsx-mode")
27568 (synopsis "Major mode for JSX files")
27569 (description "This package extends the parser of @code{js2-mode} to
27570 support JSX syntax.")
27571 (license license:expat)))
27572
27573 (define-public emacs-origami-el
27574 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
27575 (version "1.0")
27576 (revision "1"))
27577 (package
27578 (name "emacs-origami-el")
27579 (version (git-version version revision commit))
27580 (source
27581 (origin
27582 (method git-fetch)
27583 (uri (git-reference
27584 (url "https://github.com/gregsexton/origami.el")
27585 (commit commit)))
27586 (file-name (git-file-name name version))
27587 (sha256
27588 (base32
27589 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
27590 (build-system emacs-build-system)
27591 (propagated-inputs
27592 (list emacs-dash emacs-s))
27593 (home-page "https://github.com/gregsexton/origami.el")
27594 (synopsis "Flexible text-folding")
27595 (description "This package provides a minor mode for collapsing and
27596 expanding regions of text without modifying the actual contents.")
27597 (license license:expat))))
27598
27599 (define-public emacs-peep-dired
27600 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
27601 (version "0")
27602 (revision "1"))
27603 (package
27604 (name "emacs-peep-dired")
27605 (version (git-version version revision commit))
27606 (source
27607 (origin
27608 (method git-fetch)
27609 (uri (git-reference
27610 (url "https://github.com/asok/peep-dired")
27611 (commit commit)))
27612 (file-name (git-file-name name version))
27613 (sha256
27614 (base32
27615 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
27616 (build-system emacs-build-system)
27617 (home-page "https://github.com/asok/peep-dired")
27618 (synopsis "Preview files in another window")
27619 (description "This package provides a minor mode that allows files to be
27620 previewed by scrolling up and down within a @code{dired} buffer.")
27621 (license license:gpl3+))))
27622
27623 (define-public emacs-counsel-etags
27624 (package
27625 (name "emacs-counsel-etags")
27626 (version "1.10.1")
27627 (source
27628 (origin
27629 (method git-fetch)
27630 (uri (git-reference
27631 (url "https://github.com/redguardtoo/counsel-etags")
27632 (commit version)))
27633 (file-name (git-file-name name version))
27634 (sha256
27635 (base32 "1v77lpp0nij1rjg2k9wj42kqk7xqg1dzs9vmadha6f2j8j6375m8"))))
27636 (build-system emacs-build-system)
27637 (propagated-inputs
27638 (list emacs-counsel))
27639 (arguments
27640 `(#:tests? #f ;require internet access
27641 #:test-command '("make test")))
27642 (home-page "https://github.com/redguardtoo/counsel-etags")
27643 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
27644 (description "This package uses @code{ivy-mode} to facilitate navigating
27645 and searching through @code{Ctags} files.")
27646 (license license:gpl3+)))
27647
27648 (define-public emacs-ivy-clipmenu
27649 (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
27650 (package
27651 (name "emacs-ivy-clipmenu")
27652 (version (git-version "0.0.1" "1" commit))
27653 (source (origin
27654 (method git-fetch)
27655 (uri (git-reference
27656 (url "https://github.com/wpcarro/ivy-clipmenu.el")
27657 (commit commit)))
27658 (file-name (git-file-name name version))
27659 (sha256
27660 (base32
27661 "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
27662 (propagated-inputs
27663 (list emacs-f emacs-ivy))
27664 (build-system emacs-build-system)
27665 (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
27666 (synopsis "Ivy integration with clipmenu")
27667 (description "Ivy integration with the clipboard manager, clipmenu.")
27668 (license license:expat))))
27669
27670 (define-public emacs-org-download
27671 (let ((commit "42ac361ef5502017e6fc1bceb00333eba90402f4")
27672 (revision "3"))
27673 (package
27674 (name "emacs-org-download")
27675 (version (git-version "0.1.0" revision commit))
27676 (source (origin
27677 (method git-fetch)
27678 (uri (git-reference
27679 (url "https://github.com/abo-abo/org-download")
27680 (commit commit)))
27681 (file-name (git-file-name name version))
27682 (sha256
27683 (base32 "0cg4y7hy7xbq4vrbdicfzgvyaf3cjbx2zkqd4yl0y2garz71j99l"))))
27684 (build-system emacs-build-system)
27685 (propagated-inputs
27686 (list emacs-org emacs-async))
27687 (home-page "https://github.com/abo-abo/org-download")
27688 (synopsis "Facilitate moving images")
27689 (description "This package provides utilities for managing image files
27690 copied into @code{org-mode} buffers.")
27691 (license license:gpl3+))))
27692
27693 (define-public emacs-org-drill-table
27694 ;; No releases or tags.
27695 (let ((commit "096387d929bcf3eb479e0a9d5da9cf32c756a759")
27696 (revision "0"))
27697 (package
27698 (name "emacs-org-drill-table")
27699 (version (git-version "0.1" revision commit))
27700 (source
27701 (origin
27702 (method git-fetch)
27703 (uri (git-reference
27704 (url "https://github.com/chrisbarrett/org-drill-table.git")
27705 (commit commit)))
27706 (file-name (git-file-name name version))
27707 (sha256
27708 (base32 "1a8ygrcag8i9hdpy2vsn0sh8lwhl9b56rv91j3rddy1jv5qx1ipb"))))
27709 (build-system emacs-build-system)
27710 (propagated-inputs
27711 (list emacs-dash emacs-org emacs-s))
27712 (home-page "https://github.com/chrisbarrett/org-drill-table")
27713 (synopsis "Generate Org drill cards using Org mode tables")
27714 (description
27715 "This package generates drill cards based on an Org mode table in the
27716 current subtree. The cards are inserted under a new ``Cards'' heading in the
27717 current tree.")
27718 (license license:gpl3+))))
27719
27720 (define-public emacs-dash-docs
27721 (let ((commit "dafc8fc9f1ddb2e4e39e0b8d066c42d5d7ce8d06")
27722 (revision "2"))
27723 (package
27724 (name "emacs-dash-docs")
27725 (version (git-version "1.4.0" revision commit))
27726 (source
27727 (origin
27728 (method git-fetch)
27729 (uri (git-reference
27730 (url "https://github.com/dash-docs-el/dash-docs")
27731 (commit commit)))
27732 (file-name (git-file-name name version))
27733 (sha256
27734 (base32
27735 "0n6d3mm43gj16v8kjjradcfik93wb89dsqnfcbskb28bvcamafid"))))
27736 (build-system emacs-build-system)
27737 (propagated-inputs
27738 (list emacs-async))
27739 (native-inputs
27740 (list emacs-undercover emacs-ert-runner))
27741 (arguments
27742 `(#:tests? #t
27743 #:test-command '("ert-runner")
27744 #:phases
27745 ;; this test requires network access, so remove it
27746 (modify-phases %standard-phases
27747 (add-before 'check 'make-tests-writable
27748 (lambda _
27749 (make-file-writable "test/dash-docs-test.el")
27750 #t))
27751 (add-before 'check 'delete-test
27752 (lambda _
27753 (emacs-batch-edit-file "test/dash-docs-test.el"
27754 `(progn (progn
27755 (goto-char (point-min))
27756 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
27757 (beginning-of-line)
27758 (kill-sexp))
27759 (basic-save-buffer)))
27760 #t)))))
27761 (home-page "https://github.com/dash-docs-el/dash-docs")
27762 (synopsis "Offline documentation browser for APIs using Dash docsets")
27763 (description "This package exposes functionality to work with Dash docsets.")
27764 (license license:gpl3+))))
27765
27766 (define-public emacs-helm-dash
27767 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
27768 (revision "2"))
27769 (package
27770 (name "emacs-helm-dash")
27771 (version (git-version "1.3.0" revision commit))
27772 (source
27773 (origin
27774 (method git-fetch)
27775 (uri (git-reference
27776 (url "https://github.com/areina/helm-dash")
27777 (commit commit)))
27778 (file-name (git-file-name name version))
27779 (sha256
27780 (base32
27781 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
27782 (build-system emacs-build-system)
27783 (propagated-inputs
27784 (list emacs-helm emacs-dash-docs))
27785 (home-page "https://github.com/areina/helm-dash")
27786 (synopsis "Offline documentation browser for APIs using Dash docsets")
27787 (description "This package uses Helm to install and navigate through
27788 Dash docsets.")
27789 (license license:gpl3+))))
27790
27791 (define-public emacs-counsel-dash
27792 (let ((commit "370d5f6f14b5294d0eb717f7b2a6a8e93df1ed24")
27793 (revision "4"))
27794 (package
27795 (name "emacs-counsel-dash")
27796 (version (git-version "0.1.3" revision commit))
27797 (source
27798 (origin
27799 (method git-fetch)
27800 (uri (git-reference
27801 (url "https://github.com/dash-docs-el/counsel-dash")
27802 (commit commit)))
27803 (file-name (git-file-name name version))
27804 (sha256
27805 (base32 "1fn38vbz46ijarjvhgw7iy7dj9s2a2miy95fyy9f8b5sj8nrdfvz"))))
27806 (build-system emacs-build-system)
27807 (propagated-inputs
27808 (list emacs-counsel emacs-dash-docs))
27809 (home-page "https://github.com/dash-docs-el/counsel-dash")
27810 (synopsis "Offline documentation browser for APIs using Dash docsets")
27811 (description "This package uses @code{ivy-mode} to install and navigate
27812 through Dash docsets.")
27813 (license license:expat))))
27814
27815 (define-public emacs-devdocs
27816 (package
27817 (name "emacs-devdocs")
27818 (version "0.5")
27819 (source
27820 (origin
27821 (method url-fetch)
27822 (uri (string-append
27823 "https://elpa.gnu.org/packages/"
27824 "devdocs-" version ".tar"))
27825 (sha256
27826 (base32 "0qyp8lhf76yv2ym7cryvygvf2m9jah5nsl1g79gqjrsin6vlhqka"))))
27827 (build-system emacs-build-system)
27828 (home-page "https://github.com/astoff/devdocs.el")
27829 (synopsis "Emacs viewer for DevDocs")
27830 (description
27831 "This package provides a documentation viewer similar to Emacs's
27832 built-in Info browser, but geared towards documentation obtained from
27833 @url{https://devdocs.io}.")
27834 (license license:gpl3+)))
27835
27836 (define-public emacs-cascading-dir-locals
27837 (let ((release "0.1")
27838 (revision "0")
27839 (commit "efdf5e6d62b955ee0ca3c170eae1d388799f9fa0"))
27840 (package
27841 (name "emacs-cascading-dir-locals")
27842 (version (git-version release revision commit))
27843 (home-page "https://github.com/fritzgrabo/cascading-dir-locals")
27844 (source
27845 (origin
27846 (method git-fetch)
27847 (uri (git-reference
27848 (url home-page)
27849 (commit commit)))
27850 (file-name (git-file-name name version))
27851 (sha256
27852 (base32 "1jwd99kk5l588n7wwi1x3b4bgimm66x1icna3n20pwaj49kf0zy8"))))
27853 (build-system emacs-build-system)
27854 (synopsis "Apply all @file{.dir-locals.el} from root to current directory")
27855 (description
27856 "This package provides a global minor mode that changes how Emacs
27857 handles the lookup of applicable dir-locals files (@file{.dir-locals.el}):
27858 instead of starting at the directory of the visited file and moving up the
27859 directory tree only until a first dir-locals file is found, collect and apply
27860 all (!) dir-locals files found from the current directory up to the root one.
27861
27862 Values specified in files nearer to the current directory take precedence over
27863 values in files farther away from it.
27864
27865 You might want to use this to globally set dir-local variables that apply to
27866 all of your projects, then override or add variables on a per-project basis.")
27867 (license license:gpl3+))))
27868
27869 (define-public emacs-calibredb
27870 (package
27871 (name "emacs-calibredb")
27872 (version "2.12.0")
27873 (source
27874 (origin
27875 (method git-fetch)
27876 (uri (git-reference
27877 (url "https://github.com/chenyanming/calibredb.el")
27878 (commit version)))
27879 (file-name (git-file-name name version))
27880 (sha256
27881 (base32 "1l30s3wv21mpybbxni5fziq2awai9k60i87s6fid56hg262r7jp0"))))
27882 (build-system emacs-build-system)
27883 (arguments
27884 (list
27885 #:phases
27886 #~(modify-phases %standard-phases
27887 (add-after 'unpack 'patch-paths
27888 (lambda* (#:key inputs #:allow-other-keys)
27889 (make-file-writable "calibredb-core.el")
27890 (let ((calibredb (search-input-file inputs "/bin/calibredb"))
27891 (fetch-ebook-metadata
27892 (search-input-file inputs "/bin/fetch-ebook-metadata")))
27893 (emacs-substitute-variables "calibredb-core.el"
27894 ("calibredb-fetch-metadata-program" fetch-ebook-metadata)
27895 ("calibredb-program" calibredb))))))))
27896 (inputs
27897 (list calibre))
27898 (propagated-inputs
27899 (list emacs-dash emacs-esxml emacs-s))
27900 (home-page "https://github.com/chenyanming/calibredb.el")
27901 (synopsis "Yet another calibre client for Emacs")
27902 (description "This package integrates calibre into Emacs.
27903 @enumerate
27904 @item Powerful ebook dashboard.
27905 @item Manage ebooks, actually not only ebooks!
27906 @item Manage Ebook libraries.
27907 @item Another bookmarks solution, by setting the tags and comments.
27908 @item Quick search, filter, make actions on items with ivy and helm.
27909 @item Org-ref support.
27910 @end enumerate")
27911 (license license:gpl3)))
27912
27913 (define-public emacs-el-patch
27914 (package
27915 (name "emacs-el-patch")
27916 (version "3.0")
27917 (source
27918 (origin
27919 (method git-fetch)
27920 (uri (git-reference
27921 (url "https://github.com/raxod502/el-patch")
27922 (commit version)))
27923 (file-name (git-file-name name version))
27924 (sha256
27925 (base32 "0qkx7f19kl85n56bp3q40200a6ynpkhimcnb3k6x4n6idn6ff2pa"))))
27926 (build-system emacs-build-system)
27927 (home-page "https://github.com/raxod502/el-patch")
27928 (synopsis "Future-proof your Emacs customizations")
27929 (description "This package allows for an alternate definition of an Elisp
27930 function to be specified and for any differences from the original definition
27931 to be examined using Ediff.")
27932 (license license:expat)))
27933
27934 (define-public emacs-info-plus
27935 (let ((commit "29811edf7a71764ac343631facc00268d9483146")
27936 (revision "3"))
27937 (package
27938 (name "emacs-info-plus")
27939 (version (git-version "0" revision commit))
27940 (source
27941 (origin
27942 (method git-fetch)
27943 (uri (git-reference
27944 (url "https://github.com/emacsmirror/info-plus")
27945 (commit commit)))
27946 (file-name (git-file-name name version))
27947 (sha256
27948 (base32
27949 "0ayq7z6dbf43vczbkjm1l976hxcfrmw45nfywbf1kjpzl3viy4gy"))))
27950 (build-system emacs-build-system)
27951 (home-page "https://github.com/emacsmirror/info-plus")
27952 (synopsis "Extensions to @file{info.el}")
27953 (description "This package extends Emacs' @file{info.el} by allowing
27954 outline-enabled table of contents, additional metadata association for Info
27955 nodes, and more.")
27956 (license license:gpl2+))))
27957
27958 (define-public emacs-eval-in-repl
27959 (package
27960 (name "emacs-eval-in-repl")
27961 (version "0.9.7")
27962 (source
27963 (origin
27964 (method git-fetch)
27965 (uri (git-reference
27966 (url "https://github.com/kaz-yos/eval-in-repl")
27967 (commit (string-append "v" version))))
27968 (file-name (git-file-name name version))
27969 (sha256
27970 (base32 "1mrssbl0wyc6iij8zk1y3h9bd3rv53nnrxsij7fn67l1m4z0clyn"))))
27971 (build-system emacs-build-system)
27972 (arguments
27973 (list #:include
27974 #~(list "eval-in-repl\\.el" "eval-in-repl-test\\.el" "README\\.md")))
27975 (propagated-inputs (list emacs-dash emacs-paredit emacs-ace-window))
27976 (home-page "https://github.com/kaz-yos/eval-in-repl")
27977 (synopsis "One keybinding to communicate with REPLs")
27978 (description
27979 "@code{eval-in-repl} provides a consistent ESS-like evaluation interface
27980 for various REPLs. In particular, it mimics ESS' C-RET binding, which sends a
27981 line or region to an appropriately configured shell. This package provides
27982 just the core of @code{eval-in-repl}---for the languages themselves, see their
27983 respective packages.")
27984 (license license:expat)))
27985
27986 (define* (make-emacs-eval-in-repl repl #:key
27987 (eval-in-repl-package emacs-eval-in-repl)
27988 (language (string-capitalize repl))
27989 (inputs '()))
27990 "Construct an emacs-eval-in-repl package for REPL, which interprets LANGUAGE.
27991 Optionally propagate INPUTS or use a different EVAL-IN-REPL-PACKAGE."
27992 (package
27993 (inherit eval-in-repl-package)
27994 (name (string-append "emacs-eval-in-repl-" repl))
27995 (arguments
27996 (list #:include
27997 #~(list #$(string-append "eval-in-repl-" repl "\\.el"))))
27998 (propagated-inputs (cons* eval-in-repl-package
27999 (cond
28000 ((procedure? inputs) (inputs))
28001 ((promise? inputs) (force inputs))
28002 (else inputs))))
28003 (description
28004 (format #f (G_ "This package provides an ESS-like binding to send lines
28005 or regions to a REPL from ~a buffers.") language))))
28006
28007 (define-public emacs-eval-in-repl-cider
28008 (make-emacs-eval-in-repl "cider" #:language "Clojure"
28009 #:inputs (list emacs-cider)))
28010
28011 (define-public emacs-eval-in-repl-elm
28012 (make-emacs-eval-in-repl "elm" #:inputs (list emacs-elm-mode)))
28013
28014 (define-public emacs-eval-in-repl-erlang
28015 (make-emacs-eval-in-repl "erlang" #:inputs (delay (list emacs-erlang))))
28016
28017 (define-public emacs-eval-in-repl-geiser
28018 (make-emacs-eval-in-repl "geiser" #:language "Scheme"
28019 #:inputs (list emacs-geiser)))
28020
28021 (define-public emacs-eval-in-repl-hy
28022 (make-emacs-eval-in-repl "hy" #:inputs (list emacs-hy-mode)))
28023
28024 (define-public emacs-eval-in-repl-ielm
28025 (make-emacs-eval-in-repl "ielm" #:language "Emacs Lisp"))
28026
28027 (define-public emacs-eval-in-repl-iex
28028 (make-emacs-eval-in-repl
28029 "iex" #:language "Elixir"
28030 #:inputs (delay
28031 (list emacs-elixir-mode emacs-alchemist))))
28032
28033 (define-public emacs-eval-in-repl-javascript
28034 (make-emacs-eval-in-repl "javascript"
28035 #:inputs (list emacs-js2-mode emacs-js-comint)))
28036
28037 (define-public emacs-eval-in-repl-lua
28038 (make-emacs-eval-in-repl "lua" #:inputs (list emacs-lua-mode)))
28039
28040 (define-public emacs-eval-in-repl-ocaml
28041 (make-emacs-eval-in-repl "ocaml" #:language "OCaml"
28042 #:inputs (delay (list emacs-tuareg))))
28043
28044 (define-public emacs-eval-in-repl-prolog
28045 (make-emacs-eval-in-repl "prolog"))
28046
28047 (define-public emacs-eval-in-repl-python
28048 (make-emacs-eval-in-repl "python"))
28049
28050 (define-public emacs-eval-in-repl-racket
28051 (make-emacs-eval-in-repl "racket" #:inputs (list emacs-racket-mode)))
28052
28053 (define-public emacs-eval-in-repl-ruby
28054 (make-emacs-eval-in-repl "ruby" #:inputs (list emacs-inf-ruby)))
28055
28056 (define-public emacs-eval-in-repl-scheme
28057 (make-emacs-eval-in-repl "scheme"))
28058
28059 (define-public emacs-eval-in-repl-shell
28060 (make-emacs-eval-in-repl "shell"))
28061
28062 (define-public emacs-eval-in-repl-slime
28063 (make-emacs-eval-in-repl "slime" #:language "Common Lisp"
28064 #:inputs (list emacs-slime)))
28065
28066 (define-public emacs-eval-in-repl-sly
28067 (make-emacs-eval-in-repl "sly" #:language "Common Lisp"
28068 #:inputs (list emacs-sly)))
28069
28070 (define-public emacs-eval-in-repl-sml
28071 (make-emacs-eval-in-repl "sml" #:language "Standard ML"
28072 #:inputs (list emacs-sml-mode)))
28073
28074 (define-public emacs-ob-elm
28075 (let ((commit "d3a9fbc2f56416894c9aed65ea9a20cc1d98f15d")
28076 (revision "0"))
28077 (package
28078 (name "emacs-ob-elm")
28079 (version (git-version "0.0" revision commit))
28080 (source
28081 (origin
28082 (method git-fetch)
28083 (uri (git-reference
28084 (url "https://github.com/BonfaceKilz/ob-elm")
28085 (commit commit)))
28086 (file-name (git-file-name name version))
28087 (sha256
28088 (base32
28089 "1wdlr0cbsb2drdmcn2bnivjkj1f2v52l6yizwsnjgi4xq3w6k56h"))))
28090 (build-system emacs-build-system)
28091 (home-page "https://github.com/BonfaceKilz/ob-elm")
28092 (synopsis "Org-Babel support for Elm code")
28093 (description
28094 "This package adds support to Org-Babel for evaluating Elm code.")
28095 (license license:gpl3+))))
28096
28097 (define-public emacs-org-babel-eval-in-repl
28098 (package
28099 (name "emacs-org-babel-eval-in-repl")
28100 (version "1.6")
28101 (source
28102 (origin
28103 (method url-fetch)
28104 (uri (string-append "https://stable.melpa.org/packages/"
28105 "org-babel-eval-in-repl-" version ".tar"))
28106 (sha256
28107 (base32 "0bdnps6m3kcvsagz8cfm3kf2rvxzl2p252pfggwbdbl43kzvl35h"))
28108 (modules '((guix build utils)))
28109 (snippet
28110 #~(begin (delete-file "eval-in-repl-matlab.el")))))
28111 (build-system emacs-build-system)
28112 (propagated-inputs (list emacs-eval-in-repl emacs-ess))
28113 (home-page "https://github.com/diadochos/org-babel-eval-in-repl")
28114 (synopsis "Eval org-mode babel code blocks in various REPLs")
28115 (description
28116 "This package allows you to execute org-mode source code blocks with
28117 @code{eval-in-repl}. It can execute code blocks asynchronously, without
28118 needing to write the result into the buffer.")
28119 (license license:expat)))
28120
28121 (define-public emacs-eval-sexp-fu-el
28122 (package
28123 (name "emacs-eval-sexp-fu-el")
28124 (version "0.6.0")
28125 (source
28126 (origin
28127 (method git-fetch)
28128 (uri (git-reference
28129 (url "https://github.com/hchbaw/eval-sexp-fu.el")
28130 (commit (string-append "v" version))))
28131 (file-name (git-file-name name version))
28132 (sha256
28133 (base32
28134 "19rv0kwajq0j8inglp84sml23ci74wdcvp5bl6zxbw5skqpf6phr"))))
28135 (build-system emacs-build-system)
28136 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
28137 (synopsis "Enhancements for evaluating s-expressions")
28138 (description "This package provides provides variants of
28139 @code{eval-last-sexp} that work on the containing list or s-expression, as
28140 well as an option for visually flashing evaluated s-expressions.")
28141 (license license:gpl3+)))
28142
28143 (define-public emacs-counsel-tramp
28144 (package
28145 (name "emacs-counsel-tramp")
28146 (version "0.7.5")
28147 (source
28148 (origin
28149 (method git-fetch)
28150 (uri (git-reference
28151 (url "https://github.com/masasam/emacs-counsel-tramp")
28152 (commit version)))
28153 (file-name (git-file-name name version))
28154 (sha256
28155 (base32 "18qlwyjqxap2qfbz14ma6yqp4p3v4q2y8idc355s4szjdd2as2lr"))))
28156 (build-system emacs-build-system)
28157 (propagated-inputs
28158 (list emacs-counsel))
28159 (home-page "https://github.com/masasam/emacs-counsel-tramp")
28160 (synopsis "Ivy interface for TRAMP")
28161 (description
28162 "This package allows @code{ivy-mode} to display and filter SSH servers.")
28163 (license license:gpl3+)))
28164
28165 (define-public emacs-tramp
28166 (package
28167 (name "emacs-tramp")
28168 (version "2.5.3.3")
28169 (source
28170 (origin
28171 (method url-fetch)
28172 (uri (string-append "https://elpa.gnu.org/packages/"
28173 "tramp-" version ".tar"))
28174 (sha256
28175 (base32 "05w04qwk1lk50fzwl6fxyf6pb1jd2lx4as99zm1dpa858jab6w4a"))))
28176 (build-system emacs-build-system)
28177 (arguments
28178 (list
28179 #:emacs emacs ;need D-Bus
28180 #:phases
28181 #~(modify-phases %standard-phases
28182 ;; All but one "/bin/" directory refer to remote
28183 ;; environments, which may not be Guix. Do not patch them
28184 ;; blindly. However, local encoding shell has to be patched.
28185 (replace 'patch-el-files
28186 (lambda* (#:key inputs #:allow-other-keys)
28187 (emacs-substitute-variables "tramp.el"
28188 ("tramp-encoding-shell"
28189 (search-input-file inputs "/bin/sh"))))))))
28190 (inputs
28191 (list bash))
28192 (home-page "https://savannah.gnu.org/projects/tramp")
28193 (synopsis "Remote file editing package for Emacs")
28194 (description
28195 "Tramp stands for ``Transparent Remote (file) Access, Multiple
28196 Protocol''. This package provides remote file editing, using
28197 a combination of @command{rsh} and @command{rcp} or other work-alike
28198 programs, such as @command{ssh} and @command{scp}.")
28199 (license license:gpl3+)))
28200
28201 (define-public emacs-tramp-auto-auth
28202 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
28203 (package
28204 (name "emacs-tramp-auto-auth")
28205 (version (git-version "20191027" "1" commit))
28206 (source
28207 (origin
28208 (method git-fetch)
28209 (uri (git-reference
28210 (url "https://github.com/oitofelix/tramp-auto-auth")
28211 (commit commit)))
28212 (file-name (git-file-name name version))
28213 (sha256
28214 (base32
28215 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
28216 (build-system emacs-build-system)
28217 (home-page "https://github.com/oitofelix/tramp-auto-auth")
28218 (synopsis "TRAMP automatic authentication library")
28219 (description "This package provides @code{tramp-auto-auth-mode} Emacs
28220 global minor mode whose purpose is to automatically feed TRAMP sub-processes
28221 with passwords for paths matching regexps.")
28222 (license license:gpl3+))))
28223
28224 (define-public emacs-eacl
28225 (package
28226 (name "emacs-eacl")
28227 (version "2.2.0")
28228 (source
28229 (origin
28230 (method git-fetch)
28231 (uri (git-reference
28232 (url "https://github.com/redguardtoo/eacl")
28233 (commit version)))
28234 (file-name (git-file-name name version))
28235 (sha256
28236 (base32 "1d2krw9x1mw6jn1q07nbq2qi92fms85q3i9wa2q5drs3368l55vr"))))
28237 (build-system emacs-build-system)
28238 (propagated-inputs
28239 (list emacs-ivy))
28240 (home-page "https://github.com/redguardtoo/eacl")
28241 (synopsis "Auto-complete lines by using @code{grep} on a project")
28242 (description "This package provides auto-completion commands for single
28243 and multiple lines of code in a project.")
28244 (license license:gpl3+)))
28245
28246 (define-public emacs-semantic-refactor
28247 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
28248 ;; commits since then.
28249 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
28250 (package
28251 (name "emacs-semantic-refactor")
28252 (version (git-version "0.5" "1" commit))
28253 (source
28254 (origin
28255 (method git-fetch)
28256 (uri (git-reference
28257 (url "https://github.com/tuhdo/semantic-refactor")
28258 (commit commit)))
28259 (file-name (git-file-name name version))
28260 (sha256
28261 (base32
28262 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
28263 (build-system emacs-build-system)
28264 (home-page "https://github.com/tuhdo/semantic-refactor")
28265 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
28266 (description "This package provides a refactoring tool based on the
28267 Emacs Semantic parser framework. For C and C++ it supports operations such as:
28268
28269 @enumerate
28270 @item Generating class implementations
28271 @item Generating function prototypes
28272 @item Converting functions to function pointers
28273 @item Moving semantic units
28274 @item etc...
28275 @end enumerate
28276
28277 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
28278 as:
28279
28280 @enumerate
28281 @item Formatting the whole buffer
28282 @item Converting sexpressions to one or multiple lines
28283 @item etc...
28284 @end enumerate\n")
28285 (license license:gpl3+))))
28286
28287 (define-public emacs-nhexl-mode
28288 (package
28289 (name "emacs-nhexl-mode")
28290 (version "1.5")
28291 (source
28292 (origin
28293 (method url-fetch)
28294 (uri (string-append "https://elpa.gnu.org/packages/"
28295 "nhexl-mode-" version ".el"))
28296 (sha256
28297 (base32 "0qvxfg7sv4iqyjxzaim6b4v9k5hav36qd4vkf9jwzw6p5fri8w8d"))))
28298 (build-system emacs-build-system)
28299 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
28300 (synopsis "Minor mode to edit files via hex-dump format")
28301 (description
28302 "This package implements NHexl mode, a minor mode for editing files
28303 in hex dump format. The mode command is called @command{nhexl-mode}.
28304
28305 This minor mode implements similar functionality to @command{hexl-mode},
28306 but using a different implementation technique, which makes it
28307 usable as a \"plain\" minor mode. It works on any buffer, and does
28308 not mess with the undo log or with the major mode.
28309
28310 It also comes with:
28311
28312 @itemize
28313 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
28314 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
28315 (which only work for hex-digits) will only modify the nibble under point.
28316 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
28317 moving text. In this minor mode, not only self-inserting keys overwrite
28318 existing text, but commands like `yank' and @command{kill-region} as well.
28319 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
28320 C-f} to advance by #xa4 characters.
28321 @end itemize")
28322 (license license:gpl3+)))
28323
28324 (define-public emacs-helm-wikipedia
28325 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
28326 (package
28327 (name "emacs-helm-wikipedia")
28328 (version (git-version "0.0.0" "1" commit))
28329 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
28330 (source
28331 (origin
28332 (method git-fetch)
28333 (uri (git-reference
28334 (url home-page)
28335 (commit commit)))
28336 (file-name (git-file-name name version))
28337 (sha256
28338 (base32
28339 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
28340 (build-system emacs-build-system)
28341 (inputs
28342 (list emacs-helm))
28343 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
28344 (description
28345 "This package provides an Emacs Helm interface for search suggestions
28346 and article extracts for Wikipedia.")
28347 (license license:gpl3+))))
28348
28349 (define-public emacs-webfeeder
28350 (package
28351 (name "emacs-webfeeder")
28352 (version "1.1.2")
28353 (source
28354 (origin
28355 (method url-fetch)
28356 (uri (string-append
28357 "https://elpa.gnu.org/packages/webfeeder-"
28358 version
28359 ".tar"))
28360 (sha256
28361 (base32
28362 "1l128q424qsq9jv2wk8cv4zli71rk34q5kgwa9axdz0d27p9l6v4"))))
28363 (build-system emacs-build-system)
28364 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
28365 (synopsis "Build RSS and Atom webfeeds from HTML files")
28366 (description
28367 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
28368 files. The various elements of the HTML input are parsed with customizable
28369 functions (e.g. @code{webfeeder-title-function}).")
28370 (license license:gpl3+)))
28371
28372 (define-public emacs-evil-numbers
28373 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
28374 (package
28375 (name "emacs-evil-numbers")
28376 (version (git-version "0.4" "1" commit))
28377 (source (origin
28378 (method git-fetch)
28379 (uri (git-reference
28380 (url "https://github.com/dieggsy/evil-numbers")
28381 (commit commit)))
28382 (file-name (git-file-name name version))
28383 (sha256
28384 (base32
28385 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
28386 (build-system emacs-build-system)
28387 (home-page "https://github.com/dieggsy/evil-numbers")
28388 (synopsis "Increment and decrement numbers in Emacs")
28389 (description "This package increments and decrements binary, octal,
28390 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
28391 number up to EOL and then increments or decrements and keeps zero padding up
28392 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
28393 numbers within that region will be incremented/decremented (unlike in Vim).
28394
28395 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
28396 (license license:gpl3+))))
28397
28398 (define-public emacs-rotate-text
28399 (package
28400 (name "emacs-rotate-text")
28401 (version "0.1")
28402 (source (origin
28403 (method git-fetch)
28404 (uri (git-reference
28405 (url "https://github.com/nschum/rotate-text.el")
28406 (commit version)))
28407 (file-name (git-file-name name version))
28408 (sha256
28409 (base32
28410 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
28411 (build-system emacs-build-system)
28412 (home-page "https://nschum.de/src/emacs/rotate-text/")
28413 (synopsis "Cycle through words, symbols and patterns in Emacs")
28414 (description "@code{rotate-text} allows you rotate to commonly
28415 interchanged text with a single keystroke. For example, you can toggle
28416 between \"frame-width\" and \"frame-height\", between \"public\",
28417 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
28418 \"variableN\".")
28419 (license license:gpl2+)))
28420
28421 (define-public emacs-ediprolog
28422 (package
28423 (name "emacs-ediprolog")
28424 (version "2.1")
28425 (source
28426 (origin
28427 (method url-fetch)
28428 (uri (string-append
28429 "https://elpa.gnu.org/packages/ediprolog-"
28430 version
28431 ".el"))
28432 (sha256
28433 (base32 "1piimsmzpirw8plrpy79xbpnvynzzhcxi31g6lg6is8gridiv3md"))))
28434 (build-system emacs-build-system)
28435 (home-page "https://elpa.gnu.org/packages/ediprolog.html")
28436 (synopsis "Emacs Does Interactive Prolog")
28437 (description "This package provides a major mode that let the user
28438 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
28439 programs and evaluate embedded queries. This mode is focused on the command
28440 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
28441 context, carry out the appropriate action.")
28442 (license license:gpl3+)))
28443
28444 (define-public emacs-evil-cleverparens
28445 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
28446 (revision "1"))
28447 (package
28448 (name "emacs-evil-cleverparens")
28449 (version (git-version "2017-07-17" revision commit))
28450 (source (origin
28451 (method git-fetch)
28452 (uri (git-reference
28453 (url "https://github.com/luxbock/evil-cleverparens")
28454 (commit commit)))
28455 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
28456 (file-name (git-file-name name version))))
28457 (build-system emacs-build-system)
28458 (propagated-inputs
28459 (list emacs-evil emacs-paredit emacs-smartparens))
28460 (home-page "https://github.com/luxbock/evil-cleverparens")
28461 (synopsis "Emacs modal editing optimized for editing Lisp")
28462 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
28463 modal editing with screwing up the structure of Lisp code. Alternatives for
28464 verb commands which would are normally destructive (such as deletion) are
28465 provided. Those alternative commands are and bound by default to their
28466 corresponding Evil keys.")
28467 (license license:expat))))
28468
28469 (define-public emacs-ntlm
28470 (package
28471 (name "emacs-ntlm")
28472 (version "2.1.0")
28473 (source
28474 (origin
28475 (method url-fetch)
28476 (uri (string-append "https://elpa.gnu.org/packages/ntlm-" version ".el"))
28477 (sha256
28478 (base32 "01d0bcmh8a36qf871w6bc05kjk9bmnh843m9869xw06zyvqwg9mv"))))
28479 (build-system emacs-build-system)
28480 (home-page "https://elpa.gnu.org/packages/ntlm.html")
28481 (synopsis "NTLM (NT LanManager) authentication support")
28482 (description
28483 "This library is a direct translation of the Samba release 2.2.0
28484 implementation of Windows NT and LanManager compatible password encryption.")
28485 (license license:gpl3+)))
28486
28487 (define-public emacs-nadvice
28488 (package
28489 (name "emacs-nadvice")
28490 (version "0.3")
28491 (source
28492 (origin
28493 (method url-fetch)
28494 (uri (string-append "https://elpa.gnu.org/packages/"
28495 "nadvice-" version ".el"))
28496 (sha256
28497 (base32 "0gi3csnxbs8h7iy0scsl35sic3gv90swa89hhdjwb7qvpirfdcgw"))))
28498 (build-system emacs-build-system)
28499 (home-page "https://elpa.gnu.org/packages/nadvice.html")
28500 (synopsis "Forward compatibility for Emacs-24.4's nadvice")
28501 (description
28502 "This package tries to re-implement some of nadvice.el's functionality on
28503 top of the old defadvice system, to help users of defadvice move to the new
28504 advice system without dropping support for Emacs<24.4.")
28505 (license license:gpl3+)))
28506
28507 (define-public emacs-url-http-ntlm
28508 (package
28509 (name "emacs-url-http-ntlm")
28510 (version "2.0.4")
28511 (source
28512 (origin
28513 (method url-fetch)
28514 (uri (string-append "https://elpa.gnu.org/packages/"
28515 "url-http-ntlm-" version ".el"))
28516 (sha256
28517 (base32 "1cakq2ykraci7d1gl8rnpv4f2f5ffyaidhqb1282g7i72adwmb98"))))
28518 (build-system emacs-build-system)
28519 (propagated-inputs (list emacs-ntlm))
28520 (home-page "https://elpa.gnu.org/packages/url-http-ntlm.html")
28521 (synopsis "NTLM authentication for the url library")
28522 (description "This package provides a NTLM handler for the URL package.")
28523 (license license:gpl3+)))
28524
28525 (define-public emacs-soap-client
28526 (package
28527 (name "emacs-soap-client")
28528 (version "3.2.1")
28529 (source
28530 (origin
28531 (method url-fetch)
28532 (uri (string-append "https://elpa.gnu.org/packages/"
28533 "soap-client-" version ".tar"))
28534 (sha256
28535 (base32 "0ajv6l1p8dinnlybwzvv4c2i6291is6isjxb2h4apg27g66qbcki"))))
28536 (build-system emacs-build-system)
28537 (home-page "httpa://elpa.gnu.org/packages/soap-client.html")
28538 (synopsis "Access SOAP web services")
28539 (description
28540 "This package provides a SOAP client to access web services.")
28541 (license license:gpl3+)))
28542
28543 (define-public emacs-fsm
28544 (package
28545 (name "emacs-fsm")
28546 (version "0.2.1")
28547 (source
28548 (origin
28549 (method url-fetch)
28550 (uri (string-append "https://elpa.gnu.org/packages/fsm-" version ".el"))
28551 (sha256
28552 (base32 "1jyxyqdbfl8nv7c50q0sg3w5p7whp1sqgi7w921k5hfar4d11qqp"))))
28553 (build-system emacs-build-system)
28554 (home-page "https://elpa.gnu.org/packages/fsm.html")
28555 (synopsis "Finite State Machine library")
28556 (description
28557 "This package provides Finite State Machine library to make asynchronous
28558 programming in Emacs Lisp easy and fun.")
28559 (license license:gpl3+)))
28560
28561 (define-public emacs-excorporate
28562 (package
28563 (name "emacs-excorporate")
28564 (version "1.0.0")
28565 (source
28566 (origin
28567 (method url-fetch)
28568 (uri (string-append "https://elpa.gnu.org/packages/"
28569 "excorporate-" version ".tar"))
28570 (sha256
28571 (base32 "1g0wc2kp15ra323b4rxvdh58q9c4h7m20grw6a0cs53m7l9xi62f"))))
28572 (build-system emacs-build-system)
28573 (propagated-inputs
28574 (list emacs-fsm emacs-nadvice emacs-soap-client emacs-url-http-ntlm))
28575 (home-page "https://elpa.gnu.org/packages/excorporate.html")
28576 (synopsis "Exchange integration")
28577 (description "This package provides Exchange integration for Emacs.")
28578 (license license:gpl3+)))
28579
28580 (define-public emacs-evil-traces
28581 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
28582 (revision "2"))
28583 (package
28584 (name "emacs-evil-traces")
28585 (version (git-version "0.0.1" revision commit))
28586 (source (origin
28587 (method git-fetch)
28588 (uri (git-reference
28589 (url "https://github.com/mamapanda/evil-traces")
28590 (commit commit)))
28591 (file-name (git-file-name name version))
28592 (sha256
28593 (base32
28594 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
28595 (build-system emacs-build-system)
28596 (propagated-inputs
28597 (list emacs-evil))
28598 (arguments
28599 `(#:phases
28600 (modify-phases %standard-phases
28601 (add-after 'unpack 'set-shell
28602 ;; Setting the SHELL environment variable is required for the tests
28603 ;; to find sh.
28604 (lambda _
28605 (setenv "SHELL" (which "sh"))
28606 #t)))
28607 #:tests? #t
28608 #:test-command '("make" "test")))
28609 (home-page "https://github.com/mamapanda/evil-traces")
28610 (synopsis "Visual hints for @code{evil-ex}")
28611 (description "This package adds visual hints to certain @code{ex}
28612 commands in @code{evil-mode}.")
28613 (license license:gpl3+))))
28614
28615 (define-public emacs-evil-tmux-navigator
28616 (package
28617 (name "emacs-evil-tmux-navigator")
28618 (version "0.1.5")
28619 (source
28620 (origin
28621 (method git-fetch)
28622 (uri
28623 (git-reference
28624 (url "https://github.com/keith/evil-tmux-navigator")
28625 (commit version)))
28626 (file-name (git-file-name name version))
28627 (sha256
28628 (base32
28629 "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx"))))
28630 (propagated-inputs
28631 (list emacs-evil))
28632 (build-system emacs-build-system)
28633 (home-page "https://github.com/keith/evil-tmux-navigator")
28634 (synopsis
28635 "Navigate seamlessly between emacs windows and tmux panes")
28636 (description
28637 "This package lets you use C-h, C-j, C-k and C-l to navigate between
28638 Emacs windows and tmux panes.")
28639 (license license:expat)))
28640
28641 (define-public emacs-everywhere
28642 ;; No upstream release. Extract version from main file.
28643 (let ((commit "ace53396a66ed4b753f42c04a5a0db2bcd770423")
28644 (revision "0"))
28645 (package
28646 (name "emacs-everywhere")
28647 (version (git-version "0.0.1" revision commit))
28648 (source (origin
28649 (method git-fetch)
28650 (uri (git-reference
28651 (url "https://github.com/tecosaur/emacs-everywhere")
28652 (commit commit)))
28653 (file-name (git-file-name name version))
28654 (sha256
28655 (base32
28656 "0p55shxvqm1713af33mfglny7rpi31d42wvgwylcsfy4jvnsq8bb"))))
28657 (arguments
28658 (list
28659 #:phases
28660 #~(modify-phases %standard-phases
28661 (add-after 'unpack 'patch-exec-paths
28662 (lambda* (#:key inputs #:allow-other-keys)
28663 (substitute* "emacs-everywhere.el"
28664 (("\"xclip\"")
28665 (string-append "\""
28666 (search-input-file inputs "/bin/xclip")
28667 "\""))
28668 (("\"xdotool\"")
28669 (string-append "\""
28670 (search-input-file inputs "/bin/xdotool")
28671 "\""))
28672 (("\"xprop\"")
28673 (string-append "\""
28674 (search-input-file inputs "/bin/xprop")
28675 "\""))
28676 (("\"xwininfo\"")
28677 (string-append "\""
28678 (search-input-file inputs "/bin/xwininfo")
28679 "\""))))))))
28680 (inputs (list xclip xdotool xprop xwininfo))
28681 (build-system emacs-build-system)
28682 (home-page "https://github.com/tecosaur/emacs-everywhere")
28683 (synopsis "System-wide popup Emacs windows for quick edits")
28684 (description "@code{emacs-everywhere} launches a new Emacs frame, and the
28685 contents of the buffer are pasted into the previously focused application on
28686 deletion of the frame.")
28687 (license license:gpl3+))))
28688
28689 (define-public emacs-xclip
28690 (package
28691 (name "emacs-xclip")
28692 (version "1.11")
28693 (source
28694 (origin
28695 (method url-fetch)
28696 (uri (string-append "https://elpa.gnu.org/packages/"
28697 "xclip-" version ".tar"))
28698 (sha256
28699 (base32 "0hgblj8ng7vfsdb7g1mm9m2qhzfprycdd77836l59prpak5kp55q"))))
28700 (build-system emacs-build-system)
28701 (home-page "http://elpa.gnu.org/packages/xclip.html")
28702 (synopsis "Copy and paste GUI clipboard from Emacs in text terminal")
28703 (description
28704 "This package allows Emacs to copy to and paste from the GUI clipboard
28705 when running in text terminal.
28706
28707 It can use external command-line tools for that, e.g., @command{xclip} or
28708 @command{xsel}, which you may need to install in order for the package to
28709 work.")
28710 (license license:gpl3+)))
28711
28712 (define-public emacs-xterm-color
28713 (package
28714 (name "emacs-xterm-color")
28715 (version "2.0")
28716 (source
28717 (origin
28718 (method git-fetch)
28719 (uri (git-reference
28720 (url "https://github.com/atomontage/xterm-color")
28721 (commit version)))
28722 (file-name (git-file-name name version))
28723 (sha256
28724 (base32 "127lq50q62x06kd1xrf8lyc4rkqbfhfy86gsx1x4x169am2xk397"))))
28725 (build-system emacs-build-system)
28726 (home-page "https://github.com/atomontage/xterm-color")
28727 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
28728 (description "@code{xterm-color.el} is an ANSI control sequence to
28729 text-property translator.")
28730 (license license:bsd-2)))
28731
28732 (define-public emacs-org-noter
28733 (package
28734 (name "emacs-org-noter")
28735 (version "1.4.1")
28736 (source
28737 (origin
28738 (method git-fetch)
28739 (uri (git-reference
28740 (url "https://github.com/weirdNox/org-noter")
28741 (commit version)))
28742 (file-name (git-file-name name version))
28743 (sha256
28744 (base32
28745 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
28746 (build-system emacs-build-system)
28747 (propagated-inputs (list emacs-org))
28748 (home-page "https://github.com/weirdNox/org-noter")
28749 (synopsis "Synchronized, Org-mode, document annotator")
28750 (description
28751 "This package lets you create notes that are kept in sync when you
28752 scroll through the document, but that are external to it---the notes
28753 themselves live in an Org-mode file. As such, this leverages the power of
28754 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
28755 acting like notes that are made @emph{in} the document.")
28756 (license license:gpl3+)))
28757
28758 (define-public emacs-org-redmine
28759 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
28760 (package
28761 (name "emacs-org-redmine")
28762 (version (git-version "0.1" "1" commit))
28763 (source (origin
28764 (method git-fetch)
28765 (uri (git-reference
28766 (url "https://github.com/gongo/org-redmine")
28767 (commit commit)))
28768 (file-name (git-file-name name version))
28769 (sha256
28770 (base32
28771 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
28772 (build-system emacs-build-system)
28773 (home-page "https://github.com/gongo/org-redmine/")
28774 (synopsis "Redmine tools using Emacs")
28775 (description "This program provides an Emacs client for Redmine.")
28776 (license license:gpl3+))))
28777
28778 (define-public emacs-multi-term
28779 ;; No upstream release. Extract version from main file.
28780 (let ((commit "017c77c550115936860e2ea71b88e585371475d5")
28781 (revision "0"))
28782 (package
28783 (name "emacs-multi-term")
28784 (version (git-version "1.5" revision commit))
28785 (source
28786 (origin
28787 (method git-fetch)
28788 (uri (git-reference
28789 (url "https://github.com/manateelazycat/multi-term")
28790 (commit commit)))
28791 (file-name (git-file-name name version))
28792 (sha256
28793 (base32 "043dqd8i8h6hbcg11rzprxin2yq5lb902zlrb7mxah44vyp8wrdi"))))
28794 (build-system emacs-build-system)
28795 (inputs
28796 (list zsh))
28797 (home-page "https://github.com/manateelazycat/multi-term")
28798 (synopsis "Manage multiple terminal buffers in Emacs")
28799 (description
28800 "This package enhances @code{term.el} with the following features:
28801
28802 @enumerate
28803 @item Functions to switch between multiple terminal buffers
28804 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
28805 the underlying terminal
28806 @item Kills the unused buffer left after exiting the terminal
28807 @item Kills the running sub-processes along with the terminal when killing the
28808 it forcibly
28809 @item Dedicated window for debugging program.
28810 @end enumerate")
28811 (license license:gpl3+))))
28812
28813 (define-public emacs-elpher
28814 (package
28815 (name "emacs-elpher")
28816 (version "3.4.2")
28817 (source
28818 (origin
28819 (method git-fetch)
28820 (uri (git-reference
28821 (url "git://thelambdalab.xyz/elpher")
28822 (commit (string-append "v" version))))
28823 (file-name (git-file-name name version))
28824 (sha256
28825 (base32 "1c6pid2ip2c2lpww42wxgq4qflx1m8vxilyva03h8xzgr39kwq64"))))
28826 (build-system emacs-build-system)
28827 (arguments
28828 (list
28829 #:emacs emacs-no-x ;need libxml support
28830 #:phases
28831 #~(modify-phases %standard-phases
28832 (add-before 'install 'build-doc
28833 (lambda _
28834 (invoke "makeinfo" "elpher.texi"))))))
28835 (native-inputs
28836 (list texinfo))
28837 (home-page "gopher://thelambdalab.xyz/1/projects/elpher/")
28838 (synopsis "Gopher and gemini client for Emacs")
28839 (description "Elpher is a full-featured gopher and gemini client for
28840 Emacs. Its features include intuitive keyboard and mouse-driven browsing,
28841 out-of-the-box compatibility with evil-mode, clickable links in plain text,
28842 caching of visited sites, pleasant and configurable visualization of Gopher
28843 directories, direct visualisation of image files, jumping directly to links by
28844 name (with autocompletion), a simple bookmark management system and
28845 connections using TLS encryption.")
28846 (license license:gpl3+)))
28847
28848 (define-public emacs-zerodark-theme
28849 (package
28850 (name "emacs-zerodark-theme")
28851 (version "4.7")
28852 (source
28853 (origin
28854 (method git-fetch)
28855 (uri (git-reference
28856 (url "https://github.com/NicolasPetton/zerodark-theme")
28857 (commit version)))
28858 (file-name (git-file-name name version))
28859 (sha256
28860 (base32
28861 "1r5s4mvwlxsb9ylr6dkfxpm1l0pbqkmn5gwjdcfk762cnxlam8cm"))))
28862 (build-system emacs-build-system)
28863 (propagated-inputs
28864 (list emacs-flycheck emacs-all-the-icons))
28865 (home-page
28866 "https://gitlab.petton.fr/nico/zerodark-theme")
28867 (synopsis
28868 "Dark, medium contrast theme for Emacs")
28869 (description
28870 "Zerodark is a dark theme inspired from One Dark and Niflheim.
28871 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
28872 (license license:gpl3+)))
28873
28874 (define-public emacs-gnus-alias
28875 (package
28876 (name "emacs-gnus-alias")
28877 (version "20150316")
28878 (source (origin
28879 (method git-fetch)
28880 (uri (git-reference
28881 (url "https://github.com/hexmode/gnus-alias")
28882 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
28883 (file-name (git-file-name name version))
28884 (sha256
28885 (base32
28886 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
28887 (build-system emacs-build-system)
28888 (home-page "https://melpa.org/#/gnus-alias")
28889 (synopsis "Alternative to @code{gnus-posting-styles}")
28890 (description "This Emacs add-on provides a simple mechanism to switch
28891 Identities when using a @code{message-mode} or a @code{message-mode} derived
28892 mode. Identities can include @code{From} and @code{Organisation} headers,
28893 extra headers, body and signature. Other features include:
28894
28895 @itemize
28896 @item Switch Identities in a message buffer.
28897 @item Access original message to help determine Identity of the followup/reply
28898 message.
28899 @item Act on a forwarded message as if it were a message being replied to.
28900 @item Start a new message with a given Identity pre-selected.
28901 @end itemize")
28902 (license license:gpl2+)))
28903
28904 (define-public emacs-ox-epub
28905 (package
28906 (name "emacs-ox-epub")
28907 (version "0.3")
28908 (source (origin
28909 (method git-fetch)
28910 (uri (git-reference
28911 (url "https://github.com/ofosos/ox-epub")
28912 (commit (string-append "v" version))))
28913 (file-name (git-file-name name version))
28914 (sha256
28915 (base32
28916 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
28917 (build-system emacs-build-system)
28918 (home-page "https://github.com/ofosos/ox-epub")
28919 (synopsis "Export org mode projects to EPUB")
28920 (description "@code{ox-epub} extends the (X)HTML exporter to generate
28921 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
28922 which should give broad compatibility. It should also be relatiely easy to
28923 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
28924 zip utility (default is @code{zip}).")
28925 (license license:gpl3+)))
28926
28927 (define-public emacs-ox-gemini
28928 ;; No releases yet
28929 (let ((commit "168f820ea401fb813435a3a55af295873a4c110b")
28930 (revision "1"))
28931 (package
28932 (name "emacs-ox-gemini")
28933 (version (git-version "0" revision commit))
28934 (source
28935 (origin
28936 (method git-fetch)
28937 (uri (git-reference
28938 (url "https://git.sr.ht/~abrahms/ox-gemini")
28939 (commit commit)))
28940 (file-name (git-file-name name version))
28941 (sha256
28942 (base32 "0jmiya3f9vv4v64p5kxla6wiiyv4wg4w7f4a6zmdrjcn11hflqmm"))))
28943 (build-system emacs-build-system)
28944 (home-page "https://sr.ht/~abrahms/ox-gemini")
28945 (synopsis "Export Org files in Gemini format")
28946 (description
28947 "@code{ox-gemini} adds support for exporting Org files in Gemini
28948 format. Many things were taken from the ASCII exporter, from which
28949 @code{ox-gemini} derives.")
28950 (license license:gpl3+))))
28951
28952 (define-public emacs-ox-haunt
28953 (package
28954 (name "emacs-ox-haunt")
28955 (version "0.2")
28956 (source
28957 (origin
28958 (method git-fetch)
28959 (uri (git-reference
28960 (url "https://git.sr.ht/~jakob/ox-haunt")
28961 (commit (string-append "v" version))))
28962 (file-name (git-file-name name version))
28963 (sha256
28964 (base32 "1rs1n228c2fmpvirc57bqgf2616ijpphkgf4w9ln5j46snmkam25"))))
28965 (build-system emacs-build-system)
28966 (home-page "https://git.sr.ht/~jakob/ox-haunt")
28967 (synopsis "Export Org files to HTML appropriate for Haunt")
28968 (description
28969 "This library implements an HTML back-end for the Org generic exporter,
28970 producing output appropriate for Haunt's @code{html-reader}.")
28971 (license license:gpl3+)))
28972
28973 (define-public emacs-ox-hugo
28974 (package
28975 (name "emacs-ox-hugo")
28976 (version "0.12.2")
28977 (source
28978 (origin
28979 (method git-fetch)
28980 (uri (git-reference
28981 (url "https://github.com/kaushalmodi/ox-hugo")
28982 (commit (string-append "v" version))))
28983 (file-name (git-file-name name version))
28984 (sha256
28985 (base32
28986 "054ln6x92qyicvc5l1m9yjqqzwpg3j66v0shxsypp97vfw2d3ww6"))))
28987 (build-system emacs-build-system)
28988 (propagated-inputs
28989 (list emacs-tomelr))
28990 (home-page "https://ox-hugo.scripter.co")
28991 (synopsis "Hugo markdown back-end for Org export engine")
28992 (description
28993 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
28994 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
28995 format.")
28996 (license license:gpl3+)))
28997
28998 (define-public emacs-ox-pandoc
28999 (package
29000 (name "emacs-ox-pandoc")
29001 (version "20180510")
29002 (source (origin
29003 (method git-fetch)
29004 (uri (git-reference
29005 (url "https://github.com/kawabata/ox-pandoc")
29006 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
29007 (file-name (git-file-name name version))
29008 (sha256
29009 (base32
29010 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
29011 (build-system emacs-build-system)
29012 (inputs
29013 (list pandoc))
29014 (propagated-inputs
29015 (list emacs-dash emacs-ht))
29016 (home-page "https://github.com/kawabata/ox-pandoc")
29017 (synopsis "Org exporter for Pandoc")
29018 (description "@code{ox-pandoc} is an exporter for converting Org-mode
29019 files to numerous other formats via Pandoc.")
29020 (license license:gpl3+)))
29021
29022 (define-public emacs-ox-reveal
29023 (let ((commit "07900f29fada581d0e1b0f1e2057cea5e1ba8ce1")
29024 (revision "0"))
29025 (package
29026 (name "emacs-ox-reveal")
29027 (version (git-version "1.0" revision commit))
29028 (source
29029 (origin
29030 (method git-fetch)
29031 (uri (git-reference
29032 (url "https://github.com/hexmode/ox-reveal")
29033 (commit commit)))
29034 (file-name (git-file-name name version))
29035 (sha256
29036 (base32
29037 "132b0llxda8jivabvm2ssbrdny7q2q1c0z4ikb12k4kia3fvg6cg"))))
29038 (build-system emacs-build-system)
29039 (propagated-inputs
29040 (list emacs-org))
29041 (home-page "https://github.com/hexmode/ox-reveal")
29042 (synopsis "reveal.js Presentation Back-End for Org export engine")
29043 (description
29044 "Org Reveal exports your Org documents to @code{reveal.js} presentations.
29045 With org-reveal, you can create beautiful presentations with 3D effects from
29046 simple but powerful Org contents.")
29047 (license license:gpl3+))))
29048
29049 (define-public emacs-ox-rss
29050 ;; XXX: Upstream provides no version nor tags whatsoever.
29051 (let ((commit "83dc898fa5493925b01716e5dd495d5e07c3d41a")
29052 (revision "0"))
29053 (package
29054 (name "emacs-ox-rss")
29055 (version (git-version "0" revision commit))
29056 (source (origin
29057 (method git-fetch)
29058 (uri (git-reference
29059 (url "https://gitlab.com/nsavage/ox-rss")
29060 (commit commit)))
29061 (file-name (git-file-name name version))
29062 (sha256
29063 (base32
29064 "0513kixv9bgkignmji95m3rskn6px6c0fack4zdl61qq09fg8w6h"))))
29065 (build-system emacs-build-system)
29066 (home-page "https://gitlab.com/nsavage/ox-rss")
29067 (synopsis "RSS 2.0 back-end for Org export engine")
29068 (description
29069 "This library implements an RSS 2.0 back-end for Org exporter, based
29070 on the HTML back-end.")
29071 (license license:gpl3+))))
29072
29073 (define-public emacs-wc-mode
29074 (package
29075 (name "emacs-wc-mode")
29076 (version "1.4.1")
29077 (source (origin
29078 (method git-fetch)
29079 (uri (git-reference
29080 (url "https://github.com/bnbeckwith/wc-mode")
29081 (commit (string-append "v" version))))
29082 (file-name (git-file-name name version))
29083 (sha256
29084 (base32
29085 "1wzgb4z2qyyv223x5fc7ff2fn5xpz4s7lr1q1y33q8878a7w9d45"))))
29086 (build-system emacs-build-system)
29087 (home-page "https://github.com/bnbeckwith/wc-mode")
29088 (synopsis "Running word count with goals (minor mode)")
29089 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
29090 for Emacs buffers as well as a modeline addition with live word, line and
29091 character counts. Additionally, a user can set specific goals for adding or
29092 deleting words. These goals were partly inspired by 750words.com where the
29093 goal of the site is to encourage writing by setting a goal of 750 words at a
29094 time.")
29095 (license license:gpl3+)))
29096
29097 (define-public emacs-mastodon
29098 (package
29099 (name "emacs-mastodon")
29100 (version "1.0.0")
29101 (source (origin
29102 (method git-fetch)
29103 (uri (git-reference
29104 (url "https://codeberg.org/martianh/mastodon.el")
29105 (commit version)))
29106 (file-name (git-file-name name version))
29107 (sha256
29108 (base32
29109 "13swcbvwhjl8ksrgzvmfafkgd3iz8znk49bs1n48w3g9qvh097w7"))))
29110 (build-system emacs-build-system)
29111 (arguments
29112 (list #:phases
29113 #~(modify-phases %standard-phases
29114 ;; Move the source files to the top level, which is included in
29115 ;; the EMACSLOADPATH.
29116 (add-after 'unpack 'move-source-files
29117 (lambda _
29118 (let ((el-files (find-files "./lisp" ".*\\.el$")))
29119 (for-each (lambda (f)
29120 (rename-file f (basename f)))
29121 el-files)))))))
29122 (propagated-inputs
29123 (list emacs-request))
29124 (home-page "https://codeberg.org/martianh/mastodon.el")
29125 (synopsis "Emacs client for Mastodon")
29126 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
29127 federated microblogging social network.")
29128 (license license:gpl3+)))
29129
29130 (define-public emacs-ebdb
29131 (package
29132 (name "emacs-ebdb")
29133 (version "0.8.14")
29134 (source
29135 (origin
29136 (method url-fetch)
29137 (uri (string-append "https://elpa.gnu.org/packages/"
29138 "ebdb-" version ".tar"))
29139 (sha256
29140 (base32 "0h7yva7p4b4lapi7pwcibf75nqmazjf3r67ibnkc8l9salfhml25"))))
29141 (build-system emacs-build-system)
29142 (home-page "https://github.com/girzel/ebdb")
29143 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
29144 (description
29145 "EBDB is a contact management/addressbook package for Emacs. It's
29146 a re-write of the Insidious Big Brother Database (BBDB) using Emacs
29147 Lisp's (relatively new) EIEIO object oriented libraries.")
29148 (license license:gpl3+)))
29149
29150 (define-public emacs-refactor
29151 (package
29152 (name "emacs-refactor")
29153 (version "0.4")
29154 (source (origin
29155 (method git-fetch)
29156 (uri (git-reference
29157 (url "https://github.com/Wilfred/emacs-refactor")
29158 (commit version)))
29159 (file-name (git-file-name name version))
29160 (sha256
29161 (base32
29162 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
29163 (build-system emacs-build-system)
29164 (propagated-inputs
29165 (list emacs-dash emacs-s emacs-popup emacs-list-utils emacs-iedit))
29166 (home-page "https://github.com/Wilfred/emacs-refactor/")
29167 (synopsis "Language-specific refactoring in Emacs")
29168 (description "Emacs Refactor (EMR) is a framework for providing
29169 language-specific refactoring in Emacs. It includes refactoring commands for
29170 a variety of languages, including elisp itself.")
29171 (license license:gpl3+)))
29172
29173 (define-public emacs-flyspell-correct
29174 (package
29175 (name "emacs-flyspell-correct")
29176 (version "0.6.1")
29177 (source
29178 (origin
29179 (method git-fetch)
29180 (uri (git-reference
29181 (url "https://github.com/d12frosted/flyspell-correct")
29182 (commit (string-append "v" version))))
29183 (file-name (git-file-name name version))
29184 (sha256
29185 (base32 "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"))))
29186 (build-system emacs-build-system)
29187 ;; XXX: emacs-avy-menu is not packaged, so we ignore the file below.
29188 (arguments
29189 `(#:exclude '("flyspell-correct-avy-menu\\.el")))
29190 (propagated-inputs
29191 (list emacs-helm emacs-ivy emacs-popup))
29192 (home-page "https://github.com/d12frosted/flyspell-correct")
29193 (synopsis "Correcting words with flyspell via custom interfaces")
29194 (description
29195 "This package provides functionality for correcting words via custom
29196 interfaces. Several interfaces are supported beside the classic Ido: Popup,
29197 Helm and Ivy.")
29198 (license license:gpl3+)))
29199
29200 (define-public emacs-spell-fu
29201 ;; There are no tagged releases upstream on gitlab, instead we are using the
29202 ;; most recent commit.
29203 (let ((commit "50be652a6ec8590c3098f46094a92213623349c1") (revision "0"))
29204 (package
29205 (name "emacs-spell-fu")
29206 (version (git-version "0.3" revision commit))
29207 (source (origin
29208 (method git-fetch)
29209 (uri (git-reference
29210 (url "https://gitlab.com/ideasman42/emacs-spell-fu")
29211 (commit commit)))
29212 (file-name (git-file-name name version))
29213 (sha256
29214 (base32
29215 "0n7qwnirvkh2aprb7l1wj9rywdsn33a7s32716m3afcvy7z9pyh4"))))
29216 (build-system emacs-build-system)
29217 (home-page "https://gitlab.com/ideasman42/emacs-spell-fu")
29218 (synopsis "Fast highlighting of misspelled words")
29219 (description
29220 "This is a light weight spell checker for Emacs,
29221 that runs from the syntax highlighter without starting external processes.")
29222 (license license:gpl3+))))
29223
29224 (define-public emacs-org-emms
29225 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
29226 (revision "1"))
29227 (package
29228 (name "emacs-org-emms")
29229 (version
29230 (git-version "0.1" revision commit))
29231 (source
29232 (origin
29233 (method git-fetch)
29234 (uri (git-reference
29235 (url "https://gitlab.com/jagrg/org-emms.git")
29236 (commit commit)))
29237 (file-name (git-file-name name commit))
29238 (sha256
29239 (base32
29240 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
29241 (build-system emacs-build-system)
29242 (propagated-inputs
29243 (list emacs-emms emacs-org))
29244 (home-page "https://gitlab.com/jagrg/org-emms")
29245 (synopsis "Play multimedia files from org-mode")
29246 (description
29247 "This package provides a new org link type for playing back multimedia
29248 files from org-mode using EMMS, The Emacs Multimedia System. If the link
29249 contains a track position, playback will start at the specified position.")
29250 (license license:gpl3+))))
29251
29252 (define-public emacs-org-jira
29253 (package
29254 (name "emacs-org-jira")
29255 (version "4.4.0")
29256 (source
29257 (origin
29258 (method git-fetch)
29259 (uri (git-reference
29260 (url "https://github.com/ahungry/org-jira")
29261 (commit version)))
29262 (file-name (git-file-name name version))
29263 (sha256
29264 (base32
29265 "1s91l4ibjvvc7rfvd8gldxqrcgjq00q83fdww217ck2ps5yrzyjl"))))
29266 (build-system emacs-build-system)
29267 (propagated-inputs
29268 (list emacs-request emacs-s emacs-dash emacs-org))
29269 (home-page "https://github.com/ahungry/org-jira")
29270 (synopsis "Syncing between Jira and Org-mode")
29271 (description
29272 "This package provides an extension to org-mode for syncing issues with
29273 JIRA issue servers.")
29274 (license license:gpl3+)))
29275
29276 (define-public emacs-slime-volleyball
29277 (package
29278 (name "emacs-slime-volleyball")
29279 (version "1.2.0")
29280 (source
29281 (origin
29282 (method url-fetch)
29283 (uri (string-append "https://elpa.gnu.org/packages/"
29284 "slime-volleyball-" version ".tar"))
29285 (sha256
29286 (base32 "07xavg6xq5ckrfy5sk5k5ldb46m5w8nw1r1k006ck8f23ajaw5z2"))))
29287 (build-system emacs-build-system)
29288 (arguments '(#:include '("\\.el$" "\\.svg$" "\\.b64$" "slime\\.el\\.gz$")))
29289 (home-page "http://elpa.gnu.org/packages/slime-volleyball.html")
29290 (synopsis "SVG slime volleyball game")
29291 (description
29292 "Emacs Slime Volleyball is a volleyball game. Win points by
29293 making the ball land on your opponent's side of the court. The first
29294 player to five points wins! You can play against a friend, or
29295 challenge the three computer opponents in one player mode. You can
29296 even train opponent slimes.")
29297 (license license:gpl3+)))
29298
29299 (define-public emacs-systemd-mode
29300 (package
29301 (name "emacs-systemd-mode")
29302 (version "1.6")
29303 (source (origin
29304 (method git-fetch)
29305 (uri (git-reference
29306 (url "https://github.com/holomorph/systemd-mode")
29307 (commit (string-append "v" version))))
29308 (file-name (git-file-name name version))
29309 (sha256
29310 (base32
29311 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
29312 (build-system emacs-build-system)
29313 (arguments '(#:include '("\\.el$" "\\.txt$")))
29314 (home-page "https://github.com/holomorph/systemd-mode")
29315 (synopsis
29316 "Major mode for editing systemd units")
29317 (description
29318 "Major mode for editing systemd units in GNU Emacs.")
29319 (license license:gpl3+)))
29320
29321 (define-public emacs-ssh-config-mode
29322 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
29323 (revision "1"))
29324 (package
29325 (name "emacs-ssh-config-mode")
29326 (version (git-version "8.0" revision commit))
29327 (source
29328 (origin
29329 (method git-fetch)
29330 (uri
29331 (git-reference
29332 (url "https://github.com/jhgorrell/ssh-config-mode-el")
29333 (commit commit)))
29334 (file-name (git-file-name name commit))
29335 (sha256
29336 (base32
29337 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
29338 (build-system emacs-build-system)
29339 (arguments '(#:include '("\\.el$" "\\.txt$")))
29340 (home-page
29341 "https://github.com/jhgorrell/ssh-config-mode-el")
29342 (synopsis
29343 "Mode for fontification of ~/.ssh/config")
29344 (description
29345 "This package fontifies the ssh config keywords and creates
29346 keybindings for skipping from host section to host section.")
29347 (license license:gpl3+))))
29348
29349 (define-public emacs-ssh-agency
29350 (package
29351 (name "emacs-ssh-agency")
29352 (version "0.4.1")
29353 (source (origin
29354 (method git-fetch)
29355 (uri (git-reference
29356 (url "https://github.com/magit/ssh-agency")
29357 (commit version)))
29358 (file-name (git-file-name name version))
29359 (sha256
29360 (base32
29361 "1i3zmsn0w2k7p2hlzssibckm32kf05l56mkhg96x4sf06g3pwq1d"))))
29362 (build-system emacs-build-system)
29363 (propagated-inputs
29364 (list emacs-dash))
29365 (home-page "https://github.com/magit/ssh-agency")
29366 (synopsis "Manage @code{ssh-agent} from Emacs")
29367 (description
29368 "This package provides functions to startup @code{ssh-agent}, set the
29369 needed environment variables in Emacs, and prompt for passphrases from within
29370 Emacs so that pushes and pulls from @code{magit} will not require entering any
29371 passphrase.
29372
29373 It can also be useful on Unix-like platforms to delay having to enter your
29374 passphrase until the first time you push to a remote.")
29375 (license license:gpl3+)))
29376
29377 (define-public emacs-super-save
29378 (package
29379 (name "emacs-super-save")
29380 (version "0.3.0")
29381 (source
29382 (origin
29383 (method git-fetch)
29384 (uri (git-reference
29385 (url "https://github.com/bbatsov/super-save")
29386 (commit (string-append "v" version))))
29387 (file-name (git-file-name name version))
29388 (sha256
29389 (base32
29390 "066fyg4r4pksyandpd7s53hagpvm2rw90q5ks4jlpgy7x00hw09l"))))
29391 (build-system emacs-build-system)
29392 (home-page "https://github.com/bbatsov/super-save")
29393 (synopsis "Auto-save buffers, based on your activity")
29394 (description "Super-save auto-saves your buffers, when certain events
29395 happen, e.g., when you switch between buffers or when an Emacs frame loses
29396 focus. You can think of it as both something that augments and replaces the
29397 standard Auto-save mode.")
29398 (license license:gpl3+)))
29399
29400 (define-public emacs-tao-theme
29401 (let ((commit "468ee4f6ba7afb9dbfc8855ae2c333cb16ca4408")
29402 (revision "1"))
29403 (package
29404 (name "emacs-tao-theme")
29405 (version (git-version "1.1.1" revision commit))
29406 (source
29407 (origin
29408 (method git-fetch)
29409 (uri (git-reference
29410 (url "https://github.com/11111000000/tao-theme-emacs")
29411 (commit commit)))
29412 (file-name (git-file-name name version))
29413 (sha256
29414 (base32
29415 "0yqibx6wcdsj5k6130c3qp0hmj6zwhfjrrvw98lny23ksw6k0s3s"))))
29416 (build-system emacs-build-system)
29417 (home-page "https://github.com/11111000000/tao-theme-emacs")
29418 (synopsis "Parameterized uncolored color themes for Emacs")
29419 (description
29420 "This package provides two parameterized uncolored color themes for
29421 Emacs: @code{tao-yin} and @code{tao-yang}. The default
29422 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
29423
29424 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
29425 @code{tao-theme-scale-filter-fn}, for edge filter; and
29426 @code{tao-theme-use-height}.")
29427 (license license:gpl3+))))
29428
29429 (define-public emacs-almost-mono-themes
29430 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
29431 (revision "0"))
29432 (package
29433 (name "emacs-almost-mono-themes")
29434 (version (git-version "0" revision commit))
29435 (source
29436 (origin
29437 (method git-fetch)
29438 (uri (git-reference
29439 (url "https://github.com/cryon/almost-mono-themes")
29440 (commit commit)))
29441 (file-name (git-file-name name version))
29442 (sha256
29443 (base32
29444 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
29445 (build-system emacs-build-system)
29446 (home-page "https://github.com/cryon/almost-mono-themes")
29447 (synopsis "Almost monochromatic themes for emacs in a few variants")
29448 (description
29449 "This package provides a collection of almost monochrome Emacs themes:
29450 @code{almost-mono-black} and @code{almost-mono-white}.")
29451 (license license:gpl3+))))
29452
29453 (define-public emacs-quasi-monochrome
29454 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
29455 (revision "0"))
29456 (package
29457 (name "emacs-quasi-monochrome")
29458 (version (git-version "1.2" revision commit))
29459 (source
29460 (origin
29461 (method git-fetch)
29462 (uri (git-reference
29463 (url "https://github.com/lbolla/emacs-quasi-monochrome")
29464 (commit commit)))
29465 (file-name (git-file-name name version))
29466 (sha256
29467 (base32
29468 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
29469 (build-system emacs-build-system)
29470 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
29471 (synopsis "Dark color theme for Emacs")
29472 (description
29473 "This package provides a dark color theme with a black background, high
29474 contrast and few colors.")
29475 (license license:gpl3+))))
29476
29477 (define-public emacs-doom-themes
29478 (package
29479 (name "emacs-doom-themes")
29480 (version "2.3.0")
29481 (source (origin
29482 (method git-fetch)
29483 (uri (git-reference
29484 (url "https://github.com/hlissner/emacs-doom-themes")
29485 (commit (string-append "v" version))))
29486 (file-name (git-file-name name version))
29487 (sha256
29488 (base32 "120pcas0l1m6w551qxfcl2fx0aysjqp91nn47zdxrr8rs01654wr"))))
29489 (build-system emacs-build-system)
29490 (native-inputs
29491 (list emacs-ert-runner))
29492 (arguments
29493 (list #:tests? #t
29494 #:test-command #~(list "ert-runner")
29495 #:modules '((guix build emacs-build-system)
29496 (guix build utils)
29497 (guix build emacs-utils)
29498 (srfi srfi-1))
29499 #:phases
29500 #~(modify-phases %standard-phases
29501 (add-after 'unpack 'move-themes
29502 (lambda _
29503 ;; Move the source files to the top level, which is in the
29504 ;; EMACSLOADPATH.
29505 (for-each (lambda (f)
29506 (rename-file f (basename f)))
29507 (append
29508 (find-files "./themes" ".*\\.el$")
29509 (find-files "./extensions" ".*\\.el$"))))))))
29510 (synopsis "Wide collection of color themes for Emacs")
29511 (description "Emacs-doom-themes contains numerous popular color themes for
29512 Emacs that integrate with major modes like Org-mode.")
29513 (home-page "https://github.com/hlissner/emacs-doom-themes")
29514 (license license:expat)))
29515
29516 (define-public emacs-modus-themes
29517 ;; XXX: Upstream did not tag latest version bump, so we use the commit
29518 ;; matching that bump.
29519 (let ((commit "0b42e595fb8c1753039277ab0b068d0f4f107edf"))
29520 (package
29521 (name "emacs-modus-themes")
29522 (version "2.7.1")
29523 (source
29524 (origin
29525 (method git-fetch)
29526 (uri (git-reference
29527 (url "https://git.sr.ht/~protesilaos/modus-themes")
29528 (commit commit)))
29529 (file-name (git-file-name name version))
29530 (sha256
29531 (base32 "0iy1psfkhqf9a47pabl1w108niw2d4xnfvlcql2j58qlv5k9h1z7"))))
29532 (native-inputs (list texinfo))
29533 (build-system emacs-build-system)
29534 (arguments
29535 (list
29536 #:phases
29537 #~(modify-phases %standard-phases
29538 (add-after 'install 'makeinfo
29539 (lambda _
29540 (invoke "emacs"
29541 "--batch"
29542 "--eval=(require 'ox-texinfo)"
29543 "--eval=(find-file \"doc/modus-themes.org\")"
29544 "--eval=(org-texinfo-export-to-info)")
29545 (install-file "doc/modus-themes.info" (string-append #$output "/share/info")))))))
29546 (home-page "https://protesilaos.com/modus-themes/")
29547 (synopsis "Accessible themes (WCAG AAA)")
29548 (description
29549 "The Modus themes are designed for accessible readability. They conform
29550 with the highest standard for color contrast between any given combination of
29551 background and foreground values. This corresponds to the WCAG AAA standard,
29552 which specifies a minimum rate of distance in relative luminance of 7:1.
29553
29554 Modus Operandi (modus-operandi) is a light theme, while Modus
29555 Vivendi (modus-vivendi) is dark. Each theme’s color palette is designed to
29556 meet the needs of the numerous interfaces that are possible in the Emacs
29557 computing environment.")
29558 (license (list license:gpl3+
29559 license:fdl1.3+))))) ; GFDLv1.3+ for the manual
29560
29561 (define-public emacs-punpun-theme
29562 (let ((commit "7026684cd568cb691af3ced5de14c375fe6f5a1a")
29563 (revision "0"))
29564 (package
29565 (name "emacs-punpun-theme")
29566 (version (git-version "0" revision commit))
29567 (source
29568 (origin
29569 (method git-fetch)
29570 (uri (git-reference
29571 (url "https://depp.brause.cc/punpun-theme")
29572 (commit commit)))
29573 (file-name (git-file-name name version))
29574 (sha256
29575 (base32
29576 "1nwvlp93l5lj259mchd1a2glq3jxd0h1vazsbjqfi07hsg86xjp0"))))
29577 (build-system emacs-build-system)
29578 (home-page "https://depp.brause.cc/punpun-theme")
29579 (synopsis "Bleak Emacs theme")
29580 (description
29581 "A bleak theme. Uses shades of gray and the occasional splash of
29582 color. Designed for 256-color terminals. Comes in light and dark!")
29583 (license license:gpl3+))))
29584
29585 (define-public emacs-spacemacs-theme
29586 (package
29587 (name "emacs-spacemacs-theme")
29588 (version "0.3")
29589 (source
29590 (origin
29591 (method git-fetch)
29592 (uri (git-reference
29593 (url "https://github.com/nashamri/spacemacs-theme")
29594 (commit version)))
29595 (file-name (git-file-name name version))
29596 (sha256
29597 (base32 "1yz8xg9ni9290nly5b93djkzk9235q6k4lhb5ghs6snr0r39157n"))))
29598 (build-system emacs-build-system)
29599 (home-page "https://github.com/nashamri/spacemacs-theme")
29600 (synopsis
29601 "Light and dark theme for spacemacs that supports GUI and terminal")
29602 (description
29603 "Spacemacs theme is an Emacs color theme that started as
29604 a theme for Spacemacs. The theme comes with dark and light variants
29605 and it should work well with 256 color terminals.")
29606 (license license:gpl3+)))
29607
29608 (define-public emacs-elixir-mode
29609 (package
29610 (name "emacs-elixir-mode")
29611 (version "2.3.2")
29612 (source
29613 (origin
29614 (method git-fetch)
29615 (uri (git-reference
29616 (url "https://github.com/elixir-editors/emacs-elixir")
29617 (commit (string-append "v" version))))
29618 (file-name (git-file-name name version))
29619 (sha256
29620 (base32 "0f2a360h8bizvqk6bmgxm59g8n7id5rzwlbv6d383h15w298mcga"))))
29621 (build-system emacs-build-system)
29622 (propagated-inputs
29623 (list emacs-pkg-info))
29624 (home-page
29625 "https://github.com/elixir-editors/emacs-elixir")
29626 (synopsis "Major mode for editing Elixir files")
29627 (description
29628 "Elixir-Mode provides font-locking, indentation and navigation support
29629 for the Elixir programming language.")
29630 (license license:gpl3+)))
29631
29632 (define-public emacs-dimmer
29633 (let ((commit "2f915b100044e09dd647b22085e1696249c4b115")
29634 (revision "1"))
29635 (package
29636 (name "emacs-dimmer")
29637 (version (git-version "0.4.2" revision commit))
29638 (source
29639 (origin
29640 (method git-fetch)
29641 (uri (git-reference
29642 (url "https://github.com/gonewest818/dimmer.el")
29643 (commit commit)))
29644 (file-name (git-file-name name version))
29645 (sha256
29646 (base32
29647 "00y6645zjary1sz7517qy5pjwfm5ipsc46sypmdygin65hbbc8wg"))))
29648 (build-system emacs-build-system)
29649 (home-page "https://github.com/gonewest818/dimmer.el")
29650 (synopsis "Visually highlights the selected buffer in Emacs")
29651 (description "Dimmer provides a minor mode that indicates which buffer is
29652 currently active by dimming the faces in the other buffers. It does this
29653 nondestructively, and computes the dimmed faces dynamically such that your
29654 overall color scheme is shown in a muted form without requiring you to define
29655 what is a \"dim\" version of every face.")
29656 (license license:gpl3+))))
29657
29658 (define-public emacs-minibuffer-line
29659 (package
29660 (name "emacs-minibuffer-line")
29661 (version "0.1")
29662 (source
29663 (origin
29664 (method url-fetch)
29665 (uri (string-append
29666 "https://elpa.gnu.org/packages/minibuffer-line-"
29667 version
29668 ".el"))
29669 (sha256
29670 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
29671 (build-system emacs-build-system)
29672 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
29673 (synopsis "Display status info in the minibuffer window")
29674 (description
29675 "This package lets you display various status information in the
29676 minibuffer window instead of the mode-line. Of course, this is only displayed
29677 when the minibuffer window is not already used for other things (e.g. a
29678 minibuffer or an each area message).
29679
29680 The contents and aspect is controlled by the @code{minibuffer-line-format}
29681 variable and the @code{minibuffer-line} face.")
29682 (license license:gpl3+)))
29683
29684 (define-public emacs-minimap
29685 (package
29686 (name "emacs-minimap")
29687 (version "1.4")
29688 (source
29689 (origin
29690 (method url-fetch)
29691 (uri (string-append
29692 "https://elpa.gnu.org/packages/minimap-"
29693 version
29694 ".el"))
29695 (sha256
29696 (base32 "09fm0ziy8cdzzw08l7l6p63dxz2a27p3laia2v51mvbva8177ls1"))))
29697 (build-system emacs-build-system)
29698 (home-page "http://elpa.gnu.org/packages/minimap.html")
29699 (synopsis "Sidebar showing a @emph{mini-map} of a buffer")
29700 (description
29701 "Minimap provides Emacs with a minimap sidebar, which is a smaller
29702 display of the current buffer on the side, like a scrollbar. It highlights
29703 the currently shown region and updates its position automatically. You can
29704 navigate in the minibar by dragging the active region with the mouse, which
29705 will scroll the corresponding edit buffer. Additionally, you can overlay
29706 information from the tags gathered by CEDET's semantic analyzer.)")
29707 (license license:gpl3+)))
29708
29709 (define-public emacs-eshell-prompt-extras
29710 (package
29711 (name "emacs-eshell-prompt-extras")
29712 (version "1.0")
29713 (home-page "https://github.com/zwild/eshell-prompt-extras")
29714 (source
29715 (origin
29716 (method git-fetch)
29717 (uri (git-reference
29718 (url home-page)
29719 (commit version)))
29720 (file-name (git-file-name name version))
29721 (sha256
29722 (base32
29723 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
29724 (build-system emacs-build-system)
29725 (synopsis "Display extra information and color for your Eshell prompt")
29726 (description "This library displays various customizable elements for
29727 @code{eshell} prompts: remote user, remote host, python virtual environment
29728 info, git branch, git dirty info and git unpushed number. Multiple themes are
29729 available.")
29730 (license license:gpl3+)))
29731
29732 (define-public emacs-eshell-did-you-mean
29733 (package
29734 (name "emacs-eshell-did-you-mean")
29735 (version "0.2")
29736 (source
29737 (origin
29738 (method git-fetch)
29739 (uri (git-reference
29740 (url "https://github.com/xuchunyang/eshell-did-you-mean")
29741 (commit (string-append "v" version))))
29742 (file-name (git-file-name name version))
29743 (sha256
29744 (base32 "158g8b4crm0gf5pilfxf89hdsb22gr1wbrjyx9gf45bmcll3i9vf"))))
29745 (build-system emacs-build-system)
29746 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
29747 (synopsis "Display suggestions on 'command not found' in Eshell")
29748 (description "This library adds a list of 'Did you mean...' suggestions
29749 when the command was not found in Eshell. The suggestions are found after the
29750 commands that bear resemblance to the input command.")
29751 (license license:gpl3+)))
29752
29753 (define-public emacs-unfill
29754 (package
29755 (name "emacs-unfill")
29756 (version "0.3")
29757 (home-page "https://github.com/purcell/unfill")
29758 (source
29759 (origin
29760 (method git-fetch)
29761 (uri (git-reference
29762 (url home-page)
29763 (commit version)))
29764 (file-name (git-file-name name version))
29765 (sha256
29766 (base32 "0pg64nza2mp4xyr69pjq51jsq1aaym0g38g4jzaxr0hh3w0ris1n"))))
29767 (build-system emacs-build-system)
29768 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
29769 (description
29770 "The functions in this package provide the inverse of Emacs'
29771 @code{fill-paragraph} and @code{fill-region}.")
29772 (license license:gpl3+)))
29773
29774 (define-public emacs-windower
29775 (package
29776 (name "emacs-windower")
29777 (version "0.0.1")
29778 (home-page "https://gitlab.com/ambrevar/emacs-windower")
29779 (source
29780 (origin
29781 (method git-fetch)
29782 (uri (git-reference
29783 (url home-page)
29784 (commit version)))
29785 (file-name (git-file-name name version))
29786 (sha256
29787 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
29788 (build-system emacs-build-system)
29789 (synopsis "Helper functions for window manipulation in Emacs")
29790 (description
29791 "This package provides helper functions for window manipulation in Emacs,
29792 such as:
29793
29794 @itemize
29795 @item switch to last buffer,
29796 @item toggle single window display,
29797 @item toggle between horizontal and vertical splits,
29798 @item move borders more naturally,
29799 @item swap windows à-la @code{windmove}.
29800 @end itemize")
29801 (license license:gpl3+)))
29802
29803 (define-public emacs-flycheck-cpplint
29804 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
29805 (revision "1"))
29806 (package
29807 (name "emacs-flycheck-cpplint")
29808 (version (git-version "0.1" revision commit))
29809 (source
29810 (origin
29811 (method git-fetch)
29812 (uri (git-reference
29813 (url "https://github.com/flycheck/flycheck-google-cpplint")
29814 (commit commit)))
29815 (file-name (git-file-name name version))
29816 (sha256
29817 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
29818 (build-system emacs-build-system)
29819 (arguments
29820 `(#:phases
29821 (modify-phases %standard-phases
29822 (add-after 'unpack 'set-cpplint-path
29823 (lambda _
29824 (substitute* "flycheck-google-cpplint.el"
29825 (("\"cpplint.py\"")
29826 (string-append "\"" (which "cpplint") "\""))))))))
29827 (inputs
29828 (list cpplint))
29829 (propagated-inputs
29830 (list emacs-flycheck))
29831 (synopsis "Google C++ checker for Flycheck")
29832 (description "This package provides a interface for @code{cpplint} over
29833 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
29834 Google guidelines.")
29835 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
29836 (license license:gpl3+))))
29837
29838 (define-public emacs-highlight-doxygen
29839 ;; Upstream does not tag releases. Commit below matches version bump.
29840 (let ((commit "eec4874e2e89d4eb39091aad89a67dff8f8ec84c"))
29841 (package
29842 (name "emacs-highlight-doxygen")
29843 (version "0.0.2")
29844 (source
29845 (origin
29846 (method git-fetch)
29847 (uri (git-reference
29848 (url "https://github.com/Lindydancer/highlight-doxygen")
29849 (commit commit)))
29850 (sha256
29851 (base32
29852 "0r3rv1px43r265716l3g20c1ss4381h1mc1kjxin22vdmrj6cmxy"))
29853 (file-name (git-file-name name version))))
29854 (build-system emacs-build-system)
29855 (home-page "https://github.com/Lindydancer/highlight-doxygen")
29856 (synopsis "Highlight Doxygen comments in Emacs, including code blocks")
29857 (description
29858 "This package highlights Doxygen comments.
29859
29860 In addition to highlighting Doxygen commands and their arguments, entire
29861 Doxygen comment are highlighted, making them stand out compared to other
29862 comments. The code blocks are highlighted according to the
29863 language they are written in.")
29864 (license license:gpl3+))))
29865
29866 (define-public emacs-helm-fish-completion
29867 (package
29868 (name "emacs-helm-fish-completion")
29869 (version "0.6")
29870 (home-page "https://github.com/emacs-helm/helm-fish-completion")
29871 (source
29872 (origin
29873 (method git-fetch)
29874 (uri (git-reference
29875 (url home-page)
29876 (commit version)))
29877 (file-name (git-file-name name version))
29878 (sha256
29879 (base32 "1j2vfngq3512naaayv9kx0d1q2zg1xgs69l8afc7swg72h0l0imw"))))
29880 (build-system emacs-build-system)
29881 (propagated-inputs
29882 (list emacs-helm emacs-fish-completion))
29883 (synopsis "Helm interface for Emacs fish-completion")
29884 (description "Helm Fish Completion is a Helm interface for Emacs
29885 fish-completion. It can be used in both Eshell and M-x shell.")
29886 (license license:gpl3+)))
29887
29888 (define-public emacs-helm-switch-to-repl
29889 (package
29890 (name "emacs-helm-switch-to-repl")
29891 (version "0.1.2")
29892 (home-page "https://github.com/emacs-helm/helm-switch-to-repl")
29893 (source
29894 (origin
29895 (method git-fetch)
29896 (uri (git-reference
29897 (url home-page)
29898 (commit version)))
29899 (file-name (git-file-name name version))
29900 (sha256
29901 (base32 "0n8qa549c5syvgqw1h2zrakjjbygddpxzaifaq5irscgdcajrads"))))
29902 (build-system emacs-build-system)
29903 (propagated-inputs
29904 (list emacs-helm))
29905 (synopsis "Helm action to switch directory in Emacs REPLs")
29906 (description "Helm \"Switch-to-REPL\" offers the
29907 @code{helm-switch-to-repl} action, a generalized and extensible version of
29908 @code{helm-ff-switch-to-shell}. It can be added to @code{helm-find-files} and
29909 other @code{helm-type-file} sources such as @code{helm-locate}.")
29910 (license license:gpl3+)))
29911
29912 (define-public emacs-telega-server
29913 (package
29914 (name "emacs-telega-server")
29915 (version "0.8.03")
29916 (source
29917 (origin
29918 (method git-fetch)
29919 (uri (git-reference
29920 (url "https://github.com/zevlg/telega.el")
29921 (commit (string-append "v" version))))
29922 (sha256
29923 (base32 "1ffy17i5fi1bw5r5m6x372c52hc1k83wxdxvi4z0hixyklj48nsv"))
29924 (file-name (git-file-name "emacs-telega" version))
29925 (patches
29926 (search-patches "emacs-telega-path-placeholder.patch"
29927 "emacs-telega-test-env.patch"))))
29928 (build-system gnu-build-system)
29929 (arguments
29930 (list
29931 #:make-flags
29932 #~(list (string-append "CC=" #$(cc-for-target))
29933 (string-append "INSTALL_PREFIX=" #$output "/bin"))
29934 #:phases
29935 #~(modify-phases %standard-phases
29936 (add-before 'configure 'enter-subdirectory
29937 (lambda _ (chdir "server")))
29938 (replace 'configure
29939 (lambda _
29940 (substitute* "run_tests.py"
29941 (("^(TELEGA_SERVER = ).*$" _all prefix)
29942 (string-append prefix
29943 "\"" #$output "/bin/telega-server\"\n")))))
29944 (delete 'check)
29945 (add-after 'install 'check
29946 (assoc-ref %standard-phases 'check))
29947 (add-before 'install-license-files 'leave-subdirectory
29948 (lambda _ (chdir ".."))))
29949 #:test-target "test"))
29950 (inputs
29951 (list tdlib-1.8.0 libappindicator))
29952 (native-inputs
29953 (list python pkg-config))
29954 (home-page "https://zevlg.github.io/telega.el/")
29955 (synopsis "Server process of Telega")
29956 (description "Telega-server is helper program to interact with Telegram
29957 service, and connect it with Emacs via inter-process communication.")
29958 (license license:gpl3+)))
29959
29960 (define-public emacs-telega
29961 (package
29962 (inherit emacs-telega-server)
29963 (name "emacs-telega")
29964 (build-system emacs-build-system)
29965 (arguments
29966 `(#:emacs ,(if (target-64bit?)
29967 emacs-minimal
29968 ;; Require wide-int support for 32-bit platform.
29969 emacs-wide-int)
29970 #:include (cons "^etc\\/" %default-include)
29971 #:phases
29972 (modify-phases %standard-phases
29973 (add-after 'unpack 'patch-sources
29974 (lambda* (#:key inputs #:allow-other-keys)
29975 ;; Hard-code paths to `ffplay` and `ffmpeg`.
29976 (let* ((ffplay-bin (search-input-file inputs "/bin/ffplay"))
29977 (ffmpeg-bin (search-input-file inputs "/bin/ffmpeg")))
29978 (substitute* '("telega-ffplay.el" "telega-vvnote.el")
29979 (("(shell-command-to-string\|concat) \"(ffmpeg\|ffprobe)"
29980 all func cmd)
29981 (string-append func " \""
29982 (search-input-file
29983 inputs (string-append "/bin/" cmd))))
29984 (("\\(executable-find \"ffplay\"\\)")
29985 (string-append "(and (file-executable-p \"" ffplay-bin "\")"
29986 "\"" ffplay-bin "\")"))
29987 (("\\(executable-find \"ffmpeg\"\\)")
29988 (string-append "(and (file-executable-p \"" ffmpeg-bin "\")"
29989 "\"" ffmpeg-bin "\")"))))))
29990 (add-after 'unpack 'configure
29991 (lambda* (#:key inputs outputs #:allow-other-keys)
29992 (substitute* "telega-customize.el"
29993 (("@TELEGA_SERVER_BIN@")
29994 (search-input-file inputs "/bin/telega-server")))
29995 (substitute* "telega-util.el"
29996 (("@TELEGA_SHARE@")
29997 (string-append (elpa-directory (assoc-ref outputs "out"))
29998 "/etc"))))))))
29999 (inputs
30000 (list emacs-telega-server ffmpeg))
30001 (native-inputs '())
30002 (propagated-inputs
30003 (list emacs-visual-fill-column emacs-company
30004 emacs-rainbow-identifiers))
30005 (synopsis "GNU Emacs client for the Telegram messenger")
30006 (description "Telega is a full-featured, unofficial GNU Emacs-based client
30007 for the Telegram messaging platform.")))
30008
30009 (define-public emacs-telega-contrib
30010 (package
30011 (inherit emacs-telega)
30012 (name "emacs-telega-contrib")
30013 (arguments
30014 `(#:exclude '("telega-live-location.el")
30015 #:phases
30016 (modify-phases %standard-phases
30017 (add-after 'unpack 'enter-subdirectory
30018 (lambda _ (chdir "contrib") #t))
30019 (add-before 'install-license-files 'leave-subdirectory
30020 (lambda _ (chdir "..") #t)))))
30021 (inputs '())
30022 (native-inputs '())
30023 (propagated-inputs
30024 (list emacs-alert emacs-all-the-icons emacs-dashboard emacs-telega))
30025 (synopsis "Contributed packages to Telega")
30026 (description "Telega-contrib is a collection of third-party
30027 contributed packages to Telega.")))
30028
30029 (define-public emacs-doom-modeline
30030 (package
30031 (name "emacs-doom-modeline")
30032 (version "3.3.1")
30033 (source
30034 (origin
30035 (method git-fetch)
30036 (uri (git-reference
30037 (url "https://github.com/seagle0128/doom-modeline")
30038 (commit (string-append "v" version))))
30039 (sha256
30040 (base32 "0p728hbphfch6kmkjxm1qwxrwz6l94s3sj7wl1wc4mp82zrdsi15"))
30041 (file-name (git-file-name name version))))
30042 (build-system emacs-build-system)
30043 (arguments
30044 `(#:test-command '("ert-runner")))
30045 (native-inputs (list emacs-ert-runner))
30046 (propagated-inputs
30047 (list emacs-all-the-icons emacs-compat emacs-dash emacs-shrink-path))
30048 (synopsis "Fancy and fast mode-line inspired by minimalism design")
30049 (description "Doom modeline is a complete modeline for GNU Emacs inspired
30050 by the Doom theme collection. This modeline features support for mode-specific
30051 icon support, git integration, and several other utilities.")
30052 (home-page "https://github.com/seagle0128/doom-modeline/")
30053 (license license:gpl3+)))
30054
30055 (define-public emacs-mood-line
30056 (package
30057 (name "emacs-mood-line")
30058 (version "1.2.5")
30059 (source
30060 (origin
30061 (method git-fetch)
30062 (uri (git-reference
30063 (url "https://gitlab.com/jessieh/mood-line")
30064 (commit version)))
30065 (file-name (git-file-name name version))
30066 (sha256
30067 (base32 "0z6s80j259xf8nxjxcsmp7wyvpcg5wyx58brlrbwg1aa9hl3fxga"))))
30068 (build-system emacs-build-system)
30069 (home-page "https://gitlab.com/jessieh/mood-line")
30070 (synopsis "Minimal mode-line for Emacs")
30071 (description
30072 "Mood-line is a minimal Emacs mode-line configuration that aims to
30073 replicate some of the features of the Doom modeline package.")
30074 (license license:gpl2+)))
30075
30076 (define-public emacs-simple-modeline
30077 (package
30078 (name "emacs-simple-modeline")
30079 (version "1.4")
30080 (source
30081 (origin
30082 (method git-fetch)
30083 (uri (git-reference
30084 (url "https://github.com/gexplorer/simple-modeline")
30085 (commit version)))
30086 (file-name (git-file-name name version))
30087 (sha256
30088 (base32
30089 "1rnzrx7gcaw056cqvnb1wai4hala0r0gpk3a4kyyghyp9hmrxbb5"))))
30090 (build-system emacs-build-system)
30091 (home-page "https://github.com/gexplorer/simple-modeline")
30092 (synopsis "Simple mode-line configuration for Emacs")
30093 (description
30094 "This package provides a simple mode-line configuration for Emacs.")
30095 (license license:gpl3+)))
30096
30097 (define-public emacs-frames-only-mode
30098 (package
30099 (name "emacs-frames-only-mode")
30100 (version "1.0.0")
30101 (source
30102 (origin
30103 (method git-fetch)
30104 (uri (git-reference
30105 (url "https://github.com/davidshepherd7/frames-only-mode")
30106 (commit version)))
30107 (file-name (git-file-name name version))
30108 (sha256
30109 (base32 "0y0sdjixaxvywrlp2sw51wnczhk51q1svl5aghbk9rkxpwv9ys9v"))))
30110 (build-system emacs-build-system)
30111 (propagated-inputs
30112 (list emacs-dash emacs-s))
30113 (home-page "https://github.com/davidshepherd7/frames-only-mode")
30114 (synopsis "Use frames instead of Emacs windows")
30115 (description
30116 "This is an Emacs global minor mode to use Emacs frames instead of Emacs'
30117 internal windowing system. This combines particularly well with tiling window
30118 managers such as XMonad.")
30119 (license license:gpl3+)))
30120
30121 (define-public emacs-modalka
30122 (package
30123 (name "emacs-modalka")
30124 (version "0.1.5")
30125 (source
30126 (origin
30127 (method git-fetch)
30128 (uri (git-reference
30129 (url "https://github.com/mrkkrp/modalka")
30130 (commit version)))
30131 (file-name (git-file-name name version))
30132 (sha256
30133 (base32 "0ggj8q92sb6wp3hs1vhpmy56id0p3i9zwnw24g2v7xa7w8ac9s7l"))))
30134 (build-system emacs-build-system)
30135 (home-page "https://github.com/mrkkrp/modalka")
30136 (synopsis "Minor mode to easily define native custom modal editing")
30137 (description
30138 "This is a building kit to help switch to modal editing in Emacs. The
30139 main goal of the package is to make modal editing in Emacs as natural and
30140 native as possible. Modalka lets you define your own keys and does not come
30141 with a preconfigured set of keys.")
30142 (license license:gpl3+)))
30143
30144 (define-public emacs-shrink-path
30145 (package
30146 (name "emacs-shrink-path")
30147 (version "0.3.1")
30148 (source
30149 (origin
30150 (method git-fetch)
30151 (uri (git-reference
30152 (url "https://gitlab.com/bennya/shrink-path.el.git")
30153 (commit (string-append "v" version))))
30154 (sha256
30155 (base32
30156 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
30157 (file-name (git-file-name name version))))
30158 (build-system emacs-build-system)
30159 (propagated-inputs
30160 (list emacs-s emacs-dash emacs-f))
30161 (home-page "https://gitlab.com/bennya/shrink-path.el")
30162 (synopsis "Fish-style path truncation in emacs-lisp")
30163 (description "This package provides utility functions that allow for
30164 Fish-style truncated directories in eshell and various modelines.")
30165 (license license:gpl3+)))
30166
30167 (define-public emacs-org-present
30168 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
30169 (package
30170 (name "emacs-org-present")
30171 (version "0.0.1")
30172 (source
30173 (origin
30174 (method git-fetch)
30175 (uri (git-reference
30176 (url "https://github.com/rlister/org-present")
30177 (commit commit)))
30178 (file-name (git-file-name name version))
30179 (sha256
30180 (base32
30181 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
30182 (build-system emacs-build-system)
30183 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
30184 (description "Org-present is an extremely minimalist presentation tool
30185 for Emacs org-mode. Simply layout your presentation with each slide under a
30186 top-level header, start the minor mode with @code{org-present}, and page through
30187 each slide with left/right keys.")
30188 (home-page "https://github.com/rlister/org-present")
30189 (license license:gpl2))))
30190
30191 (define-public emacs-fullframe
30192 (package
30193 (name "emacs-fullframe")
30194 (version "0.5.1")
30195 (source
30196 (origin
30197 (method git-fetch)
30198 (uri (git-reference
30199 (url "https://git.sr.ht/~tomterl/fullframe")
30200 (commit version)))
30201 (sha256
30202 (base32 "1q276p3bagx9fhzyzjmz449f95k1z287x4p34980d06klj11lrab"))
30203 (file-name (git-file-name name version))))
30204 (build-system emacs-build-system)
30205 (home-page "https://git.sr.ht/~tomterl/fullframe")
30206 (synopsis "Generalized automatic execution in a single frame")
30207 (description
30208 "This library provides helpers for single-window-per-frame execution of
30209 buffer-exposing commands.")
30210 (license license:gpl3+)))
30211
30212 (define-public emacs-eshell-toggle
30213 (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
30214 (revision "1"))
30215 (package
30216 (name "emacs-eshell-toggle")
30217 (version (git-version "0.10.0" revision commit))
30218 (source
30219 (origin
30220 (method git-fetch)
30221 (uri (git-reference
30222 (url "https://github.com/4DA/eshell-toggle")
30223 (commit commit)))
30224 (sha256
30225 (base32
30226 "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
30227 (file-name (git-file-name name version))))
30228 (build-system emacs-build-system)
30229 (propagated-inputs
30230 (list emacs-dash))
30231 (home-page "https://github.com/4DA/eshell-toggle")
30232 (synopsis "Show and hide an @code{eshell} instance")
30233 (description "This package toggles an @code{eshell} instance for the
30234 current buffer.")
30235 (license license:gpl3+))))
30236
30237 (define-public emacs-repl-toggle
30238 (package
30239 (name "emacs-repl-toggle")
30240 (version "0.7.2")
30241 (source
30242 (origin
30243 (method git-fetch)
30244 (uri (git-reference
30245 (url "https://git.sr.ht/~tomterl/repl-toggle")
30246 (commit version)))
30247 (sha256
30248 (base32
30249 "18dpy7a7yrn7m7qifrjk5zcr6zbd3kwp9pb55la9052vwipxxvfk"))
30250 (file-name (git-file-name name version))))
30251 (build-system emacs-build-system)
30252 (propagated-inputs
30253 (list emacs-fullframe))
30254 (home-page "https://git.sr.ht/~tomterl/repl-toggle")
30255 (synopsis "Switch to and from current major mode's REPL")
30256 (description "This package provides a function to switch to and from a
30257 REPL appropriate to the current major mode.")
30258 (license license:gpl3+)))
30259
30260 (define-public emacs-rime
30261 (package
30262 (name "emacs-rime")
30263 (version "1.0.5")
30264 (source
30265 (origin
30266 (method git-fetch)
30267 (uri (git-reference
30268 (url "https://github.com/DogLooksGood/emacs-rime")
30269 (commit (string-append "v" version))))
30270 (file-name (git-file-name name version))
30271 (sha256
30272 (base32 "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237"))))
30273 (build-system emacs-build-system)
30274 (arguments
30275 '(#:include (cons "\\.so$" %default-include)
30276 #:phases
30277 (modify-phases %standard-phases
30278 (add-after 'unpack 'patch-rime-data-path
30279 (lambda* (#:key inputs #:allow-other-keys)
30280 (make-file-writable "rime.el")
30281 (emacs-substitute-variables "rime.el"
30282 ("rime-share-data-dir"
30283 (search-input-directory inputs
30284 "share/rime-data")))))
30285 (add-before 'install 'build-emacs-module
30286 (lambda _
30287 (invoke "make" "lib"))))))
30288 (inputs
30289 (list librime rime-data))
30290 (propagated-inputs
30291 (list emacs-dash emacs-popup emacs-posframe))
30292 (home-page "https://github.com/DogLooksGood/emacs-rime")
30293 (synopsis "Rime input method in Emacs")
30294 (description
30295 "Rime is an Emacs input method built upon Rime input method engine.")
30296 (license license:gpl3+)))
30297
30298 (define-public emacs-bison-mode
30299 (package
30300 (name "emacs-bison-mode")
30301 (version "0.4")
30302 (source
30303 (origin
30304 (method url-fetch)
30305 (uri (string-append
30306 "https://elpa.nongnu.org/nongnu/bison-mode-"
30307 version ".tar"))
30308 (sha256
30309 (base32 "19n9kz1ycjpxngd3clzr8lzrnnw19l8sfvlx1yqn35hk7017z7ab"))))
30310 (build-system emacs-build-system)
30311 (home-page "https://elpa.nongnu.org/nongnu/bison-mode.html")
30312 (synopsis "Major mode for editing Bison, Yacc, and Lex files")
30313 (description
30314 "This Emacs package provides a major mode for editing Bison, Yacc, and
30315 Lex files.")
30316 (license license:gpl2+)))
30317
30318 (define-public emacs-blackout
30319 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
30320 (revision "1"))
30321 (package
30322 (name "emacs-blackout")
30323 (version (git-version "1.0" revision commit))
30324 (source
30325 (origin
30326 (method git-fetch)
30327 (uri (git-reference
30328 (url "https://github.com/raxod502/blackout")
30329 (commit commit)))
30330 (sha256
30331 (base32
30332 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
30333 (file-name (git-file-name name version))))
30334 (build-system emacs-build-system)
30335 (home-page "https://github.com/raxod502/blackout")
30336 (synopsis "Clean up mode lighters")
30337 (description "This package provides a function for hiding and customizing
30338 display of major and minor modes in the mode line.")
30339 (license license:gpl3+))))
30340
30341 (define-public emacs-ivy-omni-org
30342 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
30343 (revision "1"))
30344 (package
30345 (name "emacs-ivy-omni-org")
30346 (version (git-version "0.2.1" revision commit))
30347 (source
30348 (origin
30349 (method git-fetch)
30350 (uri (git-reference
30351 (url "https://github.com/akirak/ivy-omni-org")
30352 (commit commit)))
30353 (file-name (git-file-name name version))
30354 (sha256
30355 (base32
30356 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
30357 (build-system emacs-build-system)
30358 (propagated-inputs
30359 (list emacs-ivy emacs-dash))
30360 (synopsis "Browse anything in Org mode")
30361 (description "This package allows Org items to be accessed via the Ivy
30362 interface.")
30363 (home-page "https://github.com/akirak/ivy-omni-org")
30364 (license license:gpl3+))))
30365
30366 (define-public emacs-ivy-posframe
30367 (package
30368 (name "emacs-ivy-posframe")
30369 (version "0.6.3")
30370 (source
30371 (origin
30372 (method url-fetch)
30373 (uri (string-append "https://elpa.gnu.org/packages/"
30374 "ivy-posframe-" version ".tar"))
30375 (sha256
30376 (base32 "0b498qzaydjrhplx4d7zcrs883dlrhfiz812sv4m3pmhfwifcchh"))))
30377 (build-system emacs-build-system)
30378 (propagated-inputs
30379 (list emacs-ivy emacs-posframe))
30380 (home-page "https://github.com/tumashu/ivy-posframe")
30381 (synopsis "Pop a posframe (a child frame) to show Ivy candidates")
30382 (description
30383 "This package provides an Emacs Ivy extension, which let Ivy use
30384 posframe to show its candidate menu.")
30385 (license license:gpl3+)))
30386
30387 (define-public emacs-shackle
30388 (package
30389 (name "emacs-shackle")
30390 (version "1.0.4")
30391 (source
30392 (origin
30393 (method git-fetch)
30394 (uri (git-reference
30395 (url "https://depp.brause.cc/shackle.git")
30396 (commit version)))
30397 (file-name (git-file-name name version))
30398 (sha256
30399 (base32 "0s4br59zpd5qq7z9074ddq9lmwnddq2ixijwi666wp5gxw45fpgg"))))
30400 (build-system emacs-build-system)
30401 (synopsis "Enforce rules for popups")
30402 (description
30403 "This package provides a global minor mode in which users
30404 can specify how popup-displaying functions occupy the screen.")
30405 (home-page "https://depp.brause.cc/shackle")
30406 (license license:gpl3+)))
30407
30408 (define-public emacs-showtip
30409 (let ((commit "930da302809a4257e8d69425455b29e1cc91949b")
30410 (revision "0"))
30411 (package
30412 (name "emacs-showtip")
30413 (version (git-version "0.01" revision commit))
30414 (source
30415 (origin
30416 (method git-fetch)
30417 (uri (git-reference
30418 (url "https://github.com/emacsorphanage/showtip")
30419 (commit commit)))
30420 (file-name (git-file-name name version))
30421 (sha256
30422 (base32 "01zak0zhha6dp7a2hm28d065gjnc462iwpsfyxhbxgfzcdlicqc7"))))
30423 (build-system emacs-build-system)
30424 (home-page "https://github.com/emacsorphanage/showtip")
30425 (synopsis "Show tip at cursor")
30426 (description
30427 "This library provide one function to show tooltip near the cursor.")
30428 (license license:gpl2+))))
30429
30430 (define-public emacs-sdcv
30431 ;; No tagged version upstream.
30432 (let ((commit "943ae3e90cc9a0a88a37cc710acd7424fd4defc4" )
30433 (revision "0"))
30434 (package
30435 (name "emacs-sdcv")
30436 (version (git-version "1.5.2" revision commit))
30437 (source
30438 (origin
30439 (method git-fetch)
30440 (uri (git-reference
30441 (url "https://github.com/stardiviner/sdcv.el")
30442 (commit commit)))
30443 (file-name (git-file-name name version))
30444 (sha256
30445 (base32 "0i1ylvw7p46pkf3yyyzcdmdhsspzymnnnvx8s0i7vynngr5x0vzh"))))
30446 (build-system emacs-build-system)
30447 (propagated-inputs
30448 (list emacs-popup emacs-pos-tip emacs-showtip))
30449 (home-page "https://www.emacswiki.org/emacs/download/sdcv.el")
30450 (synopsis "Emacs interface for @code{sdcv}")
30451 (description
30452 "This plugin translates words with @code{sdcv}, and displays
30453 translation using a tooltip or in a dedicated buffer.")
30454 (license license:gpl3+))))
30455
30456 (define-public emacs-helm-lacarte
30457 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
30458 (revision "1"))
30459 (package
30460 (name "emacs-helm-lacarte")
30461 (version (git-version "0" revision commit))
30462 (source
30463 (origin
30464 (method git-fetch)
30465 (uri (git-reference
30466 (url "https://github.com/emacs-helm/helm-lacarte")
30467 (commit commit)))
30468 (file-name (git-file-name name version))
30469 (sha256
30470 (base32
30471 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
30472 (build-system emacs-build-system)
30473 (propagated-inputs
30474 (list emacs-helm emacs-lacarte))
30475 (synopsis "Helm interface to @code{lacarte.el}")
30476 (description "This package provides a Helm interface to
30477 @code{lacarte.el}, a package that displays mode-specific commands as menu
30478 items.")
30479 (home-page "https://github.com/emacs-helm/helm-lacarte")
30480 (license license:gpl3+))))
30481
30482 (define-public emacs-esh-help
30483 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
30484 (revision "1"))
30485 (package
30486 (name "emacs-esh-help")
30487 (version (git-version "1.0.1" revision commit))
30488 (source
30489 (origin
30490 (method git-fetch)
30491 (uri (git-reference
30492 (url "https://github.com/tom-tan/esh-help")
30493 (commit commit)))
30494 (file-name (git-file-name name version))
30495 (sha256
30496 (base32
30497 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
30498 (build-system emacs-build-system)
30499 (propagated-inputs
30500 (list emacs-dash))
30501 (synopsis "Help functions for Eshell")
30502 (description "This package provides a @code{run-help} function inspired
30503 by @code{zsh} as well as @code{eldoc} support.")
30504 (home-page "https://github.com/tom-tan/esh-help")
30505 (license license:gpl3+))))
30506
30507 (define-public emacs-isearch-dabbrev
30508 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
30509 (revision "1"))
30510 (package
30511 (name "emacs-isearch-dabbrev")
30512 (version (git-version "0.1" revision commit))
30513 (source
30514 (origin
30515 (method git-fetch)
30516 (uri (git-reference
30517 (url "https://github.com/Dewdrops/isearch-dabbrev")
30518 (commit commit)))
30519 (file-name (git-file-name name version))
30520 (sha256
30521 (base32
30522 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
30523 (build-system emacs-build-system)
30524 (synopsis "Use @code{dabbrev} within @code{isearch}")
30525 (description "This package allows @code{dabbrev-expand} to be used
30526 within @code{isearch-mode}.")
30527 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
30528 (license license:gpl3+))))
30529
30530 (define-public emacs-helm-linux-disks
30531 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
30532 (revision "1"))
30533 (package
30534 (name "emacs-helm-linux-disks")
30535 (version (git-version "0.1" revision commit))
30536 (source
30537 (origin
30538 (method git-fetch)
30539 (uri (git-reference
30540 (url "https://github.com/Akirak/helm-linux-disks")
30541 (commit commit)))
30542 (file-name (git-file-name name version))
30543 (sha256
30544 (base32
30545 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
30546 (build-system emacs-build-system)
30547 (propagated-inputs
30548 (list emacs-helm))
30549 (synopsis "Mount/unmount volumes in Linux via Helm")
30550 (description "This package provides a Helm interface to run operations
30551 on removable volumes in Linux.")
30552 (home-page "https://github.com/Akirak/helm-linux-disks")
30553 (license license:gpl3+))))
30554
30555 (define-public emacs-psession
30556 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
30557 (revision "1"))
30558 (package
30559 (name "emacs-psession")
30560 (version (git-version "1.5" revision commit))
30561 (source
30562 (origin
30563 (method git-fetch)
30564 (uri (git-reference
30565 (url "https://github.com/thierryvolpiatto/psession")
30566 (commit commit)))
30567 (file-name (git-file-name name version))
30568 (sha256
30569 (base32
30570 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
30571 (build-system emacs-build-system)
30572 (propagated-inputs
30573 (list emacs-async))
30574 (synopsis "Persistent save of @code{elisp} objects")
30575 (description "This package provides minor modes for saving Emacs session
30576 data, including buffers, window configuration, variables, and more.")
30577 (home-page "https://github.com/thierryvolpiatto/psession")
30578 (license license:gpl3+))))
30579
30580 (define-public emacs-parseedn
30581 (package
30582 (name "emacs-parseedn")
30583 (version "1.1.0")
30584 (source
30585 (origin
30586 (method git-fetch)
30587 (uri (git-reference
30588 (url "https://github.com/clojure-emacs/parseedn")
30589 (commit (string-append "v" version))))
30590 (file-name (git-file-name name version))
30591 (sha256
30592 (base32 "01j8nrkcm2s0ps277b5zb4pys29lk4cq49rlcqpj19gbfpkwcvdv"))))
30593 (build-system emacs-build-system)
30594 (propagated-inputs
30595 (list emacs-a emacs-parseclj))
30596 (home-page "https://cider.mx")
30597 (synopsis "EDN parser for Emacs Lisp")
30598 (description
30599 "Parseedn is an Emacs Lisp library for parsing EDN (Clojure) data.
30600 It uses parseclj's shift-reduce parser internally.")
30601 (license license:gpl3+)))
30602
30603 (define-public emacs-parseclj
30604 (package
30605 (name "emacs-parseclj")
30606 (version "1.1.0")
30607 (source
30608 (origin
30609 (method git-fetch)
30610 (uri (git-reference
30611 (url "https://github.com/clojure-emacs/parseclj")
30612 (commit (string-append "v" version))))
30613 (file-name (git-file-name name version))
30614 (sha256
30615 (base32 "0ifc9gyp7hr97ssnsqxiwrzmldqysz874crlg6jm4iy5l9fyls22"))))
30616 (build-system emacs-build-system)
30617 (propagated-inputs (list emacs-a))
30618 (home-page "https://cider.mx")
30619 (synopsis "Clojure parser for Emacs Lisp")
30620 (description
30621 "Parseclj is an Emacs Lisp library for parsing Clojure code and EDN data.
30622 It supports several input and output formats, all powered by the same
30623 shift-reduce parser function.")
30624 (license license:gpl3+)))
30625
30626 (define-public emacs-hide-mode-line
30627 (package
30628 (name "emacs-hide-mode-line")
30629 (version "1.0.2")
30630 (source (origin
30631 (method git-fetch)
30632 (uri (git-reference
30633 (url "https://github.com/hlissner/emacs-hide-mode-line")
30634 (commit (string-append "v" version))))
30635 (file-name (git-file-name name version))
30636 (sha256
30637 (base32
30638 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
30639 (build-system emacs-build-system)
30640 (synopsis "Emacs plugin that hides the mode-line")
30641 (description "A minor mode that hides the mode-line in your current
30642 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
30643 or simply disable the mode-line in buffers where it is not very useful.")
30644 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
30645 (license license:expat)))
30646
30647 (define-public emacs-helm-cider
30648 (package
30649 (name "emacs-helm-cider")
30650 (version "0.5.0")
30651 (source (origin
30652 (method git-fetch)
30653 (uri (git-reference
30654 (url "https://github.com/clojure-emacs/helm-cider")
30655 (commit (string-append "v" version))))
30656 (file-name (git-file-name name version))
30657 (sha256
30658 (base32
30659 "0jjjy68pmmsx0biawyi5581cqh2b4zb0q8f5vs49ihpzn6zc04vk"))))
30660 (build-system emacs-build-system)
30661 (propagated-inputs
30662 (list emacs-helm emacs-cider))
30663 (home-page "https://github.com/clojure-emacs/helm-cider")
30664 (synopsis "Helm interface to Clojure's CIDER")
30665 (description "Helm-CIDER adds Helm interfaces to
30666 @command{cider-apropos}, @command{cider-apropos-documentation},
30667 @command{cider-browse-ns} (namespaces).
30668
30669 It also provides original Helm commands: @command{helm-cider-spec},
30670 @command{helm-cider-spec-ns}, @command{helm-cider-repl-history},
30671 @command{helm-cider-cheatsheet}.")
30672 (license license:gpl3+)))
30673
30674 (define-public emacs-edn
30675 ;; No release since February 2016
30676 (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
30677 (package
30678 (name "emacs-edn")
30679 (version (git-version "1.1.2" "1" commit))
30680 (home-page "https://github.com/expez/edn.el")
30681 (source (origin
30682 (method git-fetch)
30683 (uri (git-reference
30684 (url home-page)
30685 (commit commit)))
30686 (file-name (git-file-name name version))
30687 (sha256
30688 (base32
30689 "1xp2hjhn52k6l1g6ypva6dsklpawni7gvjafbz6404f9dyxflh7l"))))
30690 (build-system emacs-build-system)
30691 (propagated-inputs
30692 (list emacs-peg))
30693 (synopsis "Read and write EDN from Elisp")
30694 (description "This is an Emacs Lisp library for reading and writing the
30695 data format @code{edn}. See @url{https://github.com/edn-format/edn}.")
30696 (license license:gpl3+))))
30697
30698 (define-public emacs-ednc
30699 (let ((commit "940a4adbbeb3b6b1a72270a814d52770dd89a997")
30700 (revision "1"))
30701 (package
30702 (name "emacs-ednc")
30703 (version (git-version "0.1" revision commit))
30704 (source
30705 (origin
30706 (method git-fetch)
30707 (uri (git-reference
30708 (url "https://github.com/sinic/ednc")
30709 (commit commit)))
30710 (sha256
30711 (base32 "1gsx2qgv5xm9r0i0axd4hf31g2rq2m4a1hvnif48g4xb0llss73c"))))
30712 (build-system emacs-build-system)
30713 (home-page "https://github.com/sinic/ednc")
30714 (synopsis "Emacs Desktop Notification Center")
30715 (description
30716 "The Emacs Desktop Notification Center (EDNC) is an Emacs package written
30717 in pure Lisp that implements a Desktop Notifications service according to the
30718 freedesktop.org specification. EDNC aspires to be a small, but flexible
30719 drop-in replacement of standalone daemons like Dunst.")
30720 (license license:gpl3+))))
30721
30722 (define-public emacs-helm-clojuredocs
30723 (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
30724 (package
30725 (name "emacs-helm-clojuredocs")
30726 (version (git-version "0.3" "1" commit))
30727 (home-page "https://github.com/mbuczko/helm-clojuredocs")
30728 (source (origin
30729 (method git-fetch)
30730 (uri (git-reference
30731 (url home-page)
30732 (commit commit)))
30733 (file-name (git-file-name name version))
30734 (sha256
30735 (base32
30736 "015b8zxh91ljhqvn6z43gy08di54xcw9skw0i7frj3d7gk984qhl"))))
30737 (build-system emacs-build-system)
30738 (propagated-inputs
30739 (list emacs-helm emacs-edn))
30740 (synopsis "Search help on clojuredocs.org with Helm")
30741 (description "This package provides a Helm interface to lookup Clojure
30742 documentation on @url{https://clojuredocs.org} with Helm.
30743
30744 Two function are exposed:
30745 @itemize
30746 @item @command{helm-clojuredocs}: opens a Helm session with no initial
30747 pattern. Searching starts with minimal 3 characters entered.
30748 @item @command{helm-clojuredocs-at-point}: opens a Helm session with initial
30749 pattern guessed from thing under current cursor position.
30750 @end itemize\n")
30751 (license license:gpl3+))))
30752
30753 (define-public emacs-helm-selector
30754 (package
30755 (name "emacs-helm-selector")
30756 (version "0.6.1")
30757 (home-page "https://github.com/emacs-helm/helm-selector")
30758 (source
30759 (origin
30760 (method git-fetch)
30761 (uri (git-reference
30762 (url home-page)
30763 (commit version)))
30764 (file-name (git-file-name name version))
30765 (sha256
30766 (base32
30767 "01lh1df0bnas1p7xlqc4i1jd67f8lxgq0q2zsvx10z8828i76j3v"))))
30768 (build-system emacs-build-system)
30769 (propagated-inputs
30770 (list emacs-helm))
30771 (synopsis "Convenient related-buffer selection for Emacs Helm")
30772 (description "Helm Selector is a collection of Helm helper functions for
30773 convenient buffer selection.
30774
30775 It is especially helpful to create Helm sessions to navigate buffers of a
30776 given mode in a “do what I mean” fashion:
30777
30778 If current buffer is not of mode X, switch to last buffer of mode X. If
30779 current buffer is of mode X, show a Helm session of all buffers in mode X. In
30780 the Helm session, it’s also possible to input an arbitrary name which will be
30781 used for the creation of a new buffer of mode X.")
30782 (license license:gpl3+)))
30783
30784 (define-public emacs-helm-wordnut
30785 (let ((commit "9681a9535a839cd5d042c302945ae595852fe7bf"))
30786 (package
30787 (name "emacs-helm-wordnut")
30788 (version (git-version "0.1" "1" commit))
30789 (home-page "https://github.com/emacs-helm/helm-wordnut")
30790 (source
30791 (origin
30792 (method git-fetch)
30793 (uri (git-reference
30794 (url home-page)
30795 (commit commit)))
30796 (file-name (git-file-name name version))
30797 (sha256
30798 (base32
30799 "0msj7nbsb363pxamxi7n2z08cp5jizkpjbwia8f5a161wjglrihs"))))
30800 (build-system emacs-build-system)
30801 (inputs
30802 (list wordnet))
30803 (propagated-inputs
30804 (list emacs-helm))
30805 (arguments
30806 `(#:phases
30807 (modify-phases %standard-phases
30808 (add-after 'unpack 'configure
30809 (lambda* (#:key inputs #:allow-other-keys)
30810 (let ((wn (assoc-ref inputs "wordnet")))
30811 ;; .el is read-only in git.
30812 (chmod "helm-wordnut.el" #o644)
30813 ;; Specify the absolute file names of the various
30814 ;; programs so that everything works out-of-the-box.
30815 (emacs-substitute-variables "helm-wordnut.el"
30816 ("helm-wordnut-prog" (string-append wn "/bin/wn"))
30817 ("helm-wordnut-wordnet-location"
30818 (string-append wn "/dict")))))))))
30819 (synopsis "Emacs Helm interface for Wordnet")
30820 (description "This package is merely a combination of two other Emacs
30821 packages: @code{helm-wordnet} and @code{wordnut}. It features word completion
30822 with Helm and displays a buffer of all the different result types available to
30823 Wordnet.")
30824 (license license:gpl3+))))
30825
30826 (define-public emacs-helm-xref
30827 (package
30828 (name "emacs-helm-xref")
30829 (version "1.0")
30830 (source
30831 (origin
30832 (method git-fetch)
30833 (uri (git-reference
30834 (url "https://github.com/brotzeit/helm-xref")
30835 (commit version)))
30836 (file-name (git-file-name name version))
30837 (sha256
30838 (base32 "0v0wm1x11r1h9p139c5rl0r4s5q6092bmwrsnr2140ddbq34mnvy"))))
30839 (build-system emacs-build-system)
30840 (propagated-inputs
30841 (list emacs-helm))
30842 (home-page "https://github.com/brotzeit/helm-xref")
30843 (synopsis "Helm interface for @code{xref}")
30844 (description "This package provides a Helm interface for selecting
30845 @code{xref} results.")
30846 (license license:gpl3+)))
30847
30848 (define-public emacs-metal-mercury-mode
30849 (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
30850 (revision "1")
30851 (version "0.0.0"))
30852 (package
30853 (name "emacs-metal-mercury-mode")
30854 (version (git-version version revision commit))
30855 (source
30856 (origin
30857 (method git-fetch)
30858 (uri (git-reference
30859 (url "https://github.com/ahungry/metal-mercury-mode")
30860 (commit commit)))
30861 (sha256
30862 (base32
30863 "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5"))
30864 (file-name (git-file-name name version))))
30865 (build-system emacs-build-system)
30866 (propagated-inputs
30867 (list emacs-dash))
30868 (synopsis "Major mode for editing Mercury files")
30869 (description
30870 "Major mode for editing Mercury files. This is a rewrite of the original
30871 mercury-mode provided by Emacs as a wrapper around prolog-mode.")
30872 (home-page "https://github.com/ahungry/metal-mercury-mode")
30873 (license license:gpl3+))))
30874
30875 (define-public emacs-boxquote
30876 (package
30877 (name "emacs-boxquote")
30878 (version "2.3")
30879 (source
30880 (origin
30881 (method git-fetch)
30882 (uri (git-reference
30883 (url "https://github.com/davep/boxquote.el")
30884 (commit (string-append "v" version))))
30885 (file-name (git-file-name name version))
30886 (sha256
30887 (base32 "0d7m9kcwhbgv4pikaa2dzlg9zkmwdhyx2ksn68di6xzbh838892q"))))
30888 (build-system emacs-build-system)
30889 (home-page "https://github.com/davep/boxquote.el")
30890 (synopsis "Quote text with different kinds of boxes")
30891 (description "@code{boxquote} provides a set of functions for using
30892 a text quoting style that partially boxes in the left hand side of an area of
30893 text, such a marking style might be used to show externally included text or
30894 example code.")
30895 (license license:gpl3+)))
30896
30897 (define-public emacs-buffer-env
30898 (package
30899 (name "emacs-buffer-env")
30900 (version "0.4")
30901 (source (origin
30902 (method url-fetch)
30903 (uri (string-append "https://elpa.gnu.org/packages/buffer-env-"
30904 version ".tar"))
30905 (sha256
30906 (base32
30907 "0y8ik87dqldhn6q631zp2ln9z5byqgm9icrvr4xrdx6g8mr9c56z"))))
30908 (build-system emacs-build-system)
30909 (propagated-inputs (list emacs-compat))
30910 (home-page "https://github.com/astoff/buffer-env")
30911 (synopsis "Create buffer-local process environments")
30912 (description "This package creates buffer-local environments using scripts
30913 similar to Direnv. This allows Emacs to call the correct version of external
30914 programs such as linters, compilers, and language servers on a per-project
30915 basis.")
30916 (license license:gpl3+)))
30917
30918 (define-public emacs-buffer-move
30919 (package
30920 (name "emacs-buffer-move")
30921 (version "0.6.2")
30922 (source
30923 (origin
30924 (method git-fetch)
30925 (uri (git-reference
30926 (url "https://github.com/lukhas/buffer-move")
30927 (commit version)))
30928 (file-name (git-file-name name version))
30929 (sha256
30930 (base32 "0xdks4jfqyhkh34y48iq3gz8swp0f526kwnaai5mhgvazvs4za8c"))))
30931 (build-system emacs-build-system)
30932 (home-page "https://github.com/lukhas/buffer-move")
30933 (synopsis "Functions for moving Emacs' buffers around")
30934 (description
30935 "This package define functions for swapping buffers between windows
30936 contained in the same frame. An alternate behavior is to have the current
30937 window switch to the previous buffer instead of swapping with the other
30938 window.")
30939 (license license:gpl3+)))
30940
30941 (define-public emacs-company-ebdb
30942 (package
30943 (name "emacs-company-ebdb")
30944 (version "1.1")
30945 (source
30946 (origin
30947 (method url-fetch)
30948 (uri (string-append "https://elpa.gnu.org/packages/"
30949 "company-ebdb-" version ".el"))
30950 (sha256
30951 (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"))))
30952 (build-system emacs-build-system)
30953 (propagated-inputs
30954 (list emacs-company))
30955 (home-page "https://elpa.gnu.org/packages/company-ebdb.html")
30956 (synopsis "Company completion backend for EBDB in Message mode")
30957 (description "@code{company-ebdb} provides Company mode integration for
30958 EBDB. It is copied more or less intact from @code{company-bbdb}, originally
30959 by Jan Tatarik.")
30960 (license license:gpl3+)))
30961
30962 (define-public emacs-mwim
30963 ;; Use the latest commit not in a release version as of yet, since it
30964 ;; contains a bug fix for the cases where `comment-start-skip' is nil.
30965 (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
30966 (revision "0"))
30967 (package
30968 (name "emacs-mwim")
30969 (version (git-version "0.4" revision commit))
30970 (source
30971 (origin
30972 (method git-fetch)
30973 (uri (git-reference
30974 (url "https://github.com/alezost/mwim.el")
30975 (commit commit)))
30976 (file-name (git-file-name name version))
30977 (sha256
30978 (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"))))
30979 (build-system emacs-build-system)
30980 (home-page "https://github.com/alezost/mwim.el")
30981 (synopsis "Move to the beginning/end of line, code or comment")
30982 (description "@code{mwim} provides several commands to switch between
30983 various line positions, like moving to the beginning/end of code, line, or
30984 comment.")
30985 (license license:gpl3+))))
30986
30987 (define-public emacs-delight
30988 (package
30989 (name "emacs-delight")
30990 (version "1.7")
30991 (source
30992 (origin
30993 (method url-fetch)
30994 (uri (string-append "https://elpa.gnu.org/packages/"
30995 "delight-" version ".el"))
30996 (sha256
30997 (base32 "0pihsghrf9xnd1kqlq48qmjcmp5ra95wwwgrb3l8m1wagmmc0bi1"))))
30998 (build-system emacs-build-system)
30999 (home-page "https://elpa.gnu.org/packages/delight.html")
31000 (synopsis "Dimmer switch for your mode-line lighter text")
31001 (description "@code{delight} enables customizing or hiding the
31002 mode-line text (lighter) of major and minor modes.")
31003 (license license:gpl3+)))
31004
31005 (define-public emacs-unkillable-scratch
31006 ;; Use the latest (unreleased) commit as of now, since it contains a handy
31007 ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
31008 ;; repopulate the scratch buffer with `initial-scratch-message'.
31009 (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab")
31010 (revision "0"))
31011 (package
31012 (name "emacs-unkillable-scratch")
31013 (version (git-version "1.0.0" revision commit))
31014 (source
31015 (origin
31016 (method git-fetch)
31017 (uri (git-reference
31018 (url "https://github.com/EricCrosson/unkillable-scratch")
31019 (commit commit)))
31020 (file-name (git-file-name name version))
31021 (sha256
31022 (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa"))))
31023 (build-system emacs-build-system)
31024 (home-page "https://github.com/EricCrosson/unkillable-scratch")
31025 (synopsis "Prevents the *scratch* buffer from being killed")
31026 (description "@code{unkillable-scratch} helps prevent killing buffers
31027 matching a given regexp.")
31028 (license license:gpl2+))))
31029
31030 (define-public emacs-switch-buffer-functions
31031 (package
31032 (name "emacs-switch-buffer-functions")
31033 (version "0.0.1")
31034 (source
31035 (origin
31036 (method git-fetch)
31037 (uri (git-reference
31038 (url "https://github.com/10sr/switch-buffer-functions-el")
31039 (commit (string-append "v" version))))
31040 (file-name (git-file-name name version))
31041 (sha256
31042 (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
31043 (build-system emacs-build-system)
31044 (home-page "https://github.com/10sr/switch-buffer-functions-el")
31045 (synopsis "Hooks run when switching current buffer")
31046 (description "This package provides a hook variable
31047 @code{switch-buffer-functions}. The hooks will be run when the current buffer
31048 is changed after an interactive command, i.e., when @code{post-command-hook}
31049 hooks are run. The hooked functions will be called with both the previous and
31050 the current buffer.")
31051 (license license:unlicense)))
31052
31053 (define-public emacs-erc-scrolltoplace
31054 (package
31055 (name "emacs-erc-scrolltoplace")
31056 (version "0.1.0")
31057 (source
31058 (origin
31059 (method git-fetch)
31060 (uri (git-reference
31061 (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
31062 (commit version)))
31063 (file-name (git-file-name name version))
31064 (sha256
31065 (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
31066 (build-system emacs-build-system)
31067 (propagated-inputs
31068 (list emacs-switch-buffer-functions))
31069 (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
31070 (synopsis "ERC module to replace scrolltobottom while using keep-place")
31071 (description "@code{erc-scrolltoplace} is an ERC module to try
31072 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
31073 (license license:gpl3+)))
31074
31075 (define-public emacs-dmenu
31076 ;; Use the latest commit, as there are no tagged releases.
31077 (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
31078 (revision "0"))
31079 (package
31080 (name "emacs-dmenu")
31081 (version (git-version "0.1" revision commit))
31082 (source
31083 (origin
31084 (method git-fetch)
31085 (uri (git-reference
31086 (url "https://github.com/lujun9972/el-dmenu")
31087 (commit commit)))
31088 (file-name (git-file-name name version))
31089 (sha256
31090 (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
31091 (build-system emacs-build-system)
31092 (home-page "https://github.com/lujun9972/el-dmenu")
31093 (synopsis "Simulate the @command{dmenu} command line program")
31094 (description "This package provides a @command{dmenu} command for
31095 launching other commands/applications from within Emacs, similar to the
31096 @command{dmenu} program. This is especially useful when using EXWM.")
31097 (license license:gpl3+))))
31098
31099 (define-public emacs-no-littering
31100 (package
31101 (name "emacs-no-littering")
31102 (version "1.2.7")
31103 (source
31104 (origin
31105 (method git-fetch)
31106 (uri (git-reference
31107 (url "https://github.com/emacscollective/no-littering")
31108 (commit (string-append "v" version))))
31109 (file-name (git-file-name name version))
31110 (sha256
31111 (base32 "1grc5fk7ng4d6i8fwfpm3cb2b19s9sbdjbdn8ybchk7cj45kkl24"))))
31112 (build-system emacs-build-system)
31113 (home-page "https://github.com/emacscollective/no-littering")
31114 (synopsis "Help keep @file{~/.emacs.d/} clean")
31115 (description "The default paths used to store configuration files and
31116 persistent data are not consistent across Emacs packages, be them built-in or
31117 third-party ones. @code{no-littering} sets out to help clean
31118 @file{~/.emacs.d/} by putting configuration files and persistent data files in
31119 two user-defined directories, as well as using more descriptive names for
31120 files and subdirectories when appropriate.")
31121 (license license:gpl3+)))
31122
31123 (define-public emacs-meson-mode
31124 (package
31125 (name "emacs-meson-mode")
31126 (version "0.3")
31127 (source
31128 (origin
31129 (method git-fetch)
31130 (uri (git-reference
31131 (url "https://github.com/wentasah/meson-mode")
31132 (commit (string-append "v" version))))
31133 (file-name (git-file-name name version))
31134 (sha256
31135 (base32 "0hlqvq3j4f6g16nj3bm2wbkncn8hv8c8iqd0sch3w80wwqnr622y"))))
31136 (build-system emacs-build-system)
31137 (home-page "https://github.com/wentasah/meson-mode")
31138 (synopsis "Major mode for Meson build system files")
31139 (description
31140 "This is an Emacs major mode for Meson build system files. Syntax
31141 highlighting works reliably. Indentation works too, but there are probably
31142 cases where it breaks.")
31143 (license license:gpl3+)))
31144
31145 (define-public emacs-message-x
31146 ;; Use the latest commit, as there are no tagged releases.
31147 (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
31148 (revision "0"))
31149 (package
31150 (name "emacs-message-x")
31151 (version (git-version "1.23" revision commit))
31152 (source
31153 (origin
31154 (method git-fetch)
31155 (uri (git-reference
31156 (url "https://github.com/emacsmirror/message-x")
31157 (commit commit)))
31158 (file-name (git-file-name name version))
31159 (sha256
31160 (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
31161 (build-system emacs-build-system)
31162 (home-page "https://www.emacswiki.org/emacs/message-x.el")
31163 (synopsis "Customizable completion in message headers")
31164 (description "@code{message-x} assigns a context-sensitive function to
31165 the TAB key in Message mode. When on a header line, it performs completion
31166 based on which header we are in (for example, newsgroup name completion makes
31167 sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
31168 sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
31169 executes a different function (default: @code{indent-relative}).")
31170 (license license:gpl2+))))
31171
31172 (define-public emacs-glsl-mode
31173 ;; No tag, version grabbed from source .el file.
31174 (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136")
31175 (revision "0"))
31176 (package
31177 (name "emacs-glsl-mode")
31178 (version (git-version "2.4" revision commit))
31179 (source
31180 (origin
31181 (method git-fetch)
31182 (uri (git-reference
31183 (url "https://github.com/jimhourihan/glsl-mode")
31184 (commit commit)))
31185 (file-name (git-file-name name version))
31186 (sha256
31187 (base32 "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s"))))
31188 (build-system emacs-build-system)
31189 (home-page "https://github.com/jimhourihan/glsl-mode")
31190 (synopsis "Major mode for Open GLSL shader files")
31191 (description
31192 "This package provides a major mode for editing OpenGLSL grammar files,
31193 usually files ending with @file{.vert}, @file{.frag}, @file{.glsl} or
31194 @file{.geom}. It is based on C mode plus some features and pre-specified
31195 fontifications.")
31196 (license license:gpl3+))))
31197
31198 (define-public emacs-gnus-harvest
31199 (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
31200 (revision "0"))
31201 (package
31202 (name "emacs-gnus-harvest")
31203 (version (git-version "1.0" revision commit))
31204 (source
31205 (origin
31206 (method git-fetch)
31207 (uri (git-reference
31208 (url "https://github.com/jwiegley/gnus-harvest")
31209 (commit commit)))
31210 (file-name (git-file-name name version))
31211 (sha256
31212 (base32 "08zb7vc3v3wdxkzgi902vlc5ybfvm8fxrvm5drnwfsjj9873pbcb"))))
31213 (build-system emacs-build-system)
31214 (inputs
31215 (list sqlite))
31216 (arguments
31217 `(#:phases
31218 (modify-phases %standard-phases
31219 (add-before 'build 'patch-exec-paths
31220 (lambda* (#:key inputs #:allow-other-keys)
31221 (let ((sqlite (assoc-ref inputs "sqlite"))
31222 (file "gnus-harvest.el"))
31223 (make-file-writable file)
31224 (emacs-substitute-variables file
31225 ("gnus-harvest-sqlite-program"
31226 (string-append sqlite "/bin/sqlite3"))))
31227 #t)))))
31228 (home-page "https://github.com/jwiegley/gnus-harvest")
31229 (synopsis
31230 "Harvest email addresses from read/written Gnus articles")
31231 (description "@code{gnus-harvest} notices email address in every message
31232 or post you read or write, and collects them in a SQLite database, which can
31233 be easily and quickly queried to determine the completion list. It optionally
31234 uses BBDB and Message-X.")
31235 (license license:gpl3+))))
31236
31237 (define-public emacs-auto-dictionary-mode
31238 (package
31239 (name "emacs-auto-dictionary-mode")
31240 (version "1.1")
31241 (source
31242 (origin
31243 (method git-fetch)
31244 (uri (git-reference
31245 (url "https://github.com/nschum/auto-dictionary-mode")
31246 (commit version)))
31247 (file-name (git-file-name name version))
31248 (sha256
31249 (base32 "191294k92qp8gmfypf0q8j8qrym96aqikzvyb9p03wqvbr3r1dsk"))))
31250 (build-system emacs-build-system)
31251 (home-page "http://nschum.de/src/emacs/auto-dictionary/")
31252 (synopsis "Automatic dictionary switcher for Emacs spell checking")
31253 (description "@code{auto-dictionary} is a minor mode that hooks into
31254 Flyspell's on-the-fly spell checking and extends these checks to also detect
31255 language. Auto-dictionary then sets @code{ispell-dictionary} to use the
31256 detected language.")
31257 (license license:gpl2+)))
31258
31259 (define-public emacs-persist
31260 (package
31261 (name "emacs-persist")
31262 (version "0.5")
31263 (source
31264 (origin
31265 (method url-fetch)
31266 (uri (string-append "https://elpa.gnu.org/packages/"
31267 "persist-" version ".tar"))
31268 (sha256
31269 (base32 "090n4479zs82by7a3vb551gyjvv8lpfcylk43ywr2lfyssc9xiq0"))))
31270 (build-system emacs-build-system)
31271 (home-page "http://elpa.gnu.org/packages/persist.html")
31272 (synopsis "Persist variables between Emacs sessions")
31273 (description
31274 "This package provides variables which persist across sessions.
31275 Values are stored in a directory in @code{user-emacs-directory}, using
31276 one file per value. This makes it easy to delete or remove unused
31277 variables.")
31278 (license license:gpl3+)))
31279
31280 (define-public emacs-company-emoji
31281 (package
31282 (name "emacs-company-emoji")
31283 (version "2.6.1")
31284 (source
31285 (origin
31286 (method git-fetch)
31287 (uri (git-reference
31288 (url "https://github.com/dunn/company-emoji/")
31289 (commit version)))
31290 (file-name (git-file-name name version))
31291 (sha256
31292 (base32 "1rhf2hr345953mkn52i58aiq8j16ps2ckapd5f7jxmhkcpzxxfhk"))))
31293 (build-system emacs-build-system)
31294 (propagated-inputs
31295 (list emacs-company))
31296 (home-page "https://github.com/dunn/company-emoji/")
31297 (synopsis "Company completion back-end for emoji")
31298 (description
31299 "This library is a Company back-end providing auto-completion for
31300 emoji.")
31301 (license license:gpl3+)))
31302
31303 (define-public emacs-exiftool
31304 (package
31305 (name "emacs-exiftool")
31306 (version "0.3.2")
31307 (source
31308 (origin
31309 (method git-fetch)
31310 (uri (git-reference
31311 (url "https://git.systemreboot.net/exiftool.el/")
31312 (commit (string-append "v" version))))
31313 (file-name (git-file-name name version))
31314 (sha256
31315 (base32
31316 "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
31317 (build-system emacs-build-system)
31318 (arguments
31319 `(#:tests? #t
31320 #:test-command '("make" "-C" "tests")
31321 #:phases
31322 (modify-phases %standard-phases
31323 (add-after 'unpack 'configure
31324 (lambda* (#:key inputs #:allow-other-keys)
31325 (make-file-writable "exiftool.el")
31326 (emacs-substitute-variables "exiftool.el"
31327 ("exiftool-executable"
31328 (search-input-file inputs "/bin/exiftool"))))))))
31329 (inputs
31330 (list perl-image-exiftool))
31331 (home-page "https://git.systemreboot.net/exiftool.el/about/")
31332 (synopsis "Elisp wrapper around ExifTool")
31333 (description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool.
31334 ExifTool supports reading and writing metadata in various formats including
31335 EXIF, XMP and IPTC.")
31336 (license license:gpl3+)))
31337
31338 (define-public emacs-password-generator
31339 (package
31340 (name "emacs-password-generator")
31341 (version "1.01")
31342 (home-page "https://github.com/zargener/emacs-password-genarator")
31343 (source
31344 (origin
31345 (method git-fetch)
31346 (uri (git-reference
31347 (url home-page)
31348 (commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3")))
31349 (file-name (git-file-name name version))
31350 (sha256
31351 (base32
31352 "1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv"))))
31353 (build-system emacs-build-system)
31354 (synopsis "Generate passwords inside Emacs")
31355 (description "@code{emacs-password-generator} provides simple functions to
31356 generate random passwords and insert them into the current buffer. It also
31357 supports generation of phonetic and numeric passwords.")
31358 (license license:artistic2.0)))
31359
31360 (define-public emacs-csv
31361 (package
31362 (name "emacs-csv")
31363 (version "2.1")
31364 (home-page "https://gitlab.com/u11/csv.el")
31365 (source
31366 (origin
31367 (method git-fetch)
31368 (uri (git-reference
31369 (url home-page)
31370 (commit (string-append "V" version))))
31371 (file-name (git-file-name name version))
31372 (sha256
31373 (base32
31374 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"))))
31375 (build-system emacs-build-system)
31376 (synopsis "Elisp functions for reading and parsing CSV files")
31377 (description
31378 "@code{csv.el} provides functions for reading and parsing @acronym{CSV,
31379 Comma-Separated Values} files. It follows the format as defined in RFC 4180
31380 @emph{Common Format and MIME Type for CSV
31381 Files} (@url{http://tools.ietf.org/html/rfc4180}).")
31382 (license license:gpl3+)))
31383
31384 (define-public emacs-org-journal
31385 (package
31386 (name "emacs-org-journal")
31387 (version "2.1.2")
31388 (source
31389 (origin
31390 (method git-fetch)
31391 (uri (git-reference
31392 (url "https://github.com/bastibe/org-journal")
31393 (commit version)))
31394 (file-name (git-file-name name version))
31395 (sha256
31396 (base32 "0s82sh2svc0mzr1ak414n5r2j0dmwvvyx4swk2c61zivc2gjd778"))))
31397 (build-system emacs-build-system)
31398 (home-page "https://github.com/bastibe/org-journal")
31399 (synopsis "Simple Org mode journaling mode")
31400 (description
31401 "Org Journal is a set of functions to maintain a simple personal diary /
31402 journal using in Emacs, adapted from
31403 @url{https://www.emacswiki.org/emacs/PersonalDiary}. Convenient bindings
31404 allow the creation of journal records in the current daily, weekly, monthly or
31405 yearly file and search within all records or specified time intervals. All
31406 records can be browsed and searched from the Emacs Calendar for convenience.
31407 All entries in a specified TODO state will be carried over to the next day.")
31408 (license license:bsd-3)))
31409
31410 (define-public emacs-org-static-blog
31411 (package
31412 (name "emacs-org-static-blog")
31413 (version "1.6.0")
31414 (source
31415 (origin
31416 (method git-fetch)
31417 (uri (git-reference
31418 (url "https://github.com/bastibe/org-static-blog")
31419 (commit version)))
31420 (file-name (git-file-name name version))
31421 (sha256
31422 (base32 "0p3bhnp91x65xr5d40kdmyj7vgyq62bvq3b1gfwv7881sh8p6hr9"))))
31423 (build-system emacs-build-system)
31424 (home-page "https://github.com/bastibe/org-static-blog")
31425 (synopsis
31426 "Simple Org mode based static blog generator")
31427 (description
31428 "@code{emacs-org-static-blog} is one more static blog generator, it
31429 focuses on being simple. All files are simple Org files in a directory. The
31430 only requirement is that every Org file must have a @samp{title} and
31431 a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
31432 (license license:bsd-3)))
31433
31434 (define-public emacs-ddskk
31435 ;; XXX: Upstream adds code names to their release tags, so version and code
31436 ;; name below need to be updated together.
31437 (let ((version "17.1")
31438 (code-name "Neppu"))
31439 (package
31440 (name "emacs-ddskk")
31441 (version version)
31442 (source
31443 (origin
31444 (method git-fetch)
31445 (uri (git-reference
31446 (url "https://github.com/skk-dev/ddskk")
31447 (commit (string-append "ddskk-" version "_" code-name))))
31448 (file-name (git-file-name name version))
31449 (sha256
31450 (base32 "0xm53rybxki2784gyjkafg6956viyhhcq51kbmnrwc6aw3yzh7aw"))))
31451 (build-system gnu-build-system)
31452 (arguments
31453 `(#:modules ((guix build gnu-build-system)
31454 (guix build utils)
31455 (guix build emacs-utils))
31456 #:imported-modules (,@%gnu-build-system-modules
31457 (guix build emacs-utils))
31458 #:test-target "test"
31459 #:phases
31460 (modify-phases %standard-phases
31461 (replace 'configure
31462 (lambda* (#:key outputs #:allow-other-keys)
31463 (make-file-writable "SKK-MK")
31464 (emacs-substitute-variables "SKK-MK"
31465 ("PREFIX" (assoc-ref outputs "out"))
31466 ("LISPDIR" '(expand-file-name "/share/emacs/site-lisp" PREFIX))
31467 ("SKK_PREFIX" "")
31468 ("SKK_INFODIR" '(expand-file-name "info" PREFIX)))
31469 (for-each make-file-writable (find-files "./doc"))
31470 #t))
31471 (add-after 'unpack 'fix-test
31472 (lambda _
31473 (substitute* "Makefile"
31474 (("/bin/rm") (which "rm"))))))))
31475 (native-inputs
31476 (list emacs-minimal ruby))
31477 (home-page "https://github.com/skk-dev/ddskk")
31478 (synopsis "Simple Kana to Kanji conversion program")
31479 (description
31480 "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
31481 conversion program}, a Japanese input method on Emacs.")
31482 (license license:gpl2+))))
31483
31484 (define-public emacs-ddskk-nicola
31485 (package
31486 (inherit emacs-ddskk)
31487 (name "emacs-ddskk-nicola")
31488 (propagated-inputs
31489 (list emacs-ddskk))
31490 (arguments
31491 `(#:make-flags
31492 (let ((out (assoc-ref %outputs "out")))
31493 (append
31494 (list (string-append "PREFIX=" out)
31495 (string-append "LISPDIR=" out "/share/emacs/site-lisp"))))
31496 #:tests? #f ; no tests in this subtree
31497 ,@(substitute-keyword-arguments (package-arguments emacs-ddskk)
31498 ((#:phases phases)
31499 `(modify-phases ,phases
31500 (add-after 'unpack 'chdir
31501 (lambda _
31502 (chdir "nicola")
31503 #t))
31504 (replace 'configure
31505 (lambda* (#:key outputs #:allow-other-keys)
31506 (make-file-writable "NICOLA-DDSKK-CFG")
31507 (emacs-substitute-sexps "NICOLA-DDSKK-CFG"
31508 ("setq NICOLA-DDSKK_PREFIX" ""))
31509 #t)))))))
31510 (synopsis "Nicola layout for Daredevil SKK")
31511 (description
31512 "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
31513 conversion program}, a Japanese input method on Emacs. This package adds
31514 support for the Nicola keyboard layout to it.")))
31515
31516 (define-public emacs-tamil99
31517 (package
31518 (name "emacs-tamil99")
31519 (version "0.1.2")
31520 (source (origin
31521 (method git-fetch)
31522 (uri (git-reference
31523 (url "https://git.systemreboot.net/tamil99/")
31524 (commit (string-append "v" version))))
31525 (file-name (git-file-name name version))
31526 (sha256
31527 (base32
31528 "12sr59b2ngay66snb2m4a5zy6n11ahnmc5wy42l3ks7fd4cc5rgs"))))
31529 (build-system emacs-build-system)
31530 (home-page "https://git.systemreboot.net/tamil99/about/")
31531 (synopsis "Tamil99 input method for Emacs")
31532 (description "This package implements the @code{tamil99} input method for
31533 Emacs. Tamil99 is a keyboard layout and input method that is specifically
31534 designed for the Tamil language. Vowels and vowel modifiers are input with
31535 your left hand, and consonants are input with your right hand.")
31536 (license license:gpl3+)))
31537
31538 (define-public emacs-objed
31539 (package
31540 (name "emacs-objed")
31541 (version "0.8.3")
31542 (source
31543 (origin
31544 (method url-fetch)
31545 (uri (string-append
31546 "https://elpa.gnu.org/packages/objed-" version ".tar"))
31547 (sha256
31548 (base32
31549 "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr"))))
31550 (build-system emacs-build-system)
31551 (home-page "https://github.com/clemera/objed")
31552 (synopsis "Navigate and edit text objects")
31553 (description
31554 "@code{emacs-objed} allows navigating and editing text objects. It
31555 enables modal editing and composition of commands, too. It combines ideas of
31556 other Editors like Vim or Kakoune and tries to align them with regular Emacs
31557 conventions.")
31558 (license license:gpl3+)))
31559
31560 (define-public emacs-haskell-snippets
31561 ;; The commit below is 7 commits ahead of release, and includes a build fix.
31562 ;; And also a fix in one snippet.
31563 (let ((commit "1c29c4a68ce89848b8d371c6510d1de3b586c8b3"))
31564 (package
31565 (name "emacs-haskell-snippets")
31566 (version (git-version "0.1.0" "1" commit))
31567 (source
31568 (origin
31569 (method git-fetch)
31570 (uri
31571 (git-reference
31572 (url "https://github.com/haskell/haskell-snippets")
31573 (commit commit)))
31574 (file-name (git-file-name name version))
31575 (sha256
31576 (base32 "1lwnggarmavyf164cfzbzzkq9ffahhd3bz7gw644czs49sndcawf"))))
31577 (build-system emacs-build-system)
31578 (arguments
31579 (list
31580 #:phases
31581 #~(modify-phases %standard-phases
31582 (add-after 'install 'install-snippets
31583 (lambda _
31584 (let ((snippets
31585 (string-append
31586 #$output "/share/emacs/site-lisp/snippets/haskell-mode")))
31587 (mkdir-p snippets)
31588 (copy-recursively "snippets/haskell-mode" snippets)))))))
31589 (propagated-inputs
31590 (list emacs-yasnippet))
31591 (home-page "https://github.com/haskell/haskell-snippets")
31592 (synopsis "Official collection of YASnippet Haskell snippets for Emacs")
31593 (description "Haskell-Snippets is a collection of YASnippet Haskell
31594 snippets for Emacs.")
31595 (license license:expat))))
31596
31597 (define-public emacs-orca
31598 ;; XXX: Upstream did not tag any commit so far. Base version is extracted
31599 ;; from Version keyword.
31600 (let ((commit "0687f416a5573f63b691d384454f5a793266ed97")
31601 (revision "0"))
31602 (package
31603 (name "emacs-orca")
31604 (version (git-version "0.1.0" revision commit))
31605 (source
31606 (origin
31607 (method git-fetch)
31608 (uri (git-reference
31609 (url "https://github.com/abo-abo/orca")
31610 (commit commit)))
31611 (sha256
31612 (base32 "00a363vkqvryw5s7pj0kh8pqq5vvbf1pmbzz0b1z1fckwr49sv0f"))))
31613 (build-system emacs-build-system)
31614 (propagated-inputs (list emacs-zoutline))
31615 (home-page "https://github.com/abo-abo/orca")
31616 (synopsis "Handler for Org Capture")
31617 (description
31618 "This package provides several convenient recipes for configuring Org
31619 Capture, mainly for capturing from a browser. It can match URLs and inject
31620 the capture in a targeted Org file, under a targeted heading. The more this
31621 package is configured, the less refiling is needed on your captures: they will
31622 go directly to where they belong.")
31623 (license license:gpl3+))))
31624
31625 (define-public emacs-org-roam
31626 (package
31627 (name "emacs-org-roam")
31628 (version "2.2.2")
31629 (source
31630 (origin
31631 (method git-fetch)
31632 (uri (git-reference
31633 (url "https://github.com/org-roam/org-roam")
31634 (commit (string-append "v" version))))
31635 (file-name (git-file-name name version))
31636 (sha256
31637 (base32 "09wcqdqy2gcsyd1mbcm90b70y3qj921m4ky8l3avhzpdwgyw8wy5"))))
31638 (build-system emacs-build-system)
31639 (arguments
31640 (list
31641 #:phases
31642 #~(modify-phases %standard-phases
31643 ;; Move the extensions source files to the top level, which
31644 ;; is included in the EMACSLOADPATH.
31645 (add-after 'unpack 'move-source-files
31646 (lambda _
31647 (let ((el-files (find-files "./extensions" ".*\\.el$")))
31648 (for-each (lambda (f)
31649 (rename-file f (basename f)))
31650 el-files))))
31651 (add-after 'move-source-files 'patch-exec-paths
31652 (lambda* (#:key inputs #:allow-other-keys)
31653 (make-file-writable "org-roam-graph.el")
31654 (emacs-substitute-variables "org-roam-graph.el"
31655 ("org-roam-graph-executable"
31656 (search-input-file inputs "/bin/dot")))))
31657 (add-after 'install 'install-image
31658 (lambda* (#:key outputs #:allow-other-keys)
31659 (install-file "doc/images/org-ref-citelink.png"
31660 (string-append #$output "/share/info/images"))))
31661 (add-after 'install-image 'make-info
31662 (lambda* (#:key outputs #:allow-other-keys)
31663 (with-directory-excursion "doc"
31664 (invoke "makeinfo" "-o" "org-roam.info" "org-roam.texi")
31665 (install-file "org-roam.info"
31666 (string-append #$output "/share/info"))))))))
31667 (inputs
31668 (list graphviz))
31669 (native-inputs
31670 (list texinfo))
31671 (propagated-inputs
31672 (list emacs-dash
31673 emacs-emacsql-sqlite3
31674 emacs-f
31675 emacs-magit
31676 emacs-org
31677 emacs-s))
31678 (home-page "https://github.com/org-roam/org-roam/")
31679 (synopsis "Non-hierarchical note-taking with Org mode")
31680 (description "Emacs Org Roam is a solution for taking non-hierarchical
31681 notes with Org mode. Notes are captured without hierarchy and are connected
31682 by tags. Notes can be found and created quickly. Org Roam should also work
31683 as a plug-and-play solution for anyone already using Org mode for their
31684 personal wiki.")
31685 (license license:gpl3+)))
31686
31687 (define-public emacs-org-roam-bibtex
31688 (package
31689 (name "emacs-org-roam-bibtex")
31690 (version "0.6.2")
31691 (source
31692 (origin
31693 (method git-fetch)
31694 (uri (git-reference
31695 (url "https://github.com/org-roam/org-roam-bibtex")
31696 (commit (string-append "v" version))))
31697 (file-name (git-file-name name version))
31698 (sha256
31699 (base32 "166n1q30xamms4lfqq9vp0yknq33gwlk54qaravxxwz01fdpgb25"))))
31700 (build-system emacs-build-system)
31701 (propagated-inputs
31702 (list emacs-helm-bibtex emacs-org-ref emacs-org-roam))
31703 (home-page "https://github.com/org-roam/org-roam-bibtex")
31704 (synopsis "Connector between Org Roam, BibTeX-completion, and Org Ref")
31705 (description
31706 "Org Roam BibTeX is a library which offers a tighter integration between
31707 Org Roam, Helm-BibTeX, and Org Ref. It allows users to access their
31708 bibliographical notes in Org Roam directory via Helm BibTeX, Ivy BibTeX, or by
31709 opening Org Ref's @code{cite:} links.")
31710 (license license:gpl3+)))
31711
31712 (define-public emacs-org-generate
31713 (package
31714 (name "emacs-org-generate")
31715 (version "1.0.0")
31716 (source (origin
31717 (method git-fetch)
31718 (uri (git-reference
31719 (url "https://github.com/conao3/org-generate.el")
31720 (commit (string-append "v" version))))
31721 (file-name (git-file-name name version))
31722 (sha256
31723 (base32
31724 "0z2frp5mn3lp2xskwanw2rncrwa50x3aphy87vfxmhx4fqlqrzy8"))))
31725 (inputs
31726 (list emacs-cort emacs-with-simulated-input))
31727 (propagated-inputs
31728 (list emacs-mustache))
31729 (arguments
31730 ;; FIXME: Tests fail with "Wrong type argument: sequencep, :equal". It
31731 ;; seems to be an issue with Cort library.
31732 `(#:tests? #f
31733 #:test-command '("emacs" "--batch" "--quick"
31734 "--directory=." "--load=org-generate-tests.el"
31735 "--funcall=cort-test-run")))
31736 (build-system emacs-build-system)
31737 (home-page "https://github.com/conao3/org-generate.el")
31738 (synopsis "Generate template files and folders from Org document")
31739 (description "This package generates files and folders from Emacs
31740 org-mode templates.")
31741 (license license:gpl3+)))
31742
31743 (define-public emacs-uml-mode
31744 ;; Package has no release. Version is extracted from "Version:" keyword in
31745 ;; main file.
31746 (let ((commit "4c37ac1c4424b2313cd8f16ba48a98a4cc214200")
31747 (revision "1"))
31748 (package
31749 (name "emacs-uml-mode")
31750 (version (git-version "0.0.4" revision commit))
31751 (source
31752 (origin
31753 (method git-fetch)
31754 (uri (git-reference
31755 (url "https://github.com/ianxm/emacs-uml")
31756 (commit commit)))
31757 (file-name (git-file-name name version))
31758 (sha256
31759 (base32 "145i4srnfvd1vyibri2a1l6p9mbjvkkwlrpi41134pbarqffcnka"))))
31760 (build-system emacs-build-system)
31761 (home-page "https://github.com/ianxm/emacs-uml")
31762 (synopsis "Minor mode for editing ASCII UML sequence diagrams")
31763 (description "Emacs UML mode is a minor mode that makes it easy to build
31764 ASCII UML sequence diagrams in Emacs, which can be embedded in source code,
31765 comments or emails.")
31766 (license license:gpl3+))))
31767
31768 (define-public emacs-trashed
31769 (package
31770 (name "emacs-trashed")
31771 (version "2.1.3")
31772 (source
31773 (origin
31774 (method git-fetch)
31775 (uri (git-reference
31776 (url "https://github.com/shingo256/trashed/")
31777 (commit version)))
31778 (file-name (git-file-name name version))
31779 (sha256
31780 (base32 "08v7g2zgrad0r0n4pla8j3i2aql46byq82jr712cvxhydd5gnzf9"))))
31781 (build-system emacs-build-system)
31782 (home-page "https://github.com/shingo256/trashed/")
31783 (synopsis "View and edit system trash can in Emacs")
31784 (description "Open, view, browse, restore or permanently delete trashed
31785 files or directories in trash can with Dired-like look and feel. The trash
31786 can has to be compliant with freedesktop.org. In Emacs, you can trash files by
31787 deleting them with @code{(setq delete-by-moving-to-trash t)}. This package
31788 provides a simple but convenient user interface to manage those trashed
31789 files.")
31790 (license license:gpl3+)))
31791
31792 (define-public emacs-placeholder
31793 ;; No tags.
31794 (let ((commit "b80cb152ddd63db40cc581eafee9d2ac08328df8"))
31795 (package
31796 (name "emacs-placeholder")
31797 (version "0.1")
31798 (source (origin
31799 (method git-fetch)
31800 (uri (git-reference
31801 (url "https://github.com/oantolin/placeholder")
31802 (commit commit)))
31803 (file-name (git-file-name name version))
31804 (sha256
31805 (base32
31806 "1ifiaxrp7inj70a3zf5137dih4b1sw38zmkp3h7dj79k2bv7h34h"))))
31807 (build-system emacs-build-system)
31808 (home-page "https://github.com/oantolin/placeholder")
31809 (synopsis "Treat any buffer as a template with placeholders to fill-in")
31810 (description
31811 "This package provides a simple way to treat text in a buffer as a template
31812 with placeholders where text needs to be filled in. Any occurrence of
31813 @code{<++>} in the buffer is a placeholder. You can navigate among the
31814 placeholder with the placeholder-forward and placeholder-backward commands.
31815 They move the point to the next placeholder in the specified direction and
31816 delete the placeholder so you can immediately start typing the text that
31817 should replace it. However, if you call them again immediately after, they
31818 restore that occurrence of the placeholder and move to the next.")
31819 (license license:gpl3+))))
31820
31821 (define-public emacs-plantuml-mode
31822 (package
31823 (name "emacs-plantuml-mode")
31824 (version "1.4.1")
31825 (source
31826 (origin
31827 (method git-fetch)
31828 (uri (git-reference
31829 (url "https://github.com/skuro/plantuml-mode")
31830 (commit (string-append "v" version))))
31831 (file-name (git-file-name name version))
31832 (sha256
31833 (base32 "0yp41d2dmf3sx7qnl5x0zdjcr9y71b2wwc9m0q31v22xqn938ipc"))))
31834 (arguments
31835 '(#:phases
31836 (modify-phases %standard-phases
31837 (add-after 'unpack 'use-local-plantuml
31838 (lambda* (#:key inputs #:allow-other-keys)
31839 (let ((plantuml (assoc-ref inputs "plantuml"))
31840 (file "plantuml-mode.el"))
31841 (chmod file #o644)
31842 (emacs-substitute-variables file
31843 ("plantuml-jar-path"
31844 (string-append plantuml "/share/java/plantuml.jar"))
31845 ("plantuml-executable-path"
31846 (string-append plantuml "/bin/plantuml"))
31847 ("plantuml-server-url" 'nil)
31848 ("plantuml-default-exec-mode" ''executable))
31849 (emacs-batch-edit-file file
31850 `(progn (progn
31851 (goto-char (point-min))
31852 (re-search-forward "(defun plantuml-download-jar")
31853 (beginning-of-line)
31854 (kill-sexp))
31855 (basic-save-buffer)))
31856 #t))))))
31857 (inputs
31858 (list plantuml))
31859 (propagated-inputs
31860 (list emacs-dash))
31861 (build-system emacs-build-system)
31862 (home-page "https://github.com/skuro/plantuml-mode")
31863 (synopsis "Major mode for editing PlantUML sources")
31864 (description "This package provides a major mode for editing PlantUML
31865 sources. It features syntax highlighting, autocompletion, preview of buffer
31866 or region and use of locally installed binaries.")
31867 (license license:gpl3+)))
31868
31869 (define-public emacs-execline
31870 (package
31871 (name "emacs-execline")
31872 (version "1.1")
31873 (source (origin
31874 (method git-fetch)
31875 (uri (git-reference
31876 (url "https://gitlab.com/KAction/emacs-execline/")
31877 (commit (string-append "v" version))))
31878 (file-name (git-file-name name version))
31879 (sha256
31880 (base32
31881 "02q531c9wvdwflhggflnci4a36h2bb90bq25bbhw6i2lvrd9sk55"))))
31882 (build-system emacs-build-system)
31883 (propagated-inputs
31884 (list emacs-s))
31885 (arguments
31886 `(#:tests? #t
31887 #:test-command '("emacs" "-Q" "-batch" "-L" "."
31888 "-l" "t/indent.el"
31889 "-f" "ert-run-tests-batch-and-exit")))
31890 (home-page "https://gitlab.com/KAction/emacs-execline/")
31891 (synopsis "Major Emacs mode for editing execline scripts")
31892 (description
31893 "This package provides a major mode for editing execline scripts.
31894
31895 Features:
31896 @itemize
31897 @item Syntax highlighting of commends, builtin commands and variable substitution.
31898 @item Completion of builtin commands.
31899 @item Working @code{comment-region} command.
31900 @item Indentation of blocks.
31901 @item Automatic enable of mode in @file{*.exec} files.
31902 @item Automatic enable of mode in files with @code{execlineb} interpreter.
31903 @end itemize\n")
31904 (license license:gpl3+)))
31905
31906 (define-public emacs-pcmpl-args
31907 (package
31908 (name "emacs-pcmpl-args")
31909 (version "0.1.3")
31910 (source
31911 (origin
31912 (method git-fetch)
31913 (uri (git-reference
31914 (url "https://github.com/JonWaltman/pcmpl-args.el")
31915 (commit version)))
31916 (sha256
31917 (base32 "19xwwpfcf0l9jh7xixyjd5adivj27jw00zvxb7n1240k5p332pzi"))
31918 (file-name (git-file-name name version))))
31919 (build-system emacs-build-system)
31920 (home-page "https://github.com/JonWaltman/pcmpl-args.el")
31921 (synopsis "Enhanced shell command completion")
31922 (description
31923 "pcmpl-args extends option and argument completion of shell commands read
31924 by Emacs. It is intended to make shell completion in Emacs comparable to the
31925 rather excellent completion provided by both Bash and Zsh.")
31926 (license license:gpl3+)))
31927
31928 (define-public emacs-shell-command+
31929 (package
31930 (name "emacs-shell-command+")
31931 (version "2.4.1")
31932 (source (origin
31933 (method git-fetch)
31934 (uri (git-reference
31935 (url "https://git.sr.ht/~pkal/shell-command-plus")
31936 (commit version)))
31937 (file-name (git-file-name name version))
31938 (sha256
31939 (base32 "14akj7pavfhch6ljwl26mhv7qczgmqn7mld62cf6mh4ghmhy3z4y"))))
31940 (build-system emacs-build-system)
31941 (home-page "http://elpa.gnu.org/packages/shell-command+.html")
31942 (synopsis "Extended Emacs @code{shell-command}")
31943 (description
31944 "Shell-command+ is a @code{shell-command} substitute that extends the
31945 regular Emacs command with several features. You can for example count all
31946 the lines in a buffer with @code{> wc -l}, or delete all lower case letters in
31947 the selected region with @code{| tr -d a-z}.")
31948 (license license:gpl3+)))
31949
31950 (define-public emacs-shell-pop
31951 (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
31952 (revision "0"))
31953 (package
31954 (name "emacs-shell-pop")
31955 (version (git-version "0.64" revision commit))
31956 (source
31957 (origin
31958 (method git-fetch)
31959 (uri (git-reference
31960 (url "https://github.com/kyagi/shell-pop-el")
31961 (commit commit)))
31962 (file-name (git-file-name name version))
31963 (sha256
31964 (base32 "0s77n6b9iw1x3dv91ybkpgy3zvqd12si7zw3lg0m2b6j1akrawsg"))))
31965 (build-system emacs-build-system)
31966 (home-page "https://github.com/kyagi/shell-pop-el")
31967 (synopsis "Utility which helps with pop up shell buffer")
31968 (description
31969 "This Emacs utility helps you pop up and pop out shell buffer window
31970 easily. Four pre-set options are: @samp{shell}, @samp{terminal},
31971 @samp{ansi-term}, and @samp{eshell}. You can also set your custom shell if
31972 you use some other configuration.")
31973 (license license:gpl3+))))
31974
31975 (define-public emacs-tshell
31976 ;; XXX: Upstream has no tagged release. Version is extracted from keyword
31977 ;; in main file.
31978 (let ((commit "47ef3a6c537b06eb422d9a124e1c44062223e323")
31979 (revision "0"))
31980 (package
31981 (name "emacs-tshell")
31982 (version (git-version "0.1.0" revision commit))
31983 (source
31984 (origin
31985 (method git-fetch)
31986 (uri (git-reference
31987 (url "https://github.com/TatriX/tshell")
31988 (commit commit)))
31989 (file-name (git-file-name name version))
31990 (sha256
31991 (base32 "0yv38bqdp6b614lbj4v408vv5mlic3vs1v7266xrfxm1cm903apj"))))
31992 (build-system emacs-build-system)
31993 (home-page "https://github.com/TatriX/tshell")
31994 (synopsis "Experimental buffer-oriented Emacs shell")
31995 (description
31996 "Tshell is an experimental buffer-oriented shell. It supports shell
31997 and Emacs lisp commands.")
31998 (license license:gpl3+))))
31999
32000 (define-public emacs-extmap
32001 (package
32002 (name "emacs-extmap")
32003 (version "1.2.1")
32004 (source
32005 (origin
32006 (method git-fetch)
32007 (uri (git-reference
32008 (url "https://github.com/doublep/extmap")
32009 (commit version)))
32010 (file-name (git-file-name name version))
32011 (sha256
32012 (base32 "00415w4l9wfpw9v0a35dm1av2w1m6s36yr9f9286jg844x6l375f"))))
32013 (build-system emacs-build-system)
32014 (home-page "https://github.com/doublep/extmap")
32015 (synopsis "Externally-stored constant mapping for Emacs Lisp")
32016 (description "Extmap is a very simple package that lets you build a
32017 read-only, constant database that maps Emacs Lisp symbols to
32018 arbitrary Emacs Lisp objects.")
32019 (license license:gpl3+)))
32020
32021 (define-public emacs-csound-mode
32022 ;; XXX: Upstream did not tag last release. Using the commit matching
32023 ;; version bump.
32024 (let ((commit "44c49e5a9262ede4b4477bafb13b42b1ba047b9c"))
32025 (package
32026 (name "emacs-csound-mode")
32027 (version "0.2.3")
32028 (source
32029 (origin
32030 (method git-fetch)
32031 (uri (git-reference
32032 (url "https://github.com/hlolli/csound-mode")
32033 (commit commit)))
32034 (file-name (git-file-name name version))
32035 (sha256
32036 (base32
32037 "0kfhca1n0iv1400jf4ggjbarg7ry8ccd5bs7cf2brjdiqp74cvwb"))))
32038 (build-system emacs-build-system)
32039 (arguments
32040 (list
32041 #:phases
32042 #~(modify-phases %standard-phases
32043 (add-after 'unpack 'disable-breaking-compilation
32044 (lambda _
32045 (let ((file "csound-font-lock.el"))
32046 (make-file-writable file)
32047 (emacs-batch-disable-compilation file)))))))
32048 (propagated-inputs
32049 (list emacs-dash emacs-highlight emacs-multi emacs-shut-up))
32050 (home-page "https://github.com/hlolli/csound-mode")
32051 (synopsis "Emacs major mode for coding in CSound")
32052 (description "This package provides both a basic major mode for editing
32053 CSound files, as well as a REPL for fast feedback when composing and
32054 sound-designing using CSound.")
32055 (license license:gpl3+))))
32056
32057 (define-public emacs-multi
32058 (package
32059 (name "emacs-multi")
32060 (version "2.0.1")
32061 (source
32062 (origin
32063 (method git-fetch)
32064 (uri (git-reference
32065 (url "https://github.com/kurisuwhyte/emacs-multi")
32066 (commit (string-append "v" version))))
32067 (file-name (git-file-name name version))
32068 (sha256
32069 (base32
32070 "11zabs7qpdhri6n90ck7pgwcbz46d813nyl73h5m1i8jvz1wzx7v"))))
32071 (build-system emacs-build-system)
32072 (home-page "https://github.com/kurisuwhyte/emacs-multi")
32073 (synopsis "Clojure-style multi-methods for Emacs Lisp")
32074 (description "Provides Emacs Lisp with a form of polymorphism
32075 by way of predicate dispatching. Methods consist of a dispatch
32076 function, and a series of branches. The dispatch function is
32077 applied to the arguments, and the result value is checked against
32078 the expectations of each branch to define which one to invoke.")
32079 (license license:expat)))
32080
32081 (define-public emacs-highlight
32082 (let ((commit "24366dfd5062a6902a13a03d724fc099db3121b8")
32083 (revision "2"))
32084 (package
32085 (name "emacs-highlight")
32086 (version (git-version "0" revision commit))
32087 (source
32088 (origin
32089 (method git-fetch)
32090 (uri (git-reference
32091 (url "https://github.com/emacsmirror/highlight/")
32092 (commit commit)))
32093 (file-name (git-file-name name commit))
32094 (sha256
32095 (base32
32096 "17r7f4y6b05nq2pzaq8pwww0s6j64vd6fikyv7pliv1n74sljj0d"))))
32097 (build-system emacs-build-system)
32098 (home-page "https://github.com/emacsmirror/highlight")
32099 (synopsis "Highlighting commands for GNU Emacs")
32100 (description "This library adds the possibility for ad-hoc
32101 applying highlighting to any face in GNU Emacs. The functionality
32102 of this library depends on overlays, which by default are not
32103 picked up when copy-pasting text from buffer to buffer.")
32104 (license license:gpl2+))))
32105
32106 (define-public emacs-org-webring
32107 (package
32108 (name "emacs-org-webring")
32109 (version "2.0.0")
32110 (source
32111 (origin
32112 (method git-fetch)
32113 (uri (git-reference
32114 (url "https://git.sr.ht/~brettgilio/org-webring")
32115 (commit version)))
32116 (file-name (git-file-name name version))
32117 (sha256
32118 (base32
32119 "1si0jah7n2gvlvghjy5dpannqpkxni5rczfp1x2a4z6ydalr3bn5"))))
32120 (build-system emacs-build-system)
32121 (arguments
32122 `(#:phases
32123 (modify-phases %standard-phases
32124 (add-after 'install 'install-assets
32125 (lambda* (#:key outputs #:allow-other-keys)
32126 (let* ((out (assoc-ref outputs "out"))
32127 (assets
32128 (string-append out "/share/emacs/org-webring-assets")))
32129 (mkdir-p assets)
32130 (copy-recursively "assets" assets)
32131 #t))))))
32132 (propagated-inputs
32133 (list emacs-xmlgen))
32134 (home-page "https://sr.ht/~brettgilio/org-webring")
32135 (synopsis "Generate webrings for Org-based sites / blogs")
32136 (description "Org-webring is an alternative implementation of a
32137 feed-based webring, taking inspiration from openring by Drew DeVault.
32138 Intended to integrate with Org-based websites and blogs (either
32139 directly, or indirectly, as in ox-hugo), it will fetch a given list of
32140 web feed files and correctly parse and format the elements to be
32141 displayed for sharing.")
32142 (license license:gpl3+)))
32143
32144 (define-public emacs-orglink
32145 (package
32146 (name "emacs-orglink")
32147 (version "1.2.0")
32148 (source
32149 (origin
32150 (method git-fetch)
32151 (uri (git-reference
32152 (url "https://github.com/tarsius/orglink")
32153 (commit version)))
32154 (file-name (git-file-name name version))
32155 (sha256
32156 (base32 "1619ly90vh2lla5rbw87a4n0rfal3wpbf7005jjiyv2ay88nc7l9"))))
32157 (build-system emacs-build-system)
32158 (home-page "https://github.com/tarsius/orglink")
32159 (synopsis "Use Org mode links in other modes")
32160 (description "This library implements support for some Org mode link types
32161 in other major modes. Links can be opened and edited like in Org mode.")
32162 (license license:gpl3+)))
32163
32164 (define-public emacs-scpaste
32165 (let ((commit "cd4fa0aafecd839736e0b6cba68b4fc4d7045472")
32166 (revision "0"))
32167 (package
32168 (name "emacs-scpaste")
32169 (version "0.6.5")
32170 (source
32171 (origin
32172 (method git-fetch)
32173 (uri (git-reference
32174 (url "https://git.sr.ht/~technomancy/scpaste")
32175 (commit commit)))
32176 (file-name (git-file-name name commit))
32177 (sha256
32178 (base32
32179 "1nvwbwl26z03963g9c82b3ggm39r95z1vp7c9qsa9mjm46dyq27w"))))
32180 (build-system emacs-build-system)
32181 (propagated-inputs
32182 (list emacs-htmlize))
32183 (home-page "https://git.sr.ht/~technomancy/scpaste")
32184 (synopsis "Emacs-based static HTML pastebin")
32185 (description "This library will place an HTML copy of a
32186 buffer on an active webserver to which the user has SSH access.
32187 It is similar in purpose to services such as Gist or Pastebin,
32188 but is much simpler since it assumes the user has access to a
32189 publicly-accessible HTTP server.")
32190 (license license:gpl3+))))
32191
32192 (define-public emacs-company-reftex
32193 (package
32194 (name "emacs-company-reftex")
32195 (version "0.1.0")
32196 (source
32197 (origin
32198 (method git-fetch)
32199 (uri (git-reference
32200 (url "https://github.com/TheBB/company-reftex")
32201 (commit "275ef708f08d3bf0eb30632148e5c6184eeaacdb")))
32202 (file-name (git-file-name name version))
32203 (sha256
32204 (base32
32205 "118cgw5lsffqdqz95mnkw36mmnsbg9m52r2np4m7v14mjjwr9fby"))))
32206 (build-system emacs-build-system)
32207 (propagated-inputs
32208 (list emacs-company emacs-s))
32209 (home-page "https://github.com/TheBB/company-reftex")
32210 (synopsis "RefTeX backends for company-mode")
32211 (description "This package provides company-mode backends for completing
32212 label references and citations in LaTeX. It is based on RefTeX, which is
32213 included with Emacs.")
32214 (license license:gpl3+)))
32215
32216 (define-public emacs-company-org-block
32217 (let ((commit "115af0a3625f4669358eca568466d468cacc78bd")
32218 (revision "1"))
32219 (package
32220 (name "emacs-company-org-block")
32221 (version (git-version "0.3" revision commit))
32222 (source (origin
32223 (method git-fetch)
32224 (uri (git-reference
32225 (url "https://github.com/xenodium/company-org-block")
32226 (commit commit)))
32227 (file-name (git-file-name name version))
32228 (sha256
32229 (base32
32230 "13kdwi4d1pvba6wv9yn1s0dl4cnq61zwf3j647d1s5ybqlrw5f4r"))))
32231 (build-system emacs-build-system)
32232 (propagated-inputs
32233 (list emacs-company))
32234 (home-page "https://github.com/xenodium/company-org-block")
32235 (synopsis "Emacs @code{company-complete} for Org blocks")
32236 (description
32237 "Insert Emacs Org blocks with completion via @code{company} mode.")
32238 (license license:gpl3+))))
32239
32240 (define-public emacs-html-to-hiccup
32241 ;; Package has no release. Version is extracted from "Version:" keyword in
32242 ;; main file.
32243 (let ((commit "50a52e2b0d13d865187acdf775b8203d5003f2f1")
32244 (revision "0"))
32245 (package
32246 (name "emacs-html-to-hiccup")
32247 (version (git-version "1" revision commit))
32248 (source
32249 (origin
32250 (method git-fetch)
32251 (uri (git-reference
32252 (url "https://github.com/plexus/html-to-hiccup")
32253 (commit commit)))
32254 (file-name (git-file-name name version))
32255 (sha256
32256 (base32 "1qi092mw2n08v6yr0j6hlpx0pnlcnhxjqbsrlw9pn4yin6zk91yp"))))
32257 (build-system emacs-build-system)
32258 (propagated-inputs
32259 (list emacs-dash emacs-s))
32260 (home-page "https://github.com/plexus/html-to-hiccup")
32261 (synopsis "Turn HTML into Hiccup syntax")
32262 (description
32263 "This is an Emacs package that turns HTML into Hiccup syntax
32264 which is a popular notation to use when doing Clojure/ClojureScript
32265 web development.")
32266 ;; There is a conflict between the repository official LICENSE
32267 ;; file and the header of the main elisp file which indicates
32268 ;; that it is licensed under the GPL version 3 or later.
32269 (license (list license:mpl2.0 license:gpl3+)))))
32270
32271 (define-public emacs-iter2
32272 (package
32273 (name "emacs-iter2")
32274 (version "1.3")
32275 (source
32276 (origin
32277 (method git-fetch)
32278 (uri (git-reference
32279 (url "https://github.com/doublep/iter2")
32280 (commit version)))
32281 (file-name (git-file-name name version))
32282 (sha256
32283 (base32 "1hsg5q1acghb0xz2pv5g20zg5j32wikp47b62if8afq767rkc5f3"))))
32284 (build-system emacs-build-system)
32285 (home-page "https://github.com/doublep/iter2")
32286 (synopsis "Reimplementation of Elisp generators")
32287 (description "@code{iter2} is a fully compatible reimplementation of
32288 built-in generator package. It provides @code{iter2-defun} and
32289 @code{iter2-lambda} forms that can be used in place of @code{iter-defun} and
32290 @code{iter-lambda}. All other functions and macros (e.g. @code{iter-yield},
32291 @code{iter-next}) are intentionally not duplicated: just use the ones from the
32292 original package.")
32293 (license license:gpl3+)))
32294
32295 (define-public emacs-bind-map
32296 (let ((commit "510a24138d8de3b8df0783f1ac493a551fc9bd74")
32297 (revision "0"))
32298 (package
32299 (name "emacs-bind-map")
32300 (version (git-version "1.1.2" revision commit))
32301 (source
32302 (origin
32303 (method git-fetch)
32304 (uri (git-reference
32305 (url "https://github.com/justbur/emacs-bind-map")
32306 (commit commit)))
32307 (file-name (git-file-name name version))
32308 (sha256
32309 (base32 "0crxjy1ykgb429z8ikjv5iy8vg5i0qn8n86p2lgri4glx45sxxx0"))))
32310 (build-system emacs-build-system)
32311 (home-page "https://github.com/justbur/emacs-bind-map")
32312 (synopsis "Bind personal keymaps in multiple locations")
32313 (description
32314 "@code{emacs-bind-map} provides a macro bind-map which can be used to
32315 make a keymap available across different leader keys including ones
32316 tied to evil states. It is essentially a generalization of the idea
32317 of a leader key as used in Vim or the @code{emacs-evil-leader} package,
32318 and allows for an arbitrary number of leader keys.")
32319 (license license:gpl3+))))
32320
32321 (define-public emacs-spaceleader
32322 (let ((commit "5d88d120494623d6777d464ec40ff4bb7d6b1d57")
32323 (revision "1"))
32324 (package
32325 (name "emacs-spaceleader")
32326 (version (git-version "0.0.3" revision commit))
32327 (source
32328 (origin
32329 (method git-fetch)
32330 (uri (git-reference
32331 (url "https://github.com/mohkale/spaceleader")
32332 (commit commit)))
32333 (file-name (git-file-name name version))
32334 (sha256
32335 (base32 "1prnjf7zs49z5a8qwhn8d0qnp60b3l0xhjkqg6v237acvk2axixr"))))
32336 (build-system emacs-build-system)
32337 (propagated-inputs
32338 (list emacs-dash
32339 emacs-general
32340 emacs-which-key
32341 emacs-use-package
32342 emacs-bind-map))
32343 (home-page "https://github.com/mohkale/spaceleader")
32344 (synopsis "Emacs leader key implementation from Spacemacs")
32345 (description
32346 "@code{emacs-spaceleader} replicates Spacemacs' leader key features,
32347 without requiring all of Spacemacs. The @code{<Leader>} key, inspired by Vim,
32348 provides an easy way to bind keys under a configurable prefix key.")
32349 (license license:gpl3+))))
32350
32351 (define-public emacs-promise
32352 (package
32353 (name "emacs-promise")
32354 (version "1.1")
32355 (source
32356 (origin
32357 (method git-fetch)
32358 (uri (git-reference
32359 (url "https://github.com/chuntaro/emacs-promise")
32360 (commit version)))
32361 (file-name (git-file-name name version))
32362 (sha256
32363 (base32 "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))
32364 (build-system emacs-build-system)
32365 (home-page "https://github.com/chuntaro/emacs-promise")
32366 (synopsis "Promises/A+ for Emacs")
32367 (description "This is a simple implementation of Promises/A+.
32368
32369 This implementation ports the following Promises/A+ features
32370 faithfully. See @url{https://github.com/then/promise}.
32371
32372 @itemize
32373 @item The same API as the JavaScript version of Promise can be used.
32374 @item It has all the @code{then}, @code{catch}, @code{resolve}, @code{reject},
32375 @code{all}, @code{race}, etc.
32376 @item It supports \"thenable\".
32377 @item It supports \"Inheritance of Promise\".
32378 @item It supports \"rejection-tracking\".
32379 @end itemize\n")
32380 (license license:gpl3+)))
32381
32382 (define-public emacs-async-await
32383 (package
32384 (name "emacs-async-await")
32385 (version "1.1")
32386 (source
32387 (origin
32388 (method git-fetch)
32389 (uri (git-reference
32390 (url "https://github.com/chuntaro/emacs-async-await")
32391 (commit version)))
32392 (file-name (git-file-name name version))
32393 (sha256
32394 (base32 "0aav9qdswnw7ynqlzn0sm34as5fj2d85syxgg8zjabzp6646ay29"))))
32395 (build-system emacs-build-system)
32396 (propagated-inputs
32397 (list emacs-promise emacs-iter2))
32398 (home-page "https://github.com/chuntaro/emacs-async-await")
32399 (synopsis "Async/Await for Emacs")
32400 (description "This is a simple implementation of Async/Await inspired by
32401 the TypeScript implementation.")
32402 (license license:gpl3+)))
32403
32404 (define-public emacs-rocket-chat
32405 ;; No release.
32406 (let ((commit "96fe27a8678de5ae4061f635108a7192eee13f98"))
32407 (package
32408 (name "emacs-rocket-chat")
32409 (version (git-version "0.0.0" "1" commit))
32410 (source
32411 (origin
32412 (method git-fetch)
32413 (uri (git-reference
32414 (url "https://github.com/4hiziri/rocket-chat")
32415 (commit commit)))
32416 (file-name (git-file-name name version))
32417 (sha256
32418 (base32 "02a4j0yy7330kfr3rd3k2agdj01ii6989nki598anbamq6xvj5ql"))))
32419 (build-system emacs-build-system)
32420 (propagated-inputs
32421 (list emacs-async-await emacs-request))
32422 (home-page "https://github.com/4hiziri/rocket-chat")
32423 (synopsis "Emacs Rocket.chat client")
32424 (description "This package provides an Emacs client for the Rocket.chat
32425 service.")
32426 (license license:expat))))
32427
32428 (define-public emacs-monokai-theme
32429 (package
32430 (name "emacs-monokai-theme")
32431 (version "3.5.3")
32432 (source
32433 (origin
32434 (method git-fetch)
32435 (uri (git-reference
32436 (url "https://github.com/oneKelvinSmith/monokai-emacs")
32437 (commit (string-append "v" version))))
32438 (file-name (git-file-name name version))
32439 (sha256
32440 (base32 "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i"))))
32441 (build-system emacs-build-system)
32442 (home-page "https://github.com/oneKelvinSmith/monokai-emacs")
32443 (synopsis "High contrast color theme for Emacs")
32444 (description
32445 "Monokai theme is a port of the popular TextMate Monokai theme for
32446 Emacs.")
32447 (license license:gpl3+)))
32448
32449 (define-public emacs-nord-theme
32450 (package
32451 (name "emacs-nord-theme")
32452 (version "0.5.0")
32453 (source
32454 (origin
32455 (method git-fetch)
32456 (uri (git-reference
32457 (url "https://github.com/arcticicestudio/nord-emacs")
32458 (commit (string-append "v" version))))
32459 (file-name (git-file-name name version))
32460 (sha256
32461 (base32 "096f8cik4jz89bvkifwp3gm9iraqrd75ljy2q9js724v7yj88711"))))
32462 (build-system emacs-build-system)
32463 (home-page "https://www.nordtheme.com/")
32464 (synopsis "Low contrast arctic color theme for Emacs")
32465 (description
32466 "Nord is an arctic, north-bluish color scheme created for a clean and
32467 uncluttered design pattern to achieve optimal focus and readability for code
32468 syntax highlighting and UI components.")
32469 (license license:expat)))
32470
32471 (define-public emacs-janet-mode
32472 (let ((commit "2f5bcabcb6953e1ed1926ba6a2328c453e8b4ac7"))
32473 (package
32474 (name "emacs-janet-mode")
32475 (version (git-version "0.1.0" "1" commit))
32476 (source
32477 (origin
32478 (method git-fetch)
32479 (uri (git-reference
32480 (url "https://github.com/ALSchwalm/janet-mode")
32481 (commit commit)))
32482 (file-name (git-file-name name version))
32483 (sha256
32484 (base32 "0qj0gpycv2f3z1dgz1a27bjn983hrr3ppvrp7csl34lagnmp89rz"))))
32485 (build-system emacs-build-system)
32486 (home-page "https://github.com/ALSchwalm/janet-mode")
32487 (synopsis "Emacs major mode for the Janet programming language")
32488 (description
32489 "This package provides an Emacs major mode for editing Janet files.")
32490 (license license:gpl3))))
32491
32492 (define-public emacs-inf-janet
32493 (let ((commit "df46651d3aad32593b2195c80ca91fb64d571fb7"))
32494 (package
32495 (name "emacs-inf-janet")
32496 (version (git-version "0.1.0" "1" commit))
32497 (source
32498 (origin
32499 (method git-fetch)
32500 (uri (git-reference
32501 (url "https://github.com/velkyel/inf-janet")
32502 (commit commit)))
32503 (file-name (git-file-name name version))
32504 (sha256
32505 (base32 "0g0y7q62667j0p32md1h6zb2cap9fga9qgdg7138xwjqnk0328v7"))))
32506 (build-system emacs-build-system)
32507 (arguments
32508 `(#:phases
32509 (modify-phases %standard-phases
32510 (add-after 'unpack 'fix-program-name
32511 (lambda _
32512 (make-file-writable "inf-janet.el")
32513 (emacs-substitute-variables "inf-janet.el"
32514 ("inf-janet-program" "janet")))))))
32515 (propagated-inputs
32516 (list emacs-janet-mode))
32517 (home-page "https://github.com/velkyel/inf-janet")
32518 (synopsis "Run an external Janet process in an Emacs buffer")
32519 (description
32520 "This Emacs package provides a Janet REPL to evaluate @code{janet-mode}
32521 s-expression.")
32522 (license license:expat))))
32523
32524 (define-public emacs-map
32525 (package
32526 (name "emacs-map")
32527 (version "3.3.1")
32528 (source
32529 (origin
32530 (method url-fetch)
32531 (uri (string-append "https://elpa.gnu.org/packages/map-"
32532 version ".tar"))
32533 (sha256
32534 (base32
32535 "1gvywhdfg27nx6pyq7yfwq9x6j96jama59i5s9rp41pvg2dlmvm0"))))
32536 (build-system emacs-build-system)
32537 (home-page "http://elpa.gnu.org/packages/map.html")
32538 (synopsis "Map manipulation functions")
32539 (description "This package provides Emacs map-manipulation functions that
32540 work on alists, hash-table and arrays. All functions are prefixed with
32541 @code{map-}.")
32542 (license license:gpl3+)))
32543
32544 (define-public emacs-xref
32545 (package
32546 (name "emacs-xref")
32547 (version "1.5.1")
32548 (source
32549 (origin
32550 (method url-fetch)
32551 (uri (string-append "https://elpa.gnu.org/packages/xref-"
32552 version ".tar"))
32553 (sha256
32554 (base32 "131jxsc1sl8q3r9drhylwyfig9qjjkj3hilv3npidp868pr7xdna"))))
32555 (build-system emacs-build-system)
32556 (home-page "http://elpa.gnu.org/packages/xref.html")
32557 (synopsis "Cross-referencing commands")
32558 (description
32559 "This library provides a generic infrastructure for cross referencing
32560 commands, in particular @code{find-definition}.")
32561 (license license:gpl3+)))
32562
32563 (define-public emacs-burly
32564 (package
32565 (name "emacs-burly")
32566 (version "0.2")
32567 (source
32568 (origin
32569 (method git-fetch)
32570 (uri (git-reference
32571 (url "https://github.com/alphapapa/burly.el")
32572 (commit version)))
32573 (file-name (git-file-name name version))
32574 (sha256
32575 (base32 "0zaknazhi8if38rmy9irnqwagsl76pqlxnzawzgn1vlv3aawivdk"))))
32576 (build-system emacs-build-system)
32577 (propagated-inputs
32578 (list emacs-map))
32579 (home-page "https://github.com/alphapapa/burly.el")
32580 (synopsis "Save and restore frame/window configurations with buffers")
32581 (description "This package provides tools to save and restore frame and
32582 window configurations in Emacs, including buffers that may not be live
32583 anymore. In this way, it's like a lightweight \"workspace\" manager, allowing
32584 you to easily restore one or more frames, including their windows, the
32585 windows' layout, and their buffers.")
32586 (license license:gpl3+)))
32587
32588 (define-public emacs-smart-hungry-delete
32589 (let ((commit "7c1d56a92481594e14d40b5fdf6c48657a0108a0"))
32590 (package
32591 (name "emacs-smart-hungry-delete")
32592 (version "0.1")
32593 (source
32594 (origin
32595 (method git-fetch)
32596 (uri (git-reference
32597 (url "https://github.com/hrehfeld/emacs-smart-hungry-delete")
32598 (commit commit)))
32599 (file-name (git-file-name name version))
32600 (sha256
32601 (base32
32602 "0mxaslx5823s68a8ggbbnmfk1jiswjvip5s4sg7ihfagnci72wni"))))
32603 (build-system emacs-build-system)
32604 (home-page "https://github.com/hrehfeld/emacs-smart-hungry-delete")
32605 (synopsis "Smart hungry deletion of whitespace")
32606 (description "@code{emacs-smart-hungry-delete} hungrily deletes whitespace
32607 between cursor and next word, parenthesis or delimiter while honoring some
32608 rules about where space should be left to separate words and parentheses.")
32609 (license license:gpl2+))))
32610
32611 (define-public emacs-seriestracker
32612 (package
32613 (name "emacs-seriestracker")
32614 (version "1.1")
32615 (source
32616 (origin
32617 (method git-fetch)
32618 (uri (git-reference
32619 (url "https://github.com/MaximeWack/seriesTracker")
32620 (commit version)))
32621 (file-name (git-file-name name version))
32622 (sha256
32623 (base32 "0b9hf20iah3ym2d4kz67k0kb48dq0442zxw4zmc03zg3sxfdxh0x"))))
32624 (build-system emacs-build-system)
32625 (propagated-inputs (list emacs-dash))
32626 (home-page "https://github.com/MaximeWack/seriesTracker")
32627 (synopsis "Keep track of the TV shows you watch from Emacs")
32628 (description
32629 "This package provides a major mode for tracking TV shows.
32630 TV shows data (episode list, release dates, etc.) are sourced from
32631 the free database hosted at @url{episodate.com}. The mode presents an
32632 outlined list of tracked shows, their episodes and release dates, and
32633 enables the user to see when new episodes for their favorite shows get
32634 released, and track their progress in watching a series.")
32635 (license license:gpl3+)))
32636
32637 (define-public emacs-webpaste
32638 (package
32639 (name "emacs-webpaste")
32640 (version "3.2.2")
32641 (source
32642 (origin
32643 (method git-fetch)
32644 (uri (git-reference
32645 (url "https://github.com/etu/webpaste.el")
32646 (commit version)))
32647 (file-name (git-file-name name version))
32648 (sha256
32649 (base32 "07hj9nr7x6c9w2dnvc58cfbprgp9cqzdxflp5qlpglzdw0bi9s3c"))))
32650 (build-system emacs-build-system)
32651 (arguments
32652 `(#:tests? #t
32653 #:test-command '("make" "unit" "integration")
32654 #:phases
32655 (modify-phases %standard-phases
32656 (add-after 'unpack 'fix-tests
32657 (lambda _
32658 ;; Do not use cask to run tests.
32659 (substitute* "Makefile"
32660 (("\\$\\{CASK\\} exec ") ""))
32661 ;; Disable tests that need network access.
32662 (substitute* (list "tests/unit/test-webpaste-provider-creation.el"
32663 "tests/integration/test-webpaste-providers.el")
32664 (("describe") "xdescribe")))))))
32665 (native-inputs
32666 (list emacs-buttercup))
32667 (propagated-inputs
32668 (list emacs-request))
32669 (home-page "https://github.com/etu/webpaste.el")
32670 (synopsis "Paste to pastebin-like services")
32671 (description "This mode pastes whole buffers or parts of buffers
32672 to pastebin-like services. It supports more than one service and will
32673 failover if one service fails. More services can easily be added over time
32674 and preferred services can easily be configured.")
32675 (license license:gpl3+)))
32676
32677 (define-public emacs-keystore-mode
32678 (let ((release "0.0.1")
32679 (revision "0")
32680 (commit "43bd5926348298d077c7221f37902c990df3f951"))
32681 (package
32682 (name "emacs-keystore-mode")
32683 (version (git-version release revision commit))
32684 (home-page "https://github.com/peterpaul/keystore-mode")
32685 (source
32686 (origin
32687 (method git-fetch)
32688 (uri (git-reference
32689 (url home-page)
32690 (commit commit)))
32691 (file-name (git-file-name name version))
32692 (sha256
32693 (base32 "06cznkqkm04zz5lqfb514aqvsr2p13arzysixv0ss0bqpvdq7cv7"))))
32694 (build-system emacs-build-system)
32695 (arguments
32696 `(#:tests? #t
32697 #:test-command
32698 '("emacs" "--no-init-file" "--batch"
32699 "--eval=(require 'ecukes)" "--eval=(ecukes)")))
32700 (native-inputs
32701 (list emacs-ecukes emacs-espuds emacs-undercover openjdk9))
32702 (propagated-inputs
32703 (list emacs-origami-el emacs-s))
32704 (synopsis "Major mode for viewing and managing Java keystores")
32705 (description
32706 "This package provides an Elisp wrapper around the Java
32707 @command{keytool} command and major mode for viewing Java keystores.")
32708 (license license:expat))))
32709
32710 (define-public emacs-ivy-avy
32711 (package
32712 (name "emacs-ivy-avy")
32713 (version "0.13.4")
32714 (source
32715 (origin
32716 (method url-fetch)
32717 (uri (string-append
32718 "https://elpa.gnu.org/packages/"
32719 "ivy-avy-" version ".tar"))
32720 (sha256
32721 (base32 "1q5caxm4rnh4jy5n88dhkdbx1afsshmfki5dl8xsqbdb3y0zq7yi"))))
32722 (build-system emacs-build-system)
32723 (propagated-inputs
32724 (list emacs-ivy emacs-avy))
32725 (home-page "https://github.com/abo-abo/swiper")
32726 (synopsis "Avy integration for Ivy")
32727 (description
32728 "This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
32729 (license license:gpl3+)))
32730
32731 (define-public emacs-vertico
32732 (package
32733 (name "emacs-vertico")
32734 (version "0.28")
32735 (source
32736 (origin
32737 (method git-fetch)
32738 (uri (git-reference
32739 (url "https://github.com/minad/vertico")
32740 (commit version)))
32741 (file-name (git-file-name name version))
32742 (sha256
32743 (base32 "0yybwj32k74c5c4rzlpmkq540b8ax0ihn5v7krnri83wn50hr272"))))
32744 (build-system emacs-build-system)
32745 (arguments
32746 `(#:phases
32747 (modify-phases %standard-phases
32748 ;; Move the extensions source files to the top level, which is included in
32749 ;; the EMACSLOADPATH.
32750 (add-after 'unpack 'move-source-files
32751 (lambda _
32752 (let ((el-files (find-files "./extensions" ".*\\.el$")))
32753 (for-each (lambda (f)
32754 (rename-file f (basename f)))
32755 el-files)))))))
32756 (native-inputs
32757 (list texinfo))
32758 (home-page "https://github.com/minad/vertico")
32759 (synopsis "Vertical interactive completion")
32760 (description
32761 "Vertico provides a minimalistic vertical completion UI, which is based
32762 on Emacs' default completion system. By reusing the default system, it
32763 achieves full compatibility with built-in Emacs commands and completion
32764 tables. Vertico is pretty bare-bone and only provides a minimal set of
32765 commands. Additional optional enhancements can be provided externally by
32766 complementary packages.")
32767 (license license:gpl3+)))
32768
32769 (define-public emacs-wisp-mode
32770 (package
32771 (name "emacs-wisp-mode")
32772 (version "0.3.0")
32773 (source
32774 (origin
32775 (method hg-fetch)
32776 (uri (hg-reference
32777 (url "https://hg.sr.ht/~arnebab/wisp")
32778 (changeset (string-append "wisp-mode-" version))))
32779 (file-name (git-file-name name version))
32780 (sha256
32781 (base32 "189baxk27rq3s6h6mh0m25sv504853rpvyxxdcwx6wdy7l88qany"))))
32782 (build-system emacs-build-system)
32783 (home-page "https://www.draketo.de/software/wisp")
32784 (synopsis "Syntax highlighting and indentation support for Wisp files")
32785 (description
32786 "This package provides @code{wisp-mode}, an Emacs major mode for Wisp
32787 files, providing syntax highlighting and indentation rules.")
32788 (license license:gpl3+)))
32789
32790 (define-public emacs-ivy-hydra
32791 (package
32792 (name "emacs-ivy-hydra")
32793 (version "0.13.5")
32794 (source
32795 (origin
32796 (method url-fetch)
32797 (uri (string-append
32798 "https://elpa.gnu.org/packages/"
32799 "ivy-hydra-" version ".tar"))
32800 (sha256
32801 (base32 "06rln9bnq5hli5rqlm47fb68b8llpqrmzwqqv4rn7mx3854i9a5x"))))
32802 (build-system emacs-build-system)
32803 (propagated-inputs
32804 (list emacs-ivy emacs-hydra))
32805 (home-page "https://github.com/abo-abo/swiper")
32806 (synopsis "Additional key bindings for Ivy")
32807 (description
32808 "This package provides the `hydra-ivy/body' command, which is a
32809 quasi-prefix map, with many useful bindings. These bindings are
32810 shorter than usual, using mostly unprefixed keys.")
32811 (license license:gpl3+)))
32812
32813 (define-public emacs-cwl-mode
32814 (package
32815 (name "emacs-cwl-mode")
32816 (version "0.2.6")
32817 (source
32818 (origin
32819 (method git-fetch)
32820 (uri (git-reference
32821 (url "https://github.com/tom-tan/cwl-mode")
32822 (commit version)))
32823 (file-name (git-file-name name version))
32824 (sha256
32825 (base32
32826 "0507acyr9h4646scx316niq27vir6hl2gsgz7wdbiw0cb2drfkd1"))))
32827 (build-system emacs-build-system)
32828 (propagated-inputs
32829 (list emacs-yaml-mode))
32830 (home-page "https://github.com/tom-tan/cwl-mode")
32831 (synopsis "Emacs mode for @acronym{CWL, Common Workflow Language} files")
32832 (description "This package provides a major mode for editing
32833 @acronym{CWL, Common Workflow Language} files.")
32834 (license license:gpl3+)))
32835
32836 (define-public emacs-dictionary
32837 (package
32838 (name "emacs-dictionary")
32839 (version "1.11")
32840 (source
32841 (origin
32842 (method git-fetch)
32843 (uri (git-reference
32844 (url "https://github.com/myrkr/dictionary-el")
32845 (commit (string-append "v" version))))
32846 (file-name (git-file-name name version))
32847 (sha256
32848 (base32 "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi"))))
32849 (build-system emacs-build-system)
32850 (home-page "http://www.myrkr.in-berlin.de/dictionary/index.html")
32851 (synopsis "Emacs client for dictionary servers")
32852 (description "This package provides commands for interacting with a
32853 dictionary server (as defined by RFC 2229; by default, the public server at
32854 dict.org) from within Emacs.")
32855 (license license:gpl2+)))
32856
32857 (define-public emacs-multitran
32858 (package
32859 (name "emacs-multitran")
32860 (version "0.4.16")
32861 (source
32862 (origin
32863 (method git-fetch)
32864 (uri (git-reference
32865 (url "https://github.com/zevlg/multitran.el")
32866 (commit version)))
32867 (file-name (git-file-name name version))
32868 (sha256
32869 (base32 "0zjl7zyydx2pan2ashbwbp70nlmw17hq5w03sfk12wi7j1nihwbz"))))
32870 (build-system emacs-build-system)
32871 (home-page "https://github.com/zevlg/multitran.el")
32872 (synopsis "Emacs interface to the multitran.com online dictionary")
32873 (description "@code{emacs-multitran} is a zero-dependency Emacs interface
32874 to the @url{https://multitran.com} online dictionary.")
32875 (license license:gpl3+)))
32876
32877 (define-public emacs-blacken
32878 (package
32879 (name "emacs-blacken")
32880 (version "0.2.0")
32881 (source
32882 (origin
32883 (method git-fetch)
32884 (uri
32885 (git-reference
32886 (url "https://github.com/pythonic-emacs/blacken")
32887 (commit (string-append "v" version))))
32888 (file-name (git-file-name name version))
32889 (sha256
32890 (base32 "0pf9yllx0h78m925sdrg6hbv54ky2pi7cpkdsnx891qjsahvjnpy"))))
32891 (build-system emacs-build-system)
32892 (inputs
32893 (list python-black))
32894 (arguments
32895 `(#:phases
32896 (modify-phases %standard-phases
32897 (add-after 'unpack 'patch-python-black
32898 (lambda* (#:key inputs #:allow-other-keys)
32899 (make-file-writable "blacken.el")
32900 (emacs-substitute-variables "blacken.el"
32901 ("blacken-executable"
32902 (search-input-file inputs "/bin/black"))))))))
32903 (home-page "https://github.com/pythonic-emacs/blacken")
32904 (synopsis "Python Black for Emacs")
32905 (description
32906 "Use the @command{python} @command{black} package to reformat
32907 @command{python} buffers.")
32908 (license license:gpl3)))
32909
32910 (define-public emacs-code-cells
32911 ;; No tagged release upstream
32912 (let ((commit "8660bdeedee360e5eb632f1eb1356eb09d7dfbee")
32913 (revision "0"))
32914 (package
32915 (name "emacs-code-cells")
32916 (version (git-version "0.2" revision commit))
32917 (source
32918 (origin
32919 (method git-fetch)
32920 (uri (git-reference
32921 (url "https://github.com/astoff/code-cells.el")
32922 (commit commit)))
32923 (file-name (git-file-name name version))
32924 (sha256
32925 (base32 "0mvfsdlhc3znc0d2p8vm7apkbpvbs688wmwvd0sms33qly53f546"))))
32926 (build-system emacs-build-system)
32927 (home-page "https://github.com/astoff/code-cells.el")
32928 (synopsis "Emacs utilities for code split into cells, including Jupyter
32929 notebooks")
32930 (description "This package lets you efficiently navigate, edit and
32931 execute code split into cells according to certain magic comments.")
32932 (license license:gpl3+))))
32933
32934 (define-public emacs-kibit-helper
32935 (package
32936 (name "emacs-kibit-helper")
32937 (version "0.1.1")
32938 (source
32939 (origin
32940 (method git-fetch)
32941 (uri (git-reference
32942 (url "https://github.com/brunchboy/kibit-helper")
32943 (commit (string-append "v" version))))
32944 (file-name (git-file-name name version))
32945 (sha256
32946 (base32 "0ky167xh1hrmqsldybzjhyqjizgjzs1grn5mf8sm2j9qwcvjw2zv"))))
32947 (build-system emacs-build-system)
32948 (propagated-inputs
32949 (list emacs-s))
32950 (home-page "http://www.github.com/brunchboy/kibit-helper")
32951 (synopsis "Use the Kibit Leiningen plugin from Emacs")
32952 (description
32953 "Kibit Helper provides functions to work with the Kibit Leiningen plugin
32954 for detecting and improve non-idiomatic Clojure source code.")
32955 (license license:gpl3+)))
32956
32957 (define-public emacs-mint-mode
32958 (package
32959 (name "emacs-mint-mode")
32960 (version "1.0.3")
32961 (source
32962 (origin
32963 (method git-fetch)
32964 (uri (git-reference
32965 (url "https://github.com/creatorrr/emacs-mint-mode")
32966 (commit (string-append "v" version))))
32967 (file-name (git-file-name name version))
32968 (sha256
32969 (base32 "19szk2dhsa0771kbg1ywp0zz8j6akysvwmmrx2bihq8h5j4y23pg"))))
32970 (build-system emacs-build-system)
32971 (arguments '(#:include '("\\.el$" "\\.txt$")))
32972 (home-page "https://github.com/creatorrr/emacs-mint-mode")
32973 (synopsis "Major mode for Mint language")
32974 (description
32975 "Mint mode provides syntax highlighting, basic keyword auto-completion,
32976 and format on save for Mint programming language.")
32977 (license license:gpl3+)))
32978
32979 (define-public emacs-seeing-is-believing
32980 (let ((version "1.2.0") ; from .el file
32981 (commit "fbbe246c0fda87bb26227bb826eebadb418a220f")
32982 (revision "0"))
32983 (package
32984 (name "emacs-seeing-is-believing")
32985 (home-page "https://github.com/jcinnamond/seeing-is-believing")
32986 (version (git-version version revision commit))
32987 (source
32988 (origin
32989 (method git-fetch)
32990 (uri (git-reference
32991 (url home-page)
32992 (commit commit)))
32993 (file-name (git-file-name name version))
32994 (sha256
32995 (base32
32996 "1h1b48s2iirswdlvfz41jbflm4x09ksc2lycrc1awzlwd6r8hdhg"))))
32997 (build-system emacs-build-system)
32998 (synopsis
32999 "Minor mode for running the seeing-is-believing Ruby gem")
33000 (description
33001 "@uref{https://github.com/JoshCheek/seeing_is_believing,Seeing Is
33002 Believing} is a ruby gem to evaluate Ruby code, recording the results of each
33003 line. This minor mode provides an easy way to run it from Emacs on the
33004 current region or entire buffer.")
33005 (license license:gpl3+))))
33006
33007 (define-public emacs-nasm-mode
33008 (package
33009 (name "emacs-nasm-mode")
33010 (version "1.1.1")
33011 (source
33012 (origin
33013 (method git-fetch)
33014 (uri (git-reference
33015 (url "https://github.com/skeeto/nasm-mode")
33016 (commit version)))
33017 (file-name (git-file-name name version))
33018 (sha256
33019 (base32
33020 "1dyc50a1zskx9fqxl2iy2x74f3bkb2ccz908v0aj13rqfqqnns9j"))))
33021 (build-system emacs-build-system)
33022 (home-page "https://github.com/skeeto/nasm-mode")
33023 (synopsis "NASM x86 assembly major mode")
33024 (description
33025 "NASM mode is a major mode for editing NASM x86 assembly programs.
33026 It includes syntax highlighting, automatic indentation, and imenu integration.
33027 Unlike Emacs' generic ASM mode, it understands NASM-specific syntax.")
33028 (license license:unlicense)))
33029
33030 (define-public emacs-validate-html
33031 ;; XXX: Upstream did not tag commits yet. However, commit below matches the
33032 ;; last version bump. Version is extracted from the keyword in main file.
33033 (let ((commit "748e874d50c3a95c61590ae293778e26de05c5f9"))
33034 (package
33035 (name "emacs-validate-html")
33036 (version "1.3")
33037 (source
33038 (origin
33039 (method git-fetch)
33040 (uri
33041 (git-reference
33042 (url "https://github.com/arthurgleckler/validate-html")
33043 (commit commit)))
33044 (file-name (git-file-name name version))
33045 (sha256
33046 (base32 "0b2b5dm85jwgkqvga23r3vfya07vxv2n7a3a6r1pxpk8asqlw41c"))))
33047 (build-system emacs-build-system)
33048 (home-page "https://github.com/arthurgleckler/validate-html")
33049 (synopsis "Run the W3C HTML Validator directly from Emacs")
33050 (description
33051 "@command{emacs-validate-html} installs the command @code{validate-html},
33052 which sends the current buffer to the World Wide Web Consortium’s HTML
33053 Validator service and displays the results in a buffer in Compilation mode.")
33054 (license license:gpl3+))))
33055
33056 (define-public emacs-volatile-highlights
33057 ;; XXX: Upstream does not tag releases. Commit below matches version bump.
33058 (let ((commit "9a20091f0ce7fc0a6b3e641a6a46d5f3ac4d8392"))
33059 (package
33060 (name "emacs-volatile-highlights")
33061 (version "1.15")
33062 (source (origin
33063 (method git-fetch)
33064 (uri (git-reference
33065 (url "http://github.com/k-talo/volatile-highlights.el")
33066 (commit commit)))
33067 (file-name (git-file-name name version))
33068 (sha256
33069 (base32
33070 "1dsa6769lphyyv7yg92vkkpk395w52q4m7hdn8xy7s6lh5c6a955"))))
33071 (build-system emacs-build-system)
33072 (home-page "http://github.com/k-talo/volatile-highlights.el")
33073 (synopsis "Emacs minor mode for visual feedback on some operations")
33074 (description "@code{volatile-highlights-mode} brings visual feedback to
33075 some operations by highlighting portions relating to the operations. All of
33076 highlights made by this library will be removed when any new operation is
33077 executed.")
33078 (license license:gpl3+))))
33079
33080 (define-public emacs-global-tags
33081 (let ((commit "06db25d91cc8bfb5e24e02adc04de1226c7e742d")
33082 (revision "0"))
33083 (package
33084 (name "emacs-global-tags")
33085 (version (git-version "0.7" revision commit))
33086 (home-page "https://git.launchpad.net/global-tags.el/")
33087 (source (origin
33088 (method git-fetch)
33089 (uri (git-reference
33090 (url home-page)
33091 (commit commit)))
33092 (file-name (git-file-name name version))
33093 (sha256
33094 (base32
33095 "1q30cbqq0h1gfwlcbnx9s930li7w7a0y8sx2ivbvvyyc2j5gsk4j"))))
33096 (build-system emacs-build-system)
33097 (propagated-inputs
33098 (list emacs-async emacs-ht))
33099 (synopsis "Testeable Emacs Lisp API that wraps around GNU Global")
33100 (description "This package provides a testeable Emacs Lisp API that
33101 wraps GNU Global calls and integration to editor using this API with
33102 project.el and xref.el.")
33103 (license license:gpl3+))))
33104
33105 (define-public emacs-seq
33106 (package
33107 (name "emacs-seq")
33108 (version "2.23")
33109 (source
33110 (origin
33111 (method url-fetch)
33112 (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar"))
33113 (sha256
33114 (base32 "1lbxnrzq88z8k9dyylg2636pg9vc8bzfprs1hxwp9ah0zkvsn52p"))))
33115 (build-system emacs-build-system)
33116 (home-page "https://elpa.gnu.org/packages/seq.html")
33117 (synopsis "Sequence manipulation functions")
33118 (description
33119 "This Emacs package provides sequence manipulation functions that
33120 complement basic functions provided by @file{subr.el}. All its functions
33121 are prefixed with @code{seq-} and work on lists, strings, and vectors.")
33122 (license license:gpl3+)))
33123
33124 (define-public emacs-setup
33125 (package
33126 (name "emacs-setup")
33127 (version "1.3.2")
33128 (source
33129 (origin
33130 (method url-fetch)
33131 (uri (string-append "https://elpa.gnu.org/packages/setup-"
33132 version ".tar"))
33133 (sha256
33134 (base32 "1sr514w4mn0fbdawjb5p0fd6i6q2zi9737rbwcgakb1l9cqvb5qy"))))
33135 (build-system emacs-build-system)
33136 (home-page "https://git.sr.ht/~pkal/setup")
33137 (synopsis "Helpful configuration macro")
33138 (description
33139 "The @code{setup} macro simplifies repetitive configuration patterns, by
33140 providing context-sensitive local macros in @code{setup} bodies. These macros
33141 can be mixed with regular elisp code without any issues, allowing for
33142 flexible and terse configurations. The list of local macros can be
33143 extended by the user via @code{setup-define}. A list of currently known
33144 local macros are documented in the docstring for @code{setup}.")
33145 (license license:gpl3+)))
33146
33147 (define-public emacs-tomelr
33148 (package
33149 (name "emacs-tomelr")
33150 (version "0.4.3")
33151 (source
33152 (origin
33153 (method git-fetch)
33154 (uri (git-reference
33155 (url "https://github.com/kaushalmodi/tomelr/")
33156 (commit (string-append "v" version))))
33157 (sha256
33158 (base32 "03iih7arjlfg8gdp4v2xglas9z519q1s11l28igr8l0m5y0pdrnk"))
33159 (file-name (git-file-name name version))))
33160 (build-system emacs-build-system)
33161 (propagated-inputs (list emacs-map emacs-seq))
33162 (home-page "https://github.com/kaushalmodi/tomelr/")
33163 (synopsis "Emacs-Lisp library for converting S-expressions to TOML")
33164 (description
33165 "This package provides the @code{tomelr-encode} function to convert a Lisp
33166 data expression in Alist or Plist format to a TOML string.")
33167 (license license:gpl3+)))
33168
33169 (define-public emacs-ed-mode
33170 ;; XXX: Upstream did not tag any commits yet.
33171 (let ((commit "69f4fb34eca8df6a3bfe24bd8d8075551f0264ac")
33172 (revision "0"))
33173 (package
33174 (name "emacs-ed-mode")
33175 (version (git-version "0" revision commit))
33176 (source
33177 (origin
33178 (method git-fetch)
33179 (uri
33180 (git-reference
33181 (url "https://github.com/ryanprior/ed-mode")
33182 (commit commit)))
33183 (file-name (git-file-name name version))
33184 (sha256
33185 (base32 "058siccx6znw1bcp820bll0jg300xz8w1wf97zr1fa6jwfxyhhvi"))))
33186 (build-system emacs-build-system)
33187 (home-page "https://github.com/ryanprior/ed-mode")
33188 (synopsis "Emacs ed emulation")
33189 (description
33190 "@code{ed-mode} lets you interact with Emacs buffers like you would do
33191 with the ed editor.")
33192 (license license:gpl3+))))
33193
33194 (define-public emacs-alsamixer-el
33195 (package
33196 (name "emacs-alsamixer-el")
33197 (version "0.2.1")
33198 (source
33199 (origin
33200 (method git-fetch)
33201 (uri
33202 (git-reference
33203 (url "https://github.com/remvee/alsamixer-el")
33204 (commit version)))
33205 (file-name (git-file-name name version))
33206 (sha256
33207 (base32 "0c40vycphv5nf374rp8pnzvi50vlmgab3wrdq92hyprjw76gwxhk"))))
33208 (build-system emacs-build-system)
33209 (home-page "https://github.com/remvee/alsamixer-el")
33210 (synopsis "Emacs interface to amixer")
33211 (description "@code{emacs-alsamixer-el} provides basic commands to control
33212 audio volume via amixer.")
33213 (license license:gpl3+)))
33214
33215 (define-public emacs-fennel-mode
33216 ;; XXX: Commit below refers to the un-tagged latest release.
33217 (let ((commit "b3c52964eda7c0267f6e3f0ad6c690c3a1e89da1"))
33218 (package
33219 (name "emacs-fennel-mode")
33220 (version "0.5.0")
33221 (source
33222 (origin
33223 (method git-fetch)
33224 (uri (git-reference
33225 (url "https://git.sr.ht/~technomancy/fennel-mode")
33226 (commit commit)))
33227 (sha256
33228 (base32 "1yib626wi7xiairzqkk96s99p1q7mmr2y5v78bv01h5d7h12sdgq"))))
33229 (build-system emacs-build-system)
33230 (home-page "https://git.sr.ht/~technomancy/fennel-mode")
33231 (synopsis "Emacs major-mode for editing Fennel code")
33232 (description
33233 "Fennel mode provides font-lock, indentation, navigation, and REPL for
33234 Fennel code within Emacs.")
33235 (license license:gpl3+))))
33236
33237 (define-public emacs-org-modern
33238 (package
33239 (name "emacs-org-modern")
33240 (version "0.5")
33241 (source
33242 (origin
33243 (method git-fetch)
33244 (uri (git-reference
33245 (url "https://github.com/minad/org-modern")
33246 (commit version)))
33247 (sha256
33248 (base32 "1gny2p3w6ck5sarv6vap2y1lj6h9qaxbh7r7bzszb9qj8rhapk6q"))
33249 (file-name (git-file-name name version))))
33250 (build-system emacs-build-system)
33251 (home-page "https://github.com/minad/org-modern")
33252 (synopsis "Modern Org Style")
33253 (description
33254 "@code{emacs-org-modern} implements a modern style for your Org
33255 buffers using font locking and text properties. The package styles
33256 headlines, keywords, tables and source blocks.")
33257 (license license:gpl3+)))
33258
33259 (define-public emacs-pyimport
33260 (let ((commit "a6f63cf7ed93f0c0f7c207e6595813966f8852b9")
33261 (revision "0"))
33262 (package
33263 (name "emacs-pyimport")
33264 (version (git-version "1.1" revision commit))
33265 (source
33266 (origin
33267 (method git-fetch)
33268 (uri
33269 (git-reference
33270 (url "https://github.com/Wilfred/pyimport")
33271 (commit commit)))
33272 (file-name (git-file-name name version))
33273 (sha256
33274 (base32 "1q5gqhvh4zq5dy8vns694warcz48j1hdnxg16sjck4gsi9xivbvs"))))
33275 (build-system emacs-build-system)
33276 (inputs
33277 (list python-pyflakes))
33278 (propagated-inputs
33279 (list emacs-dash emacs-s emacs-shut-up))
33280 (arguments
33281 (list #:phases
33282 #~(modify-phases %standard-phases
33283 (add-after 'unpack 'patch-pyflakes-executable
33284 (lambda* (#:key inputs #:allow-other-keys)
33285 (let ((pyflakes (search-input-file inputs "/bin/pyflakes")))
33286 (make-file-writable "pyimport.el")
33287 (substitute* "pyimport.el"
33288 (("\"pyflakes")
33289 (string-append "\"" pyflakes)))))))))
33290 (home-page "https://github.com/Wilfred/pyimport")
33291 (synopsis "Manage Python imports from Emacs")
33292 (description
33293 "@code{emacs-pyimport} manages python imports from Emacs via @code{python-pyflakes}.")
33294 (license license:gpl3+)))) ; License is in pyimport.el
33295
33296 (define-public emacs-straight-el
33297 (let ((commit "fed215348076ba9182f634e0770a175220474b5a")
33298 (revision "0"))
33299 (package
33300 (name "emacs-straight-el")
33301 (version (git-version "0" revision commit))
33302 (source
33303 (origin
33304 (method git-fetch)
33305 (uri
33306 (git-reference
33307 (url "https://github.com/radian-software/straight.el")
33308 (commit commit)))
33309 (file-name (git-file-name name version))
33310 (sha256
33311 (base32 "0z0j670s18mp1bhrsnng0mybcbnlywarhlz7zmrf9399rr513z1x"))))
33312 (build-system emacs-build-system)
33313 (arguments
33314 (list
33315 #:tests? #t
33316 #:test-command
33317 #~(list "emacs" "-Q" "--batch"
33318 "-L" "."
33319 "--load" "ert"
33320 "--load" "tests/straight-test.el"
33321 "--eval" "(progn (require 'straight-ert-print-hack) (ert-run-tests-batch-and-exit))")
33322 #:phases
33323 #~(modify-phases %standard-phases
33324 (add-after 'unpack 'patch-git-executable
33325 (lambda* (#:key inputs #:allow-other-keys)
33326 (make-file-writable "straight.el")
33327 (substitute* "straight.el"
33328 (("\"git\"")
33329 (string-append "\""
33330 (search-input-file inputs "/bin/git")
33331 "\"")))))
33332 (add-after 'check 'delete-tests
33333 ;; "tests" directory includes bogus ".el" files that can make
33334 ;; `patch-el-files' phase fail.
33335 (lambda _
33336 (delete-file-recursively "tests"))))))
33337 (native-inputs
33338 (list texinfo))
33339 (inputs
33340 (list git))
33341 (propagated-inputs
33342 (list emacs-magit))
33343 (home-page "https://github.com/radian-software/straight.el/")
33344 (synopsis "Purely functional package manager for the Emacs hacker")
33345 (description
33346 "@code{emacs-straight-el} is a purely functional package manager for the Emacs
33347 hacker.")
33348 (license license:expat))))
33349
33350 (define-public emacs-osm
33351 (package
33352 (name "emacs-osm")
33353 (version "0.8")
33354 (home-page "https://github.com/minad/osm")
33355 (source (origin
33356 (method git-fetch)
33357 (uri (git-reference
33358 (url home-page)
33359 (commit version)))
33360 (file-name (git-file-name name version))
33361 (sha256
33362 (base32
33363 "039ac364f00slx1dxxgsgfcr4x47v9ymn8arcs0fyhdhw7jnky5j"))))
33364 (build-system emacs-build-system)
33365 (arguments
33366 (list #:phases #~(modify-phases %standard-phases
33367 (add-after 'unpack 'set-curl-file-name
33368 (lambda* (#:key inputs #:allow-other-keys)
33369 (substitute* "osm.el"
33370 (("\"curl( ?)\"" _ space)
33371 (string-append "\""
33372 (search-input-file inputs
33373 "/bin/curl")
33374 space "\"")))))
33375 (add-after 'install 'makeinfo
33376 (lambda _
33377 (invoke "emacs"
33378 "--batch"
33379 "--eval=(require 'ox-texinfo)"
33380 "--eval=(setq org-export-with-broken-links t)"
33381 "--eval=(find-file \"README.org\")"
33382 "--eval=(org-texinfo-export-to-info)")
33383 (install-file "osm.info"
33384 (string-append #$output
33385 "/share/info")))))))
33386 (inputs (list curl))
33387 (native-inputs (list texinfo))
33388 (synopsis "OpenStreetMap viewer for Emacs")
33389 (description
33390 "This package provides an OpenStreetMap viewer for Emacs, featuring
33391 zoomable and moveable map display, display of tracks and POIs from GPX files,
33392 parallel fetching of tiles with cURL, and more.")
33393 (license license:gpl3+)))
33394
33395 (define-public emacs-corfu-terminal
33396 ;; Upstream does not tag releases, version taken from package header.
33397 (let ((commit "7c5a8a1c07b6c1a41b358b083d5bf7773701d26b")
33398 (revision "0"))
33399 (package
33400 (name "emacs-corfu-terminal")
33401 (version (git-version "0.4" revision commit))
33402 (source
33403 (origin
33404 (method git-fetch)
33405 (uri
33406 (git-reference
33407 (url "https://codeberg.org/akib/emacs-corfu-terminal")
33408 (commit commit)))
33409 (file-name (git-file-name name version))
33410 (sha256
33411 (base32 "0pk5vfcz8w4hiqrwzwpxdjzlbhla0bw7a1h6v0mqxad0j9y7v3nw"))))
33412 (build-system emacs-build-system)
33413 (propagated-inputs (list emacs-corfu emacs-popon))
33414 (home-page "https://codeberg.org/akib/emacs-corfu-terminal/")
33415 (synopsis "Replace corfu child frames with popups")
33416 (description
33417 "This package replaces the child frames @code{emacs-corfu} uses
33418 with popups, which also work in the terminal.")
33419 (license license:gpl3+))))
33420
33421 (define-public emacs-corfu-doc-terminal
33422 ;; Upstream does not tag releases, version taken from package header.
33423 (let ((commit "d8945c64b52d76e864b767b3048674f222daf80b")
33424 (revision "0"))
33425 (package
33426 (name "emacs-corfu-doc-terminal")
33427 (version (git-version "0.5" revision commit))
33428 (source
33429 (origin
33430 (method git-fetch)
33431 (uri
33432 (git-reference
33433 (url "https://codeberg.org/akib/emacs-corfu-doc-terminal")
33434 (commit commit)))
33435 (file-name (git-file-name name version))
33436 (sha256
33437 (base32 "0j0dd8np5x93wic22bc5i9h7bq2gj700n4fh11dzzgsj14lv2r5k"))))
33438 (build-system emacs-build-system)
33439 (propagated-inputs
33440 (list emacs-corfu emacs-corfu-doc emacs-corfu-terminal emacs-popon))
33441 (home-page "https://codeberg.org/akib/emacs-corfu-doc-terminal/")
33442 (synopsis "Replace corfu docmentation child frames with popups")
33443 (description
33444 "This package replaces the child frames @code{emacs-corfu-doc} uses
33445 with popups, which also work in the terminal.")
33446 (license license:gpl3+))))
33447
33448 (define-public emacs-popon
33449 ;; Upstream does not tag releases. The commit below matches the version
33450 ;; bump.
33451 (let ((commit "d16cb747d356eab3f1bc4061ecee473732f7b8bb"))
33452 (package
33453 (name "emacs-popon")
33454 (version "0.4")
33455 (source
33456 (origin
33457 (method git-fetch)
33458 (uri
33459 (git-reference
33460 (url "https://codeberg.org/akib/emacs-popon")
33461 (commit commit)))
33462 (file-name (git-file-name name version))
33463 (sha256
33464 (base32 "1i5rp0gvcdqakzaznsh0lqzvlq5kif9q2grq4l80gl75dmqdpym7"))))
33465 (build-system emacs-build-system)
33466 (home-page "https://codeberg.org/akib/emacs-popon/")
33467 (synopsis "Pop floating text on a window")
33468 (description
33469 "@code{emacs-popon} allows you to pop text on a window, what we call
33470 a popon. Popons are window-local and sticky, they don't move while
33471 scrolling, and they even don't go away when switching buffer, but you
33472 can bind a popon to a specific buffer to only show on that buffer.")
33473 (license license:gpl3+))))
33474
33475 (define-public emacs-consult-lsp
33476 (package
33477 (name "emacs-consult-lsp")
33478 (version "1.0")
33479 (source
33480 (origin
33481 (method git-fetch)
33482 (uri (git-reference
33483 (url "https://github.com/gagbo/consult-lsp")
33484 (commit version)))
33485 (file-name (git-file-name name version))
33486 (sha256
33487 (base32 "14dyclspkf1a34nvjj800ckz1phsizq07ps8k4x0ah6ik0hfhy1w"))))
33488 (build-system emacs-build-system)
33489 (propagated-inputs (list emacs-consult emacs-lsp-mode emacs-f))
33490 (home-page "https://github.com/gagbo/consult-lsp/")
33491 (synopsis "LSP-mode and consult helping each other")
33492 (description
33493 "@code{emacs-consult-lsp} provides helpers for interactively selecting LSP
33494 workspace diagnostics, symbols, and file symbols from @{emacs-lsp-mode}
33495 by leveraging @code{emacs-consult} APIs.")
33496 (license license:expat)))
33497
33498 (define-public emacs-purs-mode
33499 ;; XXX: Upstream set no tag nor any Version keyword. Using 0 as the base
33500 ;; version.
33501 (let ((commit "d29f1021787a90d0fd3eb0af625958abb7f7506b")
33502 (revision "0"))
33503 (package
33504 (name "emacs-purs-mode")
33505 (version (git-version "0" revision commit))
33506 (source
33507 (origin
33508 (method git-fetch)
33509 (uri
33510 (git-reference
33511 (url "https://github.com/PureFunctor/purs-mode")
33512 (commit commit)))
33513 (file-name (git-file-name name version))
33514 (sha256
33515 (base32 "0r7219ysf3hsjnan30hidf8jamcqsz36pkcmnhknff0c6dpwbnpx"))))
33516 (build-system emacs-build-system)
33517 (home-page "https://github.com/PureFunctor/purs-mode/")
33518 (synopsis "PureScript major mode for Emacs")
33519 (description
33520 "Purs mode provides a PureScript major mode for Emacs.")
33521 (license license:gpl3+))))
33522
33523 (define-public emacs-pdb-capf
33524 (let ((commit "31602ccab53aa7dcf26a1af222c7da2bcc1390ed")
33525 (revision "0"))
33526 (package
33527 (name "emacs-pdb-capf")
33528 (version (git-version "1.0" revision commit))
33529 (source
33530 (origin
33531 (method git-fetch)
33532 (uri
33533 (git-reference
33534 (url "https://github.com/muffinmad/emacs-pdb-capf")
33535 (commit commit)))
33536 (file-name (git-file-name name version))
33537 (sha256
33538 (base32 "0x2pg03csf25vj8y2zb5sv493dk3n0s4xbkihii2mzhkx82vgpxg"))))
33539 (build-system emacs-build-system)
33540 (home-page "https://github.com/muffinmad/emacs-pdb-capf")
33541 (synopsis "Completion-at-point function for pdb")
33542 (description
33543 "@code{emacs-pdb-capf} provides a @code{completion-at-point} function
33544 for pdb allowing completion in a @code{*gud-pdb*} buffer.")
33545 (license license:gpl3+))))
33546
33547 (define-public emacs-bitbake-modes
33548 (package
33549 (name "emacs-bitbake-modes")
33550 (version "0.5.3")
33551 (source
33552 (origin
33553 (method git-fetch)
33554 (uri (git-reference
33555 (url "https://bitbucket.org/olanilsson/bitbake-modes")
33556 (commit (string-append "v" version))))
33557 (sha256
33558 (base32 "1580cfpfmsjwiq6v2vsqjwhzj9m4lrhhf3nffmbzp36r6q5n8611"))
33559 (file-name (git-file-name name version))))
33560 (build-system emacs-build-system)
33561 (propagated-inputs (list emacs-mmm-mode))
33562 (home-page "https://bitbucket.org/olanilsson/bitbake-modes")
33563 (synopsis "Emacs major modes for bitbake")
33564 (description
33565 "@code{emacs-bitbake-modes} is a collection of major modes and tools that can
33566 be useful when working with the bitbake files in Yocto and OpenEmbedded
33567 projects.")
33568 (license license:gpl3+)))
33569
33570 (define-public emacs-vundo
33571 (package
33572 (name "emacs-vundo")
33573 (version "2.0.0")
33574 (source (origin
33575 (method url-fetch)
33576 (uri (string-append "https://elpa.gnu.org/packages/vundo-"
33577 version ".tar"))
33578 (sha256
33579 (base32
33580 "032aqcqq2xhh12qcpp8p3qldv0r9cnqr2y11jk1m5cvgal1cbb68"))))
33581 (build-system emacs-build-system)
33582 (home-page "https://github.com/casouri/vundo")
33583 (synopsis "Visualize the undo tree")
33584 (description
33585 "Vundo (visual undo) displays the undo history as a tree and lets you move in the
33586 tree to go back to previous buffer states. To use vundo, type @kbd{M-x vundo RET} in
33587 the buffer you want to undo. An undo tree buffer should pop up.")
33588 (license license:gpl3+)))
33589
33590 (define-public emacs-org-cliplink
33591 (let ((commit "13e0940b65d22bec34e2de4bc8cba1412a7abfbc")
33592 (revision "0"))
33593 (package
33594 (name "emacs-org-cliplink")
33595 (version (git-version "0.2" revision commit))
33596 (source
33597 (origin
33598 (method git-fetch)
33599 (uri
33600 (git-reference
33601 (url "https://github.com/rexim/org-cliplink")
33602 (commit commit)))
33603 (file-name (git-file-name name version))
33604 (sha256
33605 (base32 "1avyiw8vlv4n1r7zqvc6wjlsz7jl2pqaprzpm782gzp0c999pssl"))))
33606 (build-system emacs-build-system)
33607 (arguments
33608 (list
33609 #:tests? #t
33610 #:test-command #~(list "ert-runner")
33611 #:phases
33612 #~(modify-phases %standard-phases
33613 (add-after 'unpack 'patch-curl-executable
33614 (lambda* (#:key inputs #:allow-other-keys)
33615 (substitute* "org-cliplink-transport.el"
33616 (("\\(executable-find \"curl\"\\)")
33617 (let ((curl (search-input-file inputs "/bin/curl")))
33618 (string-append "\"" curl "\"")))))))))
33619 (native-inputs
33620 (list emacs-el-mock emacs-ert-runner emacs-undercover))
33621 (inputs
33622 (list curl))
33623 (home-page "https://github.com/rexim/org-cliplink/")
33624 (synopsis "Insert Org mode links from the clipboard")
33625 (description
33626 "Org Cliplink provides a simple command that takes a URL from the
33627 clipboard and inserts an Org mode link with a title of a page found by the URL
33628 into the current buffer.")
33629 (license license:expat))))
33630
33631 (define-public emacs-project-x
33632 ;; There is no proper release.
33633 ;; The base version is extracted from the README.org.
33634 (let ((revision "0")
33635 (commit "0b78f4e33b994612fcb305b3cf6d3b1e3b62cea7"))
33636 (package
33637 (name "emacs-project-x")
33638 (version (git-version "0.1.6" revision commit))
33639 (source
33640 (origin
33641 (method git-fetch)
33642 (uri
33643 (git-reference
33644 (url "https://github.com/karthink/project-x")
33645 (commit commit)))
33646 (file-name (git-file-name name version))
33647 (sha256
33648 (base32 "1xxzxxm0jila5s9sfay6ywj2j8pyz4wwcrycvnrrzh0vxcsgzf9s"))))
33649 (build-system emacs-build-system)
33650 (home-page "https://github.com/karthink/project-x")
33651 (synopsis "Enhancement to Emacs built-in Project library")
33652 (description
33653 "Project-X provides convenience features for Emacs' Project library.
33654 In particular, it saves and restores project files and window configurations
33655 across sessions.")
33656 (license license:gpl3+))))
33657
33658 (define-public emacs-vertico-posframe
33659 (package
33660 (name "emacs-vertico-posframe")
33661 (version "0.5.4")
33662 (source (origin
33663 (method url-fetch)
33664 (uri (string-append
33665 "https://elpa.gnu.org/packages/vertico-posframe-" version
33666 ".tar"))
33667 (sha256
33668 (base32
33669 "19lx6p06wkwfivxgswdljdsh9bgcd1b9zkzx426w3pwicdk0cvgg"))))
33670 (build-system emacs-build-system)
33671 (propagated-inputs (list emacs-posframe emacs-vertico))
33672 (home-page "https://github.com/tumashu/vertico-posframe")
33673 (synopsis "Pop up a frame at point to show vertical completion UI")
33674 (description
33675 "Vertico is an Emacs package that provides a vertical completion UI based
33676 on the default completion system. Posframe is an Emacs package that provides
33677 a way to pop up a frame at point. Vertico-posframe is an Emacs package and
33678 a Vertico extension which provides a way to pop up a frame at point to show
33679 a vertical completion UI.")
33680 (license license:gpl3+)))
33681
33682 ;;;
33683 ;;; Avoid adding new packages to the end of this file. To reduce the chances
33684 ;;; of a merge conflict, place them above by existing packages with similar
33685 ;;; functionality or similar names.
33686 ;;;