gnu: emacs-stream: Update to 2.2.5.
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
6 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
9 ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
12 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
13 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
16 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
17 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019, 2020 Clément Lassieur <clement@lassieur.org>
23 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24 ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26 ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27 ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
29 ;;; Copyright © 2017, 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
30 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019, 2020 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 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39 ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
40 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41 ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019, 2020 Brett Gilio <brettg@gnu.org>
45 ;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019, 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org>
55 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
57 ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
58 ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
59 ;;; Copyright © 2019 David Wilson <david@daviwil.com>
60 ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
61 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
62 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
63 ;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo>
64 ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
65 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
66 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
67 ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc>
68 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
69 ;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
70 ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
71 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
72 ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc>
73 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
74 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
75 ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
76 ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com>
77 ;;;
78 ;;; This file is part of GNU Guix.
79 ;;;
80 ;;; GNU Guix is free software; you can redistribute it and/or modify it
81 ;;; under the terms of the GNU General Public License as published by
82 ;;; the Free Software Foundation; either version 3 of the License, or (at
83 ;;; your option) any later version.
84 ;;;
85 ;;; GNU Guix is distributed in the hope that it will be useful, but
86 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
87 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
88 ;;; GNU General Public License for more details.
89 ;;;
90 ;;; You should have received a copy of the GNU General Public License
91 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
92
93 (define-module (gnu packages emacs-xyz)
94 #:use-module ((guix licenses) #:prefix license:)
95 #:use-module (guix packages)
96 #:use-module (guix cvs-download)
97 #:use-module (guix download)
98 #:use-module (guix git-download)
99 #:use-module (guix hg-download)
100 #:use-module (guix build-system gnu)
101 #:use-module (guix build-system cmake)
102 #:use-module (guix build-system emacs)
103 #:use-module (guix build-system glib-or-gtk)
104 #:use-module (guix build-system perl)
105 #:use-module (guix build-system trivial)
106 #:use-module (gnu packages)
107 #:use-module (gnu packages admin)
108 #:use-module (gnu packages audio)
109 #:use-module (gnu packages bash)
110 #:use-module (gnu packages cmake)
111 #:use-module (gnu packages code)
112 #:use-module (gnu packages cpp)
113 #:use-module (gnu packages curl)
114 #:use-module (gnu packages databases)
115 #:use-module (gnu packages dictionaries)
116 #:use-module (gnu packages emacs)
117 #:use-module (gnu packages guile)
118 #:use-module (gnu packages gtk)
119 #:use-module (gnu packages gnome)
120 #:use-module (gnu packages haskell-apps)
121 #:use-module (gnu packages ncurses)
122 #:use-module (gnu packages python)
123 #:use-module (gnu packages python-xyz)
124 #:use-module (gnu packages telephony)
125 #:use-module (gnu packages terminals)
126 #:use-module (gnu packages tex)
127 #:use-module (gnu packages texinfo)
128 #:use-module (gnu packages tcl)
129 #:use-module (gnu packages tls)
130 #:use-module (gnu packages pkg-config)
131 #:use-module (gnu packages xorg)
132 #:use-module (gnu packages lesstif)
133 #:use-module (gnu packages llvm)
134 #:use-module (gnu packages image)
135 #:use-module (gnu packages linux)
136 #:use-module (gnu packages libevent)
137 #:use-module (gnu packages lua)
138 #:use-module (gnu packages music)
139 #:use-module (gnu packages version-control)
140 #:use-module (gnu packages imagemagick)
141 #:use-module (gnu packages w3m)
142 #:use-module (gnu packages wget)
143 #:use-module (gnu packages autotools)
144 #:use-module (gnu packages base)
145 #:use-module (gnu packages compression)
146 #:use-module (gnu packages node)
147 #:use-module (gnu packages xml)
148 #:use-module (gnu packages glib)
149 #:use-module (gnu packages acl)
150 #:use-module (gnu packages mail)
151 #:use-module (gnu packages messaging)
152 #:use-module (gnu packages package-management)
153 #:use-module (gnu packages perl)
154 #:use-module (gnu packages pdf)
155 #:use-module (gnu packages rust-apps)
156 #:use-module (gnu packages scheme)
157 #:use-module (gnu packages speech)
158 #:use-module (gnu packages xiph)
159 #:use-module (gnu packages mp3)
160 #:use-module (gnu packages gettext)
161 #:use-module (gnu packages fribidi)
162 #:use-module (gnu packages gd)
163 #:use-module (gnu packages fontutils)
164 #:use-module (gnu packages password-utils)
165 #:use-module (gnu packages pulseaudio)
166 #:use-module (gnu packages sphinx)
167 #:use-module (gnu packages xdisorg)
168 #:use-module (gnu packages shells)
169 #:use-module (gnu packages sqlite)
170 #:use-module (gnu packages gnupg)
171 #:use-module (gnu packages video)
172 #:use-module (gnu packages haskell-xyz)
173 #:use-module (gnu packages wordnet)
174 #:use-module (gnu packages photo)
175 #:use-module (gnu packages uml)
176 #:use-module (guix utils)
177 #:use-module (srfi srfi-1)
178 #:use-module (ice-9 match))
179
180 ;;;
181 ;;; Emacs hacking.
182 ;;;
183
184 (define-public emacs-geiser
185 (package
186 (name "emacs-geiser")
187 (version "0.11.2")
188 (source (origin
189 (method git-fetch)
190 (uri (git-reference
191 (url "https://gitlab.com/jaor/geiser/")
192 (commit version)))
193 (file-name (git-file-name name version))
194 (sha256
195 (base32
196 "1khi1bghsjx6cs5acizmlbw9z19s4qycnji9krdbn42cbpv0rysv"))))
197 (build-system gnu-build-system)
198 (arguments
199 '(#:phases
200 (modify-phases %standard-phases
201 (add-after 'install 'post-install
202 (lambda* (#:key outputs #:allow-other-keys)
203 (symlink "geiser-install.el"
204 (string-append (assoc-ref outputs "out")
205 "/share/emacs/site-lisp/"
206 "geiser-autoloads.el"))
207 #t)))))
208 (inputs `(("guile" ,guile-2.2)))
209 (native-inputs
210 `(("emacs" ,emacs-minimal)
211 ("autoconf" ,autoconf)
212 ("automake" ,automake)
213 ("texinfo" ,texinfo)))
214 (home-page "https://nongnu.org/geiser/")
215 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
216 (description
217 "Geiser is a collection of Emacs major and minor modes that conspire with
218 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
219 continuously running Scheme interpreter takes the center of the stage in
220 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
221 implementation, Emacs and, ultimately, the schemer, giving them access to live
222 metadata.")
223 (license license:bsd-3)))
224
225 (define-public emacs-ac-geiser
226 (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
227 (revision "0"))
228 (package
229 (name "emacs-ac-geiser")
230 (version (git-version "0.1" revision commit))
231 (source
232 (origin
233 (uri (git-reference
234 (url "https://github.com/xiaohanyu/ac-geiser.git")
235 (commit commit)))
236 (method git-fetch)
237 (sha256
238 (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw"))
239 (file-name (git-file-name name version))))
240 (build-system emacs-build-system)
241 (propagated-inputs
242 `(("geiser" ,emacs-geiser)
243 ("auto-complete" ,emacs-auto-complete)))
244 (synopsis "Auto-complete backend for geiser")
245 (description
246 "This package provides an auto-complete source for Scheme projects
247 using geiser.")
248 (license license:bsd-3)
249 (home-page "https://github.com/xiaohanyu/ac-geiser"))))
250
251 (define-public emacs-paredit
252 (package
253 (name "emacs-paredit")
254 (version "24")
255 (source (origin
256 (method url-fetch)
257 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
258 version ".el"))
259 (sha256
260 (base32
261 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
262 (build-system emacs-build-system)
263 (home-page "http://mumble.net/~campbell/emacs/paredit/")
264 (synopsis "Emacs minor mode for editing parentheses")
265 (description
266 "ParEdit (paredit.el) is a minor mode for performing structured editing
267 of S-expression data. The typical example of this would be Lisp or Scheme
268 source code.
269
270 ParEdit helps **keep parentheses balanced** and adds many keys for moving
271 S-expressions and moving around in S-expressions. Its behavior can be jarring
272 for those who may want transient periods of unbalanced parentheses, such as
273 when typing parentheses directly or commenting out code line by line.")
274 (license license:gpl3+)))
275
276 (define-public git-modes
277 (package
278 (name "emacs-git-modes")
279 (version "1.2.8")
280 (source (origin
281 (method git-fetch)
282 (uri (git-reference
283 (url "https://github.com/magit/git-modes")
284 (commit version)))
285 (file-name (git-file-name name version))
286 (sha256
287 (base32
288 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
289 (build-system emacs-build-system)
290 (home-page "https://github.com/magit/git-modes")
291 (synopsis "Emacs major modes for Git configuration files")
292 (description
293 "This package provides Emacs major modes for editing various Git
294 configuration files, such as .gitattributes, .gitignore, and .git/config.")
295 (license license:gpl3+)))
296
297 (define-public emacs-with-editor
298 (package
299 (name "emacs-with-editor")
300 (version "2.9.0")
301 (source (origin
302 (method git-fetch)
303 (uri (git-reference
304 (url "https://github.com/magit/with-editor.git")
305 (commit (string-append "v" version))))
306 (file-name (git-file-name name version))
307 (sha256
308 (base32
309 "1sjb3qqrn1rhmpkrn14l8rya6c3gwxwmgw74n779s54kvl9gn7a9"))))
310 (build-system emacs-build-system)
311 (propagated-inputs
312 `(("emacs-dash" ,emacs-dash)))
313 (home-page "https://github.com/magit/with-editor")
314 (synopsis "Emacs library for using Emacsclient as EDITOR")
315 (description
316 "This package provides an Emacs library to use the Emacsclient as
317 @code{$EDITOR} of child processes, making sure they know how to call home.
318 For remote processes a substitute is provided, which communicates with Emacs
319 on stdout instead of using a socket as the Emacsclient does.")
320 (license license:gpl3+)))
321
322 (define-public emacs-libgit
323 (let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a")
324 (revision "1"))
325 (package
326 (name "emacs-libgit")
327 (version (git-version "20200515" revision commit))
328 (source (origin
329 (method git-fetch)
330 (uri (git-reference
331 (url "https://github.com/magit/libegit2.git")
332 (commit commit)))
333 (file-name (git-file-name name version))
334 (sha256
335 (base32
336 "0pnjr3bg6y6354dfjjxfj0g51swzgl1fncpprah75x4k94rd369f"))
337 (patches (search-patches
338 ;; Submitted for inclusion upstream (see:
339 ;; https://github.com/magit/libegit2/pull/96).
340 "emacs-libgit-use-system-libgit2.patch"))))
341 ;; Use the cmake-build-system as it provides support for cross builds.
342 (build-system cmake-build-system)
343 (arguments
344 `(#:configure-flags '("-DUSE_SYSTEM_LIBGIT2=x")
345 ;; Add the emacs-build-system byte compilation and install phases.
346 #:imported-modules (,@%cmake-build-system-modules
347 (guix build emacs-build-system)
348 (guix build emacs-utils))
349 #:modules ((guix build cmake-build-system)
350 ((guix build emacs-build-system) #:prefix emacs:)
351 (guix build emacs-utils)
352 (guix build utils))
353 #:phases
354 (modify-phases %standard-phases
355 (add-after 'unpack 'set-libgit--module-file
356 (lambda* (#:key outputs #:allow-other-keys)
357 (let ((out (assoc-ref outputs "out")))
358 (make-file-writable "libgit.el")
359 (emacs-substitute-variables "libgit.el"
360 ("libgit--module-file"
361 (string-append out "/share/emacs/site-lisp/libegit2.so")))
362 #t)))
363 (add-before 'install 'prepare-for-install
364 (lambda _
365 (let ((s (string-append "../" ,name "-" ,version "-checkout")))
366 (copy-file "libegit2.so" (string-append s "/libegit2.so"))
367 (chdir s)
368 #t)))
369 (replace 'install
370 (lambda* (#:key outputs #:allow-other-keys)
371 (let ((install (assoc-ref emacs:%standard-phases 'install)))
372 (install #:outputs outputs
373 #:include (cons "\\.so$"
374 emacs:%default-include)))))
375 (add-after 'install 'make-autoloads
376 (assoc-ref emacs:%standard-phases 'make-autoloads))
377 (add-after 'make-autoloads 'enable-autoloads-compilation
378 (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
379 (add-after 'enable-autoloads-compilation 'patch-el-files
380 (assoc-ref emacs:%standard-phases 'patch-el-files))
381 (add-after 'patch-el-files 'emacs-build
382 (assoc-ref emacs:%standard-phases 'build))
383 (add-after 'emacs-build 'validate-compiled-autoloads
384 (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
385 (native-inputs
386 `(("pkg-config" ,pkg-config)
387 ("emacs" ,emacs-no-x)
388 ("git" ,git-minimal)))
389 (inputs
390 `(("libgit2" ,libgit2)))
391 (home-page "https://github.com/magit/libegit2")
392 (synopsis "Emacs bindings for libgit2")
393 (description "This is an experimental module written in C providing
394 libgit2 bindings for Emacs, intended to boost the performance of Magit.")
395 ;; The LICENSE file says GPL v2+, but libgit.el says GPL v3+.
396 (license license:gpl3+))))
397
398 (define-public emacs-magit
399 ;; There hasn't been an official release since 2018-11-16.
400 (let ((commit "d05545ec2fd7edf915eaf1b9c15c785bb08975cc"))
401 (package
402 (name "emacs-magit")
403 (version (git-version "2.90.1" "4" commit))
404 (source (origin
405 (method git-fetch)
406 (uri (git-reference
407 (url "https://github.com/magit/magit.git")
408 (commit commit)))
409 (file-name (git-file-name name version))
410 (sha256
411 (base32
412 "11aqyy4r9hrdi9nlypd70hn8384b6q89c7xavgv8c5q7f2g5z9qg"))))
413 (build-system emacs-build-system)
414 (arguments
415 `(#:emacs ,emacs-no-x ;module support is required
416 #:tests? #t
417 #:test-command '("make" "test")
418 #:phases
419 (modify-phases %standard-phases
420 (add-after 'unpack 'build-info-manual
421 (lambda _
422 (invoke "make" "info")
423 ;; Copy info files to the lisp directory, which acts as
424 ;; the root of the project for the emacs-build-system.
425 (for-each (lambda (f)
426 (install-file f "lisp"))
427 (find-files "Documentation" "\\.info$"))
428 (chdir "lisp")
429 #t))
430 (add-after 'build-info-manual 'set-magit-version
431 (lambda _
432 (make-file-writable "magit.el")
433 (emacs-substitute-variables "magit.el"
434 ("magit-version" ,version))
435 #t))
436 (add-after 'set-magit-version 'patch-exec-paths
437 (lambda* (#:key inputs #:allow-other-keys)
438 (let ((perl (assoc-ref inputs "perl")))
439 (make-file-writable "magit-sequence.el")
440 (emacs-substitute-variables "magit-sequence.el"
441 ("magit-perl-executable" (string-append perl "/bin/perl")))
442 #t)))
443 (add-before 'check 'configure-git
444 (lambda _
445 ;; Otherwise some tests fail with error "unable to auto-detect
446 ;; email address".
447 (setenv "HOME" (getcwd))
448 (invoke "git" "config" "--global" "user.name" "toto")
449 (invoke "git" "config" "--global" "user.email"
450 "toto@toto.com")))
451 (add-after 'configure-git 'disable-tramp-test
452 (lambda _
453 ;; There is an issue causing TRAMP to fail in the build
454 ;; environment. Setting the tramp-remote-shell parameter of
455 ;; the sudo-method to the file name of the shell didn't help.
456 (chdir "..")
457 (substitute* "t/magit-tests.el"
458 (("^\\(ert-deftest magit-toplevel:tramp.*" all)
459 (string-append all " (skip-unless nil)")))
460 #t))
461 (add-before 'install 'enter-lisp-directory
462 (lambda _
463 (chdir "lisp")
464 #t)))))
465 (native-inputs
466 `(("texinfo" ,texinfo)))
467 (inputs
468 `(("git" ,git)
469 ("perl" ,perl)))
470 (propagated-inputs
471 `(("emacs-dash" ,emacs-dash)
472 ("emacs-libgit" ,emacs-libgit)
473 ("emacs-transient" ,emacs-transient)
474 ("emacs-with-editor" ,emacs-with-editor)))
475 (home-page "https://magit.vc/")
476 (synopsis "Emacs interface for the Git version control system")
477 (description "With Magit, you can inspect and modify your Git
478 repositories with Emacs. You can review and commit the changes you have made
479 to the tracked files, for example, and you can browse the history of past
480 changes. There is support for cherry picking, reverting, merging, rebasing,
481 and other common Git operations.")
482 (license license:gpl3+))))
483
484 (define-public emacs-magit-svn
485 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
486 (package
487 (name "emacs-magit-svn")
488 (version (git-version "2.2.1" "2" commit))
489 (source (origin
490 (method git-fetch)
491 (uri (git-reference
492 (url "https://github.com/magit/magit-svn")
493 (commit commit)))
494 (file-name (git-file-name name version))
495 (sha256
496 (base32
497 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
498 (build-system emacs-build-system)
499 (propagated-inputs `(("dash" ,emacs-dash)
500 ("with-editor" ,emacs-with-editor)
501 ("magit" ,emacs-magit)
502 ("transient" ,emacs-transient)))
503 (home-page "https://github.com/magit/magit-svn")
504 (synopsis "Git-SVN extension to Magit")
505 (description
506 "This package is an extension to Magit, the Git Emacs mode, providing
507 support for Git-SVN.")
508 (license license:gpl3+))))
509
510 (define-public emacs-magit-popup
511 (package
512 (name "emacs-magit-popup")
513 (version "2.13.2")
514 (source
515 (origin
516 (method git-fetch)
517 (uri (git-reference
518 (url "https://github.com/magit/magit-popup.git")
519 (commit (string-append "v" version))))
520 (file-name (git-file-name name version))
521 (sha256
522 (base32 "1ifhph1mj7wjar62d65fjx45qsjwsyslbj7liih3v0r4by5gyxmw"))))
523 (build-system emacs-build-system)
524 (arguments
525 `(#:phases
526 (modify-phases %standard-phases
527 (add-before 'install 'make-info
528 (lambda _
529 (invoke "make" "info"))))))
530 (native-inputs
531 `(("texinfo" ,texinfo)))
532 (propagated-inputs
533 `(("emacs-dash" ,emacs-dash)))
534 (home-page "https://github.com/magit/magit-popup")
535 (synopsis "Define prefix-infix-suffix command combos")
536 (description
537 "This library implements a generic interface for toggling switches and
538 setting options and then invoking an Emacs command which does something with
539 these arguments. The prototypical use is for the command to call an external
540 process, passing on the arguments as command line arguments.")
541 (license license:gpl3+)))
542
543 (define-public emacs-magit-annex
544 (let ((commit "ef5dce6267e9118a5eca82a22bcad0b67826c23a")
545 (revision "1"))
546 (package
547 (name "emacs-magit-annex")
548 (version (git-version "1.7.1" revision commit))
549 (source (origin
550 (method git-fetch)
551 (uri (git-reference
552 (url "https://github.com/magit/magit-annex.git")
553 (commit commit)))
554 (file-name (git-file-name name version))
555 (sha256
556 (base32
557 "0vzkydgl889cq173zjl89g2vrddb9abc4a8gljiz3b4a7n5b1nrd"))))
558 (build-system emacs-build-system)
559 (propagated-inputs
560 `(("magit" ,emacs-magit)
561 ("transient" ,emacs-transient)))
562 (home-page "https://github.com/magit/magit-annex/")
563 (synopsis "Git-annex support for Magit")
564 (description
565 "Magit-annex adds a few git-annex operations to the Magit interface.")
566 (license license:gpl3+))))
567
568 (define-public emacs-minions
569 (package
570 (name "emacs-minions")
571 (version "0.3.2")
572 (source (origin
573 (method git-fetch)
574 (uri (git-reference
575 (url "https://github.com/tarsius/minions.git")
576 (commit (string-append "v" version))))
577 (file-name (git-file-name name version))
578 (sha256
579 (base32
580 "16rplpbfy3dnvqqgavk9jb1f1ihr5875zlixd4zxb1pqxs3jkgw3"))))
581 (build-system emacs-build-system)
582 (propagated-inputs
583 `(("emacs-dash" ,emacs-dash)))
584 (home-page "https://github.com/tarsius/minions")
585 (synopsis "Minor-mode menu for the mode line")
586 (description
587 "This package implements a menu that lists enabled minor-modes, as well
588 as commonly but not currently enabled minor-modes. It can be used to toggle
589 local and global minor-modes, to access mode-specific menus, and to get help
590 about modes.
591
592 This menu is intended as a replacement for the incomplete yet wide list of
593 enabled minor-modes that is displayed in the mode line by default. To use the
594 menu like this, enable Minions mode.
595
596 Alternatively the menu can be bound globally, for example:
597 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
598 (license license:gpl3+)))
599
600 (define-public emacs-treepy
601 (package
602 (name "emacs-treepy")
603 (version "0.1.1")
604 (source (origin
605 (method git-fetch)
606 (uri (git-reference
607 (url "https://github.com/volrath/treepy.el.git")
608 (commit version)))
609 (file-name (git-file-name name version))
610 (sha256
611 (base32
612 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
613 (build-system emacs-build-system)
614 (home-page
615 "https://github.com/volrath/treepy.el")
616 (synopsis "Tree traversal tools")
617 (description
618 "Generic tools for recursive and iterative tree traversal based on
619 clojure.walk and clojure.zip respectively.")
620 (license license:gpl3+)))
621
622 (define-public emacs-graphql
623 (package
624 (name "emacs-graphql")
625 (version "0.1.1")
626 (source (origin
627 (modules '((guix build utils)))
628 ;; Remove examples file with references to external packages as
629 ;; they do not exist at compilation time.
630 (snippet
631 '(begin (delete-file "examples.el")
632 #t))
633 (method git-fetch)
634 (uri (git-reference
635 (url "https://github.com/vermiculus/graphql.el.git")
636 (commit version)))
637 (file-name (git-file-name name version))
638 (sha256
639 (base32
640 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
641 (build-system emacs-build-system)
642 (home-page
643 "https://github.com/vermiculus/graphql.el")
644 (synopsis "GraphQL utilities")
645 (description
646 "GraphQL.el provides a generally-applicable domain-specific language for
647 creating and executing GraphQL queries against your favorite web services.
648 GraphQL is a data query language and runtime designed and used to request and
649 deliver data to mobile and web apps.")
650 (license license:gpl3+)))
651
652 (define-public emacs-ghub
653 (package
654 (name "emacs-ghub")
655 (version "3.3.0")
656 (source
657 (origin
658 (method git-fetch)
659 (uri (git-reference
660 (url "https://github.com/magit/ghub")
661 (commit (string-append "v" version))))
662 (file-name (git-file-name name version))
663 (sha256
664 (base32 "1229g0d9f4ywwjndx32x4z5jdr0kzyi44hjxmy0sifwfmg9nn251"))))
665 (build-system emacs-build-system)
666 (arguments
667 `(#:phases
668 (modify-phases %standard-phases
669 (add-before 'install 'make-info
670 (lambda _
671 (invoke "make" "info"))))))
672 (native-inputs
673 `(("texinfo" ,texinfo)))
674 (propagated-inputs
675 `(("dash" ,emacs-dash)
676 ("emacs-let-alist" ,emacs-let-alist)
677 ("treepy" ,emacs-treepy)))
678 (home-page "https://github.com/magit/ghub")
679 (synopsis "Emacs client libraries for the APIs of various Git forges")
680 (description
681 "Ghub provides basic support for using the APIs of various Git forges from
682 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
683 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
684 handful of functions that are not resource-specific.")
685 (license license:gpl3+)))
686
687 (define-public emacs-typit
688 ;; Last release is from 2017.
689 (let ((commit "231cb7df43253b84323520b8ed70f128d37003af")
690 (revision "1"))
691 (package
692 (name "emacs-typit")
693 (version (git-version "0.2.1" revision commit))
694 (source
695 (origin
696 (method git-fetch)
697 (uri (git-reference
698 (url "https://github.com/mrkkrp/typit.git")
699 (commit commit)))
700 (file-name (git-file-name name version))
701 (sha256
702 (base32 "1savrxs7xl92ifyxpxkkzv2didr7lb405h0dwz1bs1wldr5fb53f"))))
703 (build-system emacs-build-system)
704 (arguments
705 `(#:phases
706 (modify-phases %standard-phases
707 (add-after 'install 'install-dictionaries
708 (lambda* (#:key outputs #:allow-other-keys)
709 (let* ((out (assoc-ref outputs "out"))
710 (site-lisp
711 (string-append
712 out "/share/emacs/site-lisp/dict")))
713 (mkdir-p site-lisp)
714 (copy-recursively "dict" site-lisp)
715 #t))))))
716 (propagated-inputs
717 `(("emacs-f" ,emacs-f)
718 ("emacs-mmt" ,emacs-mmt)))
719 (home-page "https://github.com/mrkkrp/typit")
720 (synopsis "Typing game for Emacs with two difficulties")
721 (description "Emacs Typit is a typing game for Emacs. Words that are
722 picked randomly from the most frequent words in language you're practicing,
723 until time is up.")
724 (license license:gpl3+))))
725
726 (define-public emacs-scribble-mode
727 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
728 (revision "2"))
729 (package
730 (name "emacs-scribble-mode")
731 (version (git-version "0.1" revision commit))
732 (source (origin
733 (method git-fetch)
734 (uri (git-reference
735 (url "https://github.com/emacs-pe/scribble-mode.git")
736 (commit commit)))
737 (file-name (git-file-name name version))
738 (sha256
739 (base32
740 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
741 (build-system emacs-build-system)
742 (home-page "https://github.com/emacs-pe/scribble-mode")
743 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
744 (description
745 "This package provides basic syntax highlighting and editing support
746 for editing Racket's Scribble documentation syntax in Emacs.")
747 (license license:gpl3+))))
748
749 (define-public emacs-shroud
750 (package
751 (name "emacs-shroud")
752 (version "1.105")
753 (source
754 (origin
755 (method git-fetch)
756 (uri (git-reference
757 (url "https://git.savannah.gnu.org/git/emacs-shroud.git")
758 (commit version)))
759 (file-name (git-file-name name version))
760 (sha256
761 (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
762 (build-system gnu-build-system)
763 (native-inputs
764 `(("autoconf" ,autoconf)
765 ("automake" ,automake)
766 ("texinfo" ,texinfo)
767 ("perl" ,perl)
768 ("emacs-minimal" ,emacs-minimal)))
769 (propagated-inputs
770 `(("emacs-bui" ,emacs-bui)
771 ("emacs-dash" ,emacs-dash)
772 ("emacs-f" ,emacs-f)
773 ("emacs-s" ,emacs-s)
774 ("gnupg" ,gnupg)
775 ("shroud" ,shroud)))
776 (home-page "https://www.nongnu.org/emacs-shroud")
777 (synopsis "Emacs interface to the Shroud password manager")
778 (description
779 "This package provides an Emacs interface to the Shroud password manager,
780 using the Buffers User Interface library. You can view, copy, and edit secrets
781 from within Emacs.")
782 (license license:gpl3+)))
783
784 (define-public emacs-unpackaged-el
785 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
786 (revision "3"))
787 (package
788 (name "emacs-unpackaged-el")
789 (version (git-version "0" revision commit))
790 (source
791 (origin
792 (method git-fetch)
793 (uri (git-reference
794 (url "https://github.com/alphapapa/unpackaged.el")
795 (commit commit)))
796 (file-name (git-file-name name version))
797 (sha256
798 (base32
799 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
800 (build-system emacs-build-system)
801 (propagated-inputs
802 `(("emacs-dash" ,emacs-dash)
803 ("emacs-org" ,emacs-org)
804 ("emacs-s" ,emacs-s)
805 ("emacs-hydra" ,emacs-hydra)
806 ("emacs-use-package" ,emacs-use-package)))
807 (arguments
808 `(#:phases
809 (modify-phases %standard-phases
810 (add-after 'unpack 'require-hydra
811 (lambda _
812 (substitute* "unpackaged.el"
813 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
814 #t)))))
815 (home-page "https://github.com/alphapapa/unpackaged.el")
816 (synopsis "Useful snippets of Emacs Lisp code")
817 (description "This package provides Emacs Lisp utilities for a variety
818 of tasks, including version control, task management, and regex-based
819 replacement.")
820 (license license:gpl3+))))
821
822 (define-public emacs-haskell-mode
823 (package
824 (name "emacs-haskell-mode")
825 (version "17.1")
826 (source
827 (origin
828 (method git-fetch)
829 (uri (git-reference
830 (url "https://github.com/haskell/haskell-mode")
831 (commit (string-append "v" version))))
832 (file-name (git-file-name name version))
833 (sha256
834 (base32 "0izcasi2v02zh08c863h43m8mmsldzy8pck43cllrfn0zf24v2qn"))))
835 (propagated-inputs
836 `(("emacs-dash" ,emacs-dash)))
837 (native-inputs
838 `(("emacs" ,emacs-minimal)
839 ("emacs-el-search" ,emacs-el-search)
840 ("emacs-stream" ,emacs-stream)
841 ("texinfo" ,texinfo)))
842 (build-system gnu-build-system)
843 (arguments
844 `(#:make-flags (list (string-append "EMACS="
845 (assoc-ref %build-inputs "emacs")
846 "/bin/emacs"))
847 #:modules ((ice-9 match)
848 (srfi srfi-26)
849 ,@%gnu-build-system-modules)
850 #:phases
851 (modify-phases %standard-phases
852 (delete 'configure)
853 (add-before 'build 'pre-build
854 (lambda* (#:key inputs #:allow-other-keys)
855 (define (el-dir store-dir)
856 (match (find-files store-dir "\\.el$")
857 ((f1 f2 ...) (dirname f1))
858 (_ "")))
859
860 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
861 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
862
863 (setenv "SHELL" "sh")
864 (setenv "EMACSLOADPATH"
865 (string-concatenate
866 (map (match-lambda
867 (((? emacs-prefix? name) . dir)
868 (string-append (el-dir dir) ":"))
869 (_ ""))
870 inputs)))
871 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
872 #t)))
873 (add-before 'check 'delete-failing-tests
874 ;; XXX: these tests require GHC executable, which would be a big
875 ;; native input.
876 (lambda _
877 (with-directory-excursion "tests"
878 (for-each delete-file
879 '("haskell-customize-tests.el"
880 "inferior-haskell-tests.el")))
881 #t))
882 (replace 'install
883 (lambda* (#:key outputs #:allow-other-keys)
884 (let* ((out (assoc-ref outputs "out"))
885 (el-dir (string-append out "/share/emacs/site-lisp"))
886 (doc (string-append
887 out "/share/doc/haskell-mode-" ,version))
888 (info (string-append out "/share/info")))
889 (define (copy-to-dir dir files)
890 (for-each (lambda (f)
891 (install-file f dir))
892 files))
893
894 (with-directory-excursion "doc"
895 (invoke "makeinfo" "haskell-mode.texi")
896 (install-file "haskell-mode.info" info))
897 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
898 (copy-to-dir el-dir (find-files "." "\\.elc?"))
899 #t))))))
900 (home-page "https://github.com/haskell/haskell-mode")
901 (synopsis "Haskell mode for Emacs")
902 (description
903 "This is an Emacs mode for editing, debugging and developing Haskell
904 programs.")
905 (license license:gpl3+)))
906
907 (define-public emacs-dante
908 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
909 (revision "1"))
910 (package
911 (name "emacs-dante")
912 (version (git-version "1.6" revision commit))
913 (source (origin
914 (method git-fetch)
915 (uri (git-reference
916 (url "https://github.com/jyp/dante")
917 (commit commit)))
918 (sha256
919 (base32
920 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
921 (file-name (git-file-name name version))))
922 (build-system emacs-build-system)
923 (propagated-inputs
924 `(("emacs-dash" ,emacs-dash)
925 ("emacs-f" ,emacs-f)
926 ("emacs-flycheck" ,emacs-flycheck)
927 ("emacs-haskell-mode" ,emacs-haskell-mode)
928 ("emacs-s" ,emacs-s)
929 ("emacs-company" ,emacs-company)
930 ("emacs-lcr" ,emacs-lcr)))
931 (home-page "https://github.com/jyp/dante")
932 (synopsis "Minor mode for interactive Haskell")
933 (description
934 "This package provides a minor mode for Haskell development that
935 supports type hints, definition-jumping, completion, and more.")
936 (license license:gpl3+))))
937
938 (define-public emacs-flycheck
939 ;; Last release version was more than 500 commits ago.
940 (let ((commit "9bcf6b665e15db94870bebc81dc8248c3eec20d3")
941 (revision "2"))
942 (package
943 (name "emacs-flycheck")
944 (version (git-version "31" revision commit))
945 (source
946 (origin
947 (method git-fetch)
948 (uri (git-reference
949 (url "https://github.com/flycheck/flycheck/")
950 (commit commit)))
951 (sha256
952 (base32 "015ixss5bjr7gvhj8mkw5x2x1hy6fvvsjarr2xpv0gskkkngs7pg"))
953 (file-name (git-file-name name version))))
954 (build-system emacs-build-system)
955 (propagated-inputs
956 `(("emacs-dash" ,emacs-dash)))
957 (native-inputs
958 `(("emacs-shut-up" ,emacs-shut-up)))
959 (arguments
960 `(#:phases
961 (modify-phases %standard-phases
962 (add-after 'unpack 'change-flycheck-version
963 (lambda _
964 (substitute* "flycheck.el"
965 (("\\(pkg-info-version-info 'flycheck\\)")
966 (string-append "\"" ,version "\"")))
967 #t)))
968 ;; TODO: many failing tests
969 #:tests? #f
970 #:test-command '("emacs" "-Q" "--batch" "-L" "."
971 "--load" "test/flycheck-test"
972 "--load" "test/run.el"
973 "-f" "flycheck-run-tests-main")))
974 (home-page "https://www.flycheck.org")
975 (synopsis "On-the-fly syntax checking")
976 (description
977 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
978 replacement for the older Flymake extension which is part of GNU Emacs, with
979 many improvements and additional features.
980
981 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
982 checking for over 30 programming and markup languages with more than 70
983 different tools. It highlights errors and warnings inline in the buffer, and
984 provides an optional IDE-like error list.")
985 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
986
987 (define-public emacs-a
988 (package
989 (name "emacs-a")
990 (version "0.1.1")
991 (source (origin
992 (method git-fetch)
993 (uri (git-reference
994 (url "https://github.com/plexus/a.el.git")
995 (commit (string-append "v" version))))
996 (file-name (git-file-name name version))
997 (sha256
998 (base32
999 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
1000 (build-system emacs-build-system)
1001 (home-page "https://github.com/plexus/a.el/")
1002 (synopsis
1003 "Emacs library for dealing with association lists and hash tables")
1004 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
1005 with associative structures in a uniform and functional way. These functions
1006 can take association lists, hash tables, and in some cases vectors (where the
1007 index is considered the key).")
1008 (license license:gpl3+)))
1009
1010 (define-public emacs-ace-jump-mode
1011 (package
1012 (name "emacs-ace-jump-mode")
1013 (version "2.0")
1014 (home-page "https://github.com/winterTTr/ace-jump-mode")
1015 (source (origin
1016 (method git-fetch)
1017 (uri (git-reference
1018 (url home-page)
1019 (commit (string-append "v" version))))
1020 (sha256
1021 (base32
1022 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
1023 (file-name (git-file-name name version))))
1024 (build-system emacs-build-system)
1025 (synopsis "Cursor location minor mode for fast navigation")
1026 (description "Ace-jump-mode is a fast/direct cursor location minor
1027 mode. It creates an N-Branch search tree internally and marks all
1028 the possible position with predefined keys in within the whole Emacs
1029 view. This allows you to move to the character, word, or line almost
1030 directly.")
1031 (license license:gpl3+)))
1032
1033 (define-public emacs-anaphora
1034 (package
1035 (name "emacs-anaphora")
1036 (version "1.0.4")
1037 (source
1038 (origin
1039 (method git-fetch)
1040 (uri (git-reference
1041 (url "https://github.com/rolandwalker/anaphora.git")
1042 (commit (string-append "v" version))))
1043 (file-name (git-file-name name version))
1044 (sha256
1045 (base32
1046 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
1047 (build-system emacs-build-system)
1048 (home-page "https://github.com/rolandwalker/anaphora/")
1049 (synopsis "Anaphoric expressions for Emacs Lisp")
1050 (description "@code{emacs-anaphora} implements anaphoric expressions for
1051 Emacs Lisp.
1052
1053 Anaphoric expressions implicitly create one or more temporary variables which
1054 can be referred to during the expression. This technique can improve clarity
1055 in certain cases. It also enables recursion for anonymous functions.")
1056 (license license:public-domain)))
1057
1058 (define-public emacs-xr
1059 (package
1060 (name "emacs-xr")
1061 (version "1.19")
1062 (source
1063 (origin
1064 (method url-fetch)
1065 (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
1066 (sha256
1067 (base32 "1aa3iqh0r635jw8k89zh8y4am9d4hfrqpk9mrdh2b51invjn8llq"))))
1068 (build-system emacs-build-system)
1069 (home-page "https://elpa.gnu.org/packages/xr.html")
1070 (synopsis "Convert string regexp to rx notation")
1071 (description
1072 "This is an inverse companion to the @code{rx} package for translating
1073 regexps in string form to the @code{rx} notation. Its chief uses are:
1074
1075 @itemize
1076 @item Migrating existing code to @code{rx} form, for better readability and
1077 maintainability
1078 @item Understanding complex regexp strings and finding errors in them
1079 @end itemize
1080
1081 In addition to Emacs regexps, this package can also parse and troubleshoot
1082 skip set strings, which are arguments to @code{skip-chars-forward} and
1083 @code{skip-chars-backward}.")
1084 (license license:gpl3+)))
1085
1086 (define-public emacs-ample-regexps
1087 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
1088 (revision "1"))
1089 (package
1090 (name "emacs-ample-regexps")
1091 (version (git-version "0.1" revision commit))
1092 (source
1093 (origin
1094 (method git-fetch)
1095 (uri (git-reference
1096 (url "https://github.com/immerrr/ample-regexps.el")
1097 (commit commit)))
1098 (file-name (git-file-name name version))
1099 (sha256
1100 (base32
1101 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
1102 (build-system emacs-build-system)
1103 (native-inputs
1104 `(("ert-runner" ,emacs-ert-runner)))
1105 (arguments
1106 `(#:tests? #t
1107 #:test-command '("ert-runner" "-l" "ample-regexps")))
1108 (home-page "https://github.com/immerrr/ample-regexps.el")
1109 (synopsis "Compose and reuse Emacs regexps")
1110 (description
1111 "This package allows common parts of regexps to be easily picked out
1112 and reused.")
1113 (license license:gpl3+))))
1114
1115 (define-public emacs-ample-theme
1116 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
1117 (revision "1"))
1118 (package
1119 (name "emacs-ample-theme")
1120 (version (git-version "0.0.0" revision commit))
1121 (source (origin
1122 (method git-fetch)
1123 (uri (git-reference
1124 (url "https://github.com/jordonbiondo/ample-theme")
1125 (commit commit)))
1126 (file-name (git-file-name name version))
1127 (sha256
1128 (base32
1129 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
1130 (build-system emacs-build-system)
1131 (home-page "https://github.com/jordonbiondo/ample-theme")
1132 (synopsis "Theme for Emacs providing dark, light, and flat versions")
1133 (description "Ample themes is a collection of three themes sharing a
1134 similar pallet with a light, dark and flat versions with a focus on being easy
1135 on the eyes during night and day. They only support GUI and 256 colour
1136 terminals.")
1137 (license license:gpl3+))))
1138
1139 (define-public emacs-reformatter
1140 (package
1141 (name "emacs-reformatter")
1142 (version "0.4")
1143 (source
1144 (origin
1145 (method git-fetch)
1146 (uri (git-reference
1147 (url "https://github.com/purcell/reformatter.el.git")
1148 (commit version)))
1149 (file-name (git-file-name name version))
1150 (sha256
1151 (base32
1152 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
1153 (build-system emacs-build-system)
1154 (home-page "https://github.com/purcell/reformatter.el")
1155 (synopsis "Define commands which run reformatters on the current buffer")
1156 (description
1157 "This library lets elisp authors easily define an idiomatic command to
1158 reformat the current buffer using a command-line program, together with an
1159 optional minor mode which can apply this command automatically on save.")
1160 (license license:gpl3+)))
1161
1162 (define-public emacs-relint
1163 (package
1164 (name "emacs-relint")
1165 (version "1.17")
1166 (source
1167 (origin
1168 (method url-fetch)
1169 (uri (string-append
1170 "https://elpa.gnu.org/packages/relint-" version ".tar"))
1171 (sha256
1172 (base32 "1nv13dqdhf72c1jgk1ml4k6jqb8wsyphcx2vhsyhig5198lg4kd7"))))
1173 (build-system emacs-build-system)
1174 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1175 (home-page "https://github.com/mattiase/relint")
1176 (synopsis "Elisp regexp mistake finder")
1177 (description
1178 "Relint (regular expression lint) scans Elisp files for mistakes in
1179 regexps, including deprecated syntax and bad practice. It also checks the
1180 regexp-like arguments to @code{skip-chars-forward} and
1181 @code{skip-chars-backward}.")
1182 (license license:gpl3+)))
1183
1184 (define-public emacs-bug-hunter
1185 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1186 (revision "1"))
1187 (package
1188 (name "emacs-bug-hunter")
1189 (version (git-version "1.3.1" revision commit))
1190 (source
1191 (origin
1192 (method git-fetch)
1193 (uri (git-reference
1194 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1195 (commit commit)))
1196 (file-name (git-file-name name commit))
1197 (sha256
1198 (base32
1199 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1200 (build-system emacs-build-system)
1201 (propagated-inputs
1202 `(("emacs-seq" ,emacs-seq)))
1203 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1204 (synopsis "Hunt down errors by bisecting elisp files")
1205 (description
1206 "The Bug Hunter is an Emacs library that finds the source of an error
1207 or unexpected behavior inside an elisp configuration file (typically
1208 @file{init.el} or @file{.emacs}).")
1209 (license license:gpl3+))))
1210
1211 \f
1212 ;;;
1213 ;;; Web browsing.
1214 ;;;
1215
1216 (define-public emacs-w3m
1217 ;; Emacs-w3m follows a "rolling release" model.
1218 (package
1219 (name "emacs-w3m")
1220 (version "2018-11-11")
1221 (source (origin
1222 (method cvs-fetch)
1223 (uri (cvs-reference
1224 (root-directory
1225 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1226 (module "emacs-w3m")
1227 (revision version)))
1228 (file-name (string-append name "-" version "-checkout"))
1229 (sha256
1230 (base32
1231 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1232 (build-system gnu-build-system)
1233 (native-inputs `(("autoconf" ,autoconf)
1234 ("texinfo" ,texinfo)
1235 ("emacs" ,emacs-minimal)))
1236 (inputs `(("w3m" ,w3m)
1237 ("imagemagick" ,imagemagick)))
1238 (arguments
1239 `(#:modules ((guix build gnu-build-system)
1240 (guix build utils)
1241 (guix build emacs-utils))
1242 #:imported-modules (,@%gnu-build-system-modules
1243 (guix build emacs-utils))
1244 #:configure-flags
1245 (let ((out (assoc-ref %outputs "out")))
1246 (list (string-append "--with-lispdir="
1247 out "/share/emacs/site-lisp")
1248 (string-append "--with-icondir="
1249 out "/share/images/emacs-w3m")
1250 ;; Leave .el files uncompressed, otherwise GC can't
1251 ;; identify run-time dependencies. See
1252 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1253 "--without-compress-install"))
1254 #:tests? #f ; no check target
1255 #:phases
1256 (modify-phases %standard-phases
1257 (add-after 'unpack 'autoconf
1258 (lambda _
1259 (invoke "autoconf")))
1260 (add-before 'configure 'support-emacs!
1261 (lambda _
1262 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1263 ;; unsupported.
1264 (substitute* "configure"
1265 (("EMACS_FLAVOR=unsupported")
1266 "EMACS_FLAVOR=emacs"))
1267 #t))
1268 (add-before 'build 'patch-exec-paths
1269 (lambda* (#:key inputs outputs #:allow-other-keys)
1270 (let ((out (assoc-ref outputs "out"))
1271 (w3m (assoc-ref inputs "w3m"))
1272 (imagemagick (assoc-ref inputs "imagemagick"))
1273 (coreutils (assoc-ref inputs "coreutils")))
1274 (make-file-writable "w3m.el")
1275 (emacs-substitute-variables "w3m.el"
1276 ("w3m-command" (string-append w3m "/bin/w3m"))
1277 ("w3m-touch-command"
1278 (string-append coreutils "/bin/touch"))
1279 ("w3m-icon-directory"
1280 (string-append out "/share/images/emacs-w3m")))
1281 (make-file-writable "w3m-image.el")
1282 (emacs-substitute-variables "w3m-image.el"
1283 ("w3m-imagick-convert-program"
1284 (string-append imagemagick "/bin/convert"))
1285 ("w3m-imagick-identify-program"
1286 (string-append imagemagick "/bin/identify")))
1287 #t)))
1288 (replace 'install
1289 (lambda* (#:key outputs #:allow-other-keys)
1290 (invoke "make" "install" "install-icons")
1291 (with-directory-excursion
1292 (string-append (assoc-ref outputs "out")
1293 "/share/emacs/site-lisp")
1294 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1295 (symlink "w3m-load.el" "w3m-autoloads.el")
1296 #t))))))
1297 (home-page "http://emacs-w3m.namazu.org/")
1298 (synopsis "Simple Web browser for Emacs based on w3m")
1299 (description
1300 "Emacs-w3m is an emacs interface for the w3m web browser.")
1301 (license license:gpl2+)))
1302
1303 (define-public emacs-wget
1304 (package
1305 (name "emacs-wget")
1306 (version "0.5.0")
1307 (source (origin
1308 (method url-fetch)
1309 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1310 version ".orig.tar.gz"))
1311 (sha256
1312 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1313 (build-system gnu-build-system)
1314 (inputs `(("wget" ,wget)))
1315 (native-inputs `(("emacs" ,emacs-minimal)))
1316 (arguments
1317 `(#:modules ((guix build gnu-build-system)
1318 (guix build utils)
1319 (guix build emacs-utils))
1320 #:imported-modules (,@%gnu-build-system-modules
1321 (guix build emacs-utils))
1322 #:tests? #f ; no check target
1323 #:phases
1324 (modify-phases %standard-phases
1325 (replace 'configure
1326 (lambda* (#:key outputs #:allow-other-keys)
1327 (substitute* "Makefile"
1328 (("/usr/local") (assoc-ref outputs "out"))
1329 (("/site-lisp/emacs-wget") "/site-lisp"))
1330 #t))
1331 (add-before 'build 'patch-exec-paths
1332 (lambda* (#:key inputs outputs #:allow-other-keys)
1333 (let ((wget (assoc-ref inputs "wget")))
1334 (emacs-substitute-variables "wget.el"
1335 ("wget-command" (string-append wget "/bin/wget"))))
1336 #t))
1337 (add-after 'install 'post-install
1338 (lambda* (#:key outputs #:allow-other-keys)
1339 (emacs-generate-autoloads
1340 "wget" (string-append (assoc-ref outputs "out")
1341 "/share/emacs/site-lisp/"))
1342 #t)))))
1343 (home-page "https://www.emacswiki.org/emacs/EmacsWget")
1344 (synopsis "Simple file downloader for Emacs based on wget")
1345 (description
1346 "Emacs-wget is an emacs interface for the wget file downloader.")
1347 (license license:gpl2+)))
1348
1349 (define-public emacs-eww-lnum
1350 (package
1351 (name "emacs-eww-lnum")
1352 (version "1.1")
1353 (source (origin
1354 (method git-fetch)
1355 (uri (git-reference
1356 (url "https://github.com/m00natic/eww-lnum.git")
1357 (commit version)))
1358 (file-name (git-file-name name version))
1359 (sha256
1360 (base32
1361 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
1362 (build-system emacs-build-system)
1363 (home-page "https://github.com/m00natic/eww-lnum")
1364 (synopsis "Conkeror-like functionality for Eww")
1365 (description "This is extension to the Emacs browser Eww that adds
1366 Conkeror-like functionality. In short, currently visible links, forms,
1367 buttons are temporarily assigned numbers with which the former can be
1368 immediately activated. Also filtering can be applied so selection can be
1369 incrementally confined in Isearch manner.")
1370 (license license:gpl3+)))
1371
1372
1373 \f
1374 ;;;
1375 ;;; Multimedia.
1376 ;;;
1377
1378 (define-public emacs-emms
1379 (package
1380 (name "emacs-emms")
1381 (version "5.4")
1382 (source
1383 (origin
1384 (method url-fetch)
1385 (uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz"))
1386 (sha256
1387 (base32 "1nd7sb6pva7qb1ki6w0zhd6zvqzd7742kaqi0f3v4as5jh09l6nr"))
1388 (modules '((guix build utils)))
1389 (snippet
1390 '(begin
1391 (substitute* "Makefile"
1392 (("/usr/bin/install-info")
1393 ;; No need to use 'install-info' since it would create a
1394 ;; useless 'dir' file.
1395 "true")
1396 (("^INFODIR=.*")
1397 ;; Install Info files to $out/share/info, not $out/info.
1398 "INFODIR := $(PREFIX)/share/info\n")
1399 (("/site-lisp/emms")
1400 ;; Install directly in share/emacs/site-lisp, not in a
1401 ;; sub-directory.
1402 "/site-lisp")
1403 (("^all: (.*)\n" _ rest)
1404 ;; Build 'emms-print-metadata'.
1405 (string-append "all: " rest " emms-print-metadata\n")))
1406 #t))))
1407 (build-system gnu-build-system)
1408 (arguments
1409 `(#:modules ((guix build gnu-build-system)
1410 (guix build utils)
1411 (guix build emacs-utils)
1412 (ice-9 ftw))
1413 #:imported-modules (,@%gnu-build-system-modules
1414 (guix build emacs-utils))
1415
1416 #:phases
1417 (modify-phases %standard-phases
1418 (replace 'configure
1419 (lambda* (#:key inputs outputs #:allow-other-keys)
1420 (let ((out (assoc-ref outputs "out"))
1421 (flac (assoc-ref inputs "flac"))
1422 (vorbis (assoc-ref inputs "vorbis-tools"))
1423 (alsa (assoc-ref inputs "alsa-utils"))
1424 (mpg321 (assoc-ref inputs "mpg321"))
1425 (mp3info (assoc-ref inputs "mp3info"))
1426 (mutagen (assoc-ref inputs "mutagen"))
1427 (opus (assoc-ref inputs "opus-tools")))
1428 ;; Specify the installation directory.
1429 (substitute* "Makefile"
1430 (("PREFIX=.*$")
1431 (string-append "PREFIX := " out "\n")))
1432
1433 (setenv "SHELL" (which "sh"))
1434 (setenv "CC" "gcc")
1435
1436 ;; Specify the absolute file names of the various
1437 ;; programs so that everything works out-of-the-box.
1438 (with-directory-excursion "lisp"
1439 (emacs-substitute-variables
1440 "emms-player-mpg321-remote.el"
1441 ("emms-player-mpg321-remote-command"
1442 (string-append mpg321 "/bin/mpg321")))
1443 (substitute* "emms-player-simple.el"
1444 (("\"ogg123\"")
1445 (string-append "\"" vorbis "/bin/ogg123\"")))
1446 (substitute* "emms-player-simple.el"
1447 (("\"mpg321\"")
1448 (string-append "\"" mpg321 "/bin/mpg321\"")))
1449 (emacs-substitute-variables "emms-info-ogginfo.el"
1450 ("emms-info-ogginfo-program-name"
1451 (string-append vorbis "/bin/ogginfo")))
1452 (emacs-substitute-variables "emms-info-opusinfo.el"
1453 ("emms-info-opusinfo-program-name"
1454 (string-append opus "/bin/opusinfo")))
1455 (emacs-substitute-variables "emms-info-libtag.el"
1456 ("emms-info-libtag-program-name"
1457 (string-append out "/bin/emms-print-metadata")))
1458 (emacs-substitute-variables "emms-info-mp3info.el"
1459 ("emms-info-mp3info-program-name"
1460 (string-append mp3info "/bin/mp3info")))
1461 (emacs-substitute-variables "emms-info-metaflac.el"
1462 ("emms-info-metaflac-program-name"
1463 (string-append flac "/bin/metaflac")))
1464 (emacs-substitute-variables "emms-source-file.el"
1465 ("emms-source-file-gnu-find" (which "find")))
1466 (substitute* "emms-volume-amixer.el"
1467 (("\"amixer\"")
1468 (string-append "\"" alsa "/bin/amixer\"")))
1469 (substitute* "emms-tag-editor.el"
1470 (("\"mid3v2\"")
1471 (string-append "\"" mutagen "/bin/mid3v2\"")))
1472 #t))))
1473 (add-before 'install 'pre-install
1474 (lambda* (#:key outputs #:allow-other-keys)
1475 ;; The 'install' rule expects the target directories to exist.
1476 (let* ((out (assoc-ref outputs "out"))
1477 (bin (string-append out "/bin"))
1478 (man1 (string-append out "/share/man/man1")))
1479 (mkdir-p bin)
1480 (mkdir-p man1)
1481
1482 ;; Ensure that files are not rejected by gzip
1483 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1484 (ftw "." (lambda (file stat flag)
1485 (unless (<= early-1980 (stat:mtime stat))
1486 (utime file early-1980 early-1980))
1487 #t)))
1488 #t)))
1489 (add-after 'install 'post-install
1490 (lambda* (#:key outputs #:allow-other-keys)
1491 (let ((out (assoc-ref outputs "out")))
1492 (symlink "emms-auto.el"
1493 (string-append out "/share/emacs/site-lisp/"
1494 "emms-autoloads.el")))
1495 #t)))
1496 #:tests? #f))
1497 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1498 ("texinfo" ,texinfo)))
1499 (inputs `(("alsa-utils" ,alsa-utils)
1500 ("flac" ,flac) ;for metaflac
1501 ("vorbis-tools" ,vorbis-tools)
1502 ("mpg321" ,mpg321)
1503 ("taglib" ,taglib)
1504 ("mp3info" ,mp3info)
1505 ("mutagen" ,python-mutagen)
1506 ("opus-tools" ,opus-tools)))
1507 (properties '((upstream-name . "emms")))
1508 (synopsis "Emacs Multimedia System")
1509 (description
1510 "EMMS is the Emacs Multimedia System. It is a small front-end which
1511 can control one of the supported external players. Thus, it supports
1512 whatever formats are supported by your music player. It also
1513 supports tagging and playlist management, all behind a clean and
1514 light user interface.")
1515 (home-page "https://www.gnu.org/software/emms/")
1516 (license license:gpl3+)))
1517
1518 (define-public emacs-emms-mode-line-cycle
1519 (package
1520 (name "emacs-emms-mode-line-cycle")
1521 (version "0.2.5")
1522 (source
1523 (origin
1524 (method git-fetch)
1525 (uri (git-reference
1526 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1527 (commit version)))
1528 (file-name (git-file-name name version))
1529 (sha256
1530 (base32
1531 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1532 (build-system emacs-build-system)
1533 (propagated-inputs
1534 `(("emms" ,emacs-emms)))
1535 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1536 (synopsis "Display the EMMS mode line as a ticker")
1537 (description
1538 "This is a minor mode for updating the EMMS mode-line string cyclically
1539 within a specified width. It is useful for displaying long track titles.")
1540 (license license:gpl3+)))
1541
1542 \f
1543 ;;;
1544 ;;; Miscellaneous.
1545 ;;;
1546
1547 (define-public emacs-ace-link
1548 (package
1549 (name "emacs-ace-link")
1550 (version "0.5.0")
1551 (source
1552 (origin
1553 (method git-fetch)
1554 (uri (git-reference
1555 (url "https://github.com/abo-abo/ace-link.git")
1556 (commit version)))
1557 (file-name (git-file-name name version))
1558 (sha256
1559 (base32
1560 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1561 (build-system emacs-build-system)
1562 (propagated-inputs
1563 `(("emacs-avy" ,emacs-avy)))
1564 (home-page "https://github.com/abo-abo/ace-link")
1565 (synopsis "Quickly follow links in Emacs")
1566 (description
1567 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1568 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1569 @code{goto-address-mode} buffer, you can tab through the links to select the
1570 one you want. This is an O(N) operation, where the N is the amount of links.
1571 This package turns this into an O(1) operation. It does so by assigning a
1572 letter to each link using avy.")
1573 (license license:gpl3+)))
1574
1575 (define-public emacs-auto-sudoedit
1576 (package
1577 (name "emacs-auto-sudoedit")
1578 (version "1.0.0")
1579 (source
1580 (origin
1581 (method git-fetch)
1582 (uri (git-reference
1583 (url "https://github.com/ncaq/auto-sudoedit.git")
1584 (commit (string-append "v" version))))
1585 (file-name (git-file-name name version))
1586 (sha256
1587 (base32 "10p0hc95j382km8655pqld9wxg10j1f36czzppkdd6a55cxarv9f"))))
1588 (propagated-inputs
1589 `(("emacs-f" ,emacs-f)))
1590 (build-system emacs-build-system)
1591 (home-page "https://github.com/ncaq/auto-sudoedit")
1592 (synopsis "Automatically re-open read-only files with sudo")
1593 (description
1594 "This package automatically reopens a file or directory with
1595 @command{sudo} if it cannot write to it.")
1596 (license license:expat)))
1597
1598 (define-public emacs-bbdb
1599 (package
1600 (name "emacs-bbdb")
1601 (version "3.2")
1602 (source
1603 (origin
1604 (method url-fetch)
1605 (uri (string-append "https://elpa.gnu.org/packages/"
1606 "bbdb-" version ".tar"))
1607 (sha256
1608 (base32 "1p56dg0mja2b2figy7yhdx714zd5j6njzn0k07zjka3jc06izvjx"))))
1609 (build-system emacs-build-system)
1610 (arguments
1611 ;; XXX: The following file cannot be byte-compiled, because et requires
1612 ;; `vm-autoloads', from the VM package, with is neither in Emacs nor
1613 ;; packaged in Guix. So, don't bother for now.
1614 `(#:exclude '("bbdb-vm\\.el")))
1615 (home-page "http://elpa.gnu.org/packages/bbdb.html")
1616 (synopsis "Contact management utility for Emacs")
1617 (description
1618 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1619 an address book for email and snail mail addresses, phone numbers and the
1620 like. It can be linked with various Emacs mail clients (Message and Mail
1621 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1622 (license license:gpl3+)))
1623
1624 (define-public emacs-aggressive-indent
1625 (package
1626 (name "emacs-aggressive-indent")
1627 (version "1.8.3")
1628 (source (origin
1629 (method url-fetch)
1630 (uri (string-append "https://elpa.gnu.org/packages/"
1631 "aggressive-indent-" version ".el"))
1632 (sha256
1633 (base32
1634 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1635 (build-system emacs-build-system)
1636 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1637 (synopsis "Minor mode to aggressively keep your code always indented")
1638 (description
1639 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1640 always indented. It reindents after every change, making it more reliable
1641 than @code{electric-indent-mode}.")
1642 (license license:gpl2+)))
1643
1644 (define-public emacs-ctrlf
1645 (package
1646 (name "emacs-ctrlf")
1647 (version "1.0")
1648 (source
1649 (origin
1650 (method git-fetch)
1651 (uri (git-reference
1652 (url "https://github.com/raxod502/ctrlf.git")
1653 (commit (string-append "v" version))))
1654 (file-name (git-file-name name version))
1655 (sha256
1656 (base32 "10gnhafas54zj3z9173h1g7b519ac4i26afclmw3w1pk6qyyb03z"))))
1657 (build-system emacs-build-system)
1658 (home-page "https://github.com/raxod502/ctrlf/")
1659 (synopsis "Single-buffer text search in Emacs")
1660 (description "CTRLF (pronounced @emph{control F}) is an intuitive and
1661 efficient solution for single-buffer text search in Emacs, replacing packages
1662 such as Isearch, Swiper, and helm-swoop. It takes inspiration from the
1663 widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as
1664 web browsers, but follows the flow and keybindings of Isearch.")
1665 (license license:expat)))
1666
1667 (define-public emacs-dhall-mode
1668 ;; There is no proper release. The base version is extracted from the
1669 ;; "Version" keyword in the main file.
1670 (let ((revision "0")
1671 (commit "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2"))
1672 (package
1673 (name "emacs-dhall-mode")
1674 (version (git-version "0.1.3" revision commit))
1675 (source
1676 (origin
1677 (method git-fetch)
1678 (uri
1679 (git-reference
1680 (url "https://github.com/psibi/dhall-mode")
1681 (commit commit)))
1682 (file-name (git-file-name name version))
1683 (sha256
1684 (base32 "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384"))))
1685 (build-system emacs-build-system)
1686 (propagated-inputs
1687 `(("emacs-reformatter" ,emacs-reformatter)))
1688 (home-page "https://github.com/psibi/dhall-mode")
1689 (synopsis "Major mode for working with Dhall configuration language")
1690 (description
1691 "Dhall-mode provides an Emacs Major mode for working with the Dhall
1692 configuration language. It features:
1693
1694 @itemize
1695 @item Syntax highlighting
1696 @item Multiline support for String
1697 @item Basic indentation, commenting
1698 @item Automatic formatting on save using dhall-format.
1699 @item Error highlighting.
1700 @end itemize")
1701 (license license:gpl3+))))
1702
1703 (define-public emacs-link-hint
1704 ;; Last release was in 2015.
1705 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1706 (revision "1"))
1707 (package
1708 (name "emacs-link-hint")
1709 (version (git-version "0.1" revision commit))
1710 (source
1711 (origin
1712 (method git-fetch)
1713 (uri (git-reference
1714 (url "https://github.com/noctuid/link-hint.el")
1715 (commit commit)))
1716 (file-name (git-file-name name version))
1717 (sha256
1718 (base32
1719 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1720 (build-system emacs-build-system)
1721 (propagated-inputs
1722 `(("emacs-avy" ,emacs-avy)))
1723 (home-page "https://github.com/noctuid/link-hint.el")
1724 (synopsis "Vimperator-style link-hinting in Emacs")
1725 (description "This package provides commands for visiting and acting on
1726 links.")
1727 (license license:gpl3+))))
1728
1729 (define-public emacs-ag
1730 (package
1731 (name "emacs-ag")
1732 (version "0.48")
1733 (source (origin
1734 (method git-fetch)
1735 (uri (git-reference
1736 (url "https://github.com/Wilfred/ag.el.git")
1737 (commit version)))
1738 (file-name (git-file-name name version))
1739 (sha256
1740 (base32
1741 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
1742 (build-system emacs-build-system)
1743 (arguments
1744 `(#:phases
1745 (modify-phases %standard-phases
1746 (add-before 'install 'make-info
1747 (lambda _
1748 (with-directory-excursion "docs"
1749 (invoke "make" "info"))))
1750 (add-after 'install 'install-info
1751 (lambda* (#:key outputs #:allow-other-keys)
1752 (let* ((out (assoc-ref outputs "out"))
1753 (info (string-append out "/share/info")))
1754 (install-file "docs/_build/texinfo/agel.info" info)
1755 #t))))))
1756 (native-inputs
1757 `(("python-sphinx" ,python-sphinx)
1758 ("texinfo" ,texinfo)))
1759 (propagated-inputs
1760 `(("dash" ,emacs-dash)
1761 ("s" ,emacs-s)
1762 ;; We need to use 'ag' as the executable on remote systems.
1763 ("the-silver-searcher" ,the-silver-searcher)))
1764 (home-page "https://github.com/Wilfred/ag.el")
1765 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1766 (description "This package provides the ability to use the silver
1767 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1768 include version control system awareness, use of Perl compatible regular
1769 expressions, editing the search results directly and searching file names
1770 rather than the contents of files.")
1771 (license license:gpl3+)))
1772
1773 (define-public emacs-async
1774 (package
1775 (name "emacs-async")
1776 (home-page "https://github.com/jwiegley/emacs-async")
1777 (version "1.9.4")
1778 (source (origin
1779 (method git-fetch)
1780 (uri (git-reference
1781 (url home-page)
1782 (commit (string-append "v" version))))
1783 (file-name (git-file-name name version))
1784 (sha256
1785 (base32
1786 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
1787 (build-system emacs-build-system)
1788 (synopsis "Asynchronous processing in Emacs")
1789 (description
1790 "This package provides the ability to call asynchronous functions and
1791 processes. For example, it can be used to run dired commands (for copying,
1792 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1793 as a library for other Emacs packages.")
1794 (license license:gpl3+)))
1795
1796 (define-public emacs-auctex
1797 (package
1798 (name "emacs-auctex")
1799 (version "12.2.3")
1800 (source
1801 (origin
1802 (method url-fetch)
1803 (uri (string-append "https://elpa.gnu.org/packages/"
1804 "auctex-" version ".tar"))
1805 (sha256
1806 (base32 "1rbn6pghkll5apjv1fyn82v523fch9l5ksi5lnh439nq460wx1yf"))))
1807 (build-system emacs-build-system)
1808 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1809 ;; ('emacs-minimal' does not provide dbus).
1810 (arguments
1811 `(#:emacs ,emacs
1812 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1813 #:exclude '("^tests/" "^latex/README")
1814 #:phases
1815 (modify-phases %standard-phases
1816 (add-after 'install 'install-doc
1817 (lambda* (#:key outputs #:allow-other-keys)
1818 (let* ((out (assoc-ref outputs "out"))
1819 (etc-dir (string-append out "/share/" ,name "/"
1820 ,version "/etc")))
1821 (with-directory-excursion "doc"
1822 (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm
1823 (invoke "pdftex" "tex-ref")
1824 (install-file "tex-ref.pdf"
1825 (string-append etc-dir "/refcards")))
1826 #t))))))
1827 (native-inputs
1828 `(("perl" ,perl)))
1829 (inputs
1830 `(("texlive" ,(texlive-union (list texlive-amsfonts)))))
1831 (home-page "https://www.gnu.org/software/auctex/")
1832 (synopsis "Integrated environment for TeX")
1833 (description
1834 "AUCTeX is a comprehensive customizable integrated environment for
1835 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1836 or XEmacs.")
1837 (license license:gpl3+)))
1838
1839 (define-public emacs-autothemer
1840 (package
1841 (name "emacs-autothemer")
1842 (version "0.2.2")
1843 (source
1844 (origin
1845 (method git-fetch)
1846 (uri (git-reference
1847 (url "https://github.com/sebastiansturm/autothemer.git")
1848 (commit version)))
1849 (file-name (git-file-name name version))
1850 (sha256
1851 (base32
1852 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1853 (build-system emacs-build-system)
1854 (propagated-inputs
1855 `(("emacs-dash" ,emacs-dash)))
1856 (home-page "https://github.com/sebastiansturm/autothemer")
1857 (synopsis "Conveniently create Emacs themes")
1858 (description
1859 "Autothemer provides a thin layer on top of @code{deftheme} and
1860 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1861 a set of simplified face specifications and a user-supplied color palette")
1862 (license license:gpl3+)))
1863
1864 (define-public emacs-howm
1865 (package
1866 (name "emacs-howm")
1867 (version "1.4.5")
1868 (source
1869 (origin
1870 (method url-fetch)
1871 (uri (string-append "https://howm.sourceforge.jp/a/howm-"
1872 version ".tar.gz"))
1873 (sha256
1874 (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi"))))
1875 (build-system gnu-build-system)
1876 (native-inputs
1877 `(("emacs" ,emacs-minimal)))
1878 (arguments
1879 `(#:configure-flags
1880 (list (string-append "--with-howmdir=" %output
1881 "/share/emacs/site-lisp/"))
1882 #:modules ((guix build gnu-build-system)
1883 ((guix build emacs-build-system) #:prefix emacs:)
1884 (guix build utils))
1885 #:imported-modules (,@%gnu-build-system-modules
1886 (guix build emacs-build-system)
1887 (guix build emacs-utils))
1888 #:phases
1889 (modify-phases %standard-phases
1890 (add-after 'install 'make-autoloads
1891 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1892 (home-page "https://howm.osdn.jp/")
1893 (synopsis "Note-taking tool for Emacs")
1894 (description "Howm is a note-taking tool for Emacs. Like
1895 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1896 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1897 (license license:gpl1+)))
1898
1899 (define-public emacs-bm
1900 (package
1901 (name "emacs-bm")
1902 (version "201905")
1903 (source
1904 (origin
1905 (method git-fetch)
1906 (uri (git-reference
1907 (url "https://github.com/joodland/bm.git")
1908 (commit version)))
1909 (file-name (git-file-name name version))
1910 (sha256
1911 (base32 "180b3rc13asrmsdh7v405d54jkrininvaj52xhp71vw91ng51dkn"))))
1912 (build-system emacs-build-system)
1913 (home-page "https://github.com/joodland/bm")
1914 (synopsis "Visual bookmarks for Emacs")
1915 (description "This package provides visible, buffer local bookmarks and
1916 the ability to jump forward and backward to the next bookmark.")
1917 (license license:gpl2+)))
1918
1919 (define-public emacs-calfw
1920 (package
1921 (name "emacs-calfw")
1922 (version "1.6")
1923 (source
1924 (origin
1925 (method git-fetch)
1926 (uri (git-reference
1927 (url "https://github.com/kiwanami/emacs-calfw.git")
1928 (commit (string-append "v" version))))
1929 (file-name (git-file-name name version))
1930 (sha256
1931 (base32
1932 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1933 (build-system emacs-build-system)
1934 (propagated-inputs
1935 `(("emacs-howm" ,emacs-howm)))
1936 (home-page "https://github.com/kiwanami/emacs-calfw/")
1937 (synopsis "Calendar framework for Emacs")
1938 (description
1939 "This package displays a calendar view with various schedule data in the
1940 Emacs buffer.")
1941 (license license:gpl3+)))
1942
1943 (define-public emacs-caps-lock
1944 (package
1945 (name "emacs-caps-lock")
1946 (version "1.0")
1947 (source
1948 (origin
1949 (method url-fetch)
1950 (uri (string-append "https://elpa.gnu.org/packages/"
1951 "caps-lock-" version ".el"))
1952 (sha256
1953 (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva"))))
1954 (build-system emacs-build-system)
1955 (home-page "http://elpa.gnu.org/packages/caps-lock.html")
1956 (synopsis "Caps Lock as a minor mode")
1957 (description
1958 "This package provides a minor mode to emulate the behavior of a Caps
1959 Lock key.")
1960 (license license:gpl3+)))
1961
1962 (define-public emacs-chronometrist
1963 (package
1964 (name "emacs-chronometrist")
1965 (version "0.4.3")
1966 (source
1967 (origin
1968 (method git-fetch)
1969 (uri (git-reference
1970 (url "https://framagit.org/contrapunctus/chronometrist.git")
1971 (commit (string-append "v" version))))
1972 (file-name (git-file-name name version))
1973 (sha256
1974 (base32 "1ljjqzghcap4admv0hvw6asm148b80mfgjgxjjcw6qc95fkjjjlr"))))
1975 (build-system emacs-build-system)
1976 (propagated-inputs
1977 `(("emacs-dash" ,emacs-dash)
1978 ("emacs-s" ,emacs-s)))
1979 (home-page "https://framagit.org/contrapunctus/chronometrist")
1980 (synopsis "Time tracker for Emacs")
1981 (description "Chronometrist is a time tracker in Emacs, largely modelled
1982 after the Android application, @emph{A Time Tracker}.
1983
1984 Its features are:
1985 @itemize
1986 @item Simple and efficient to use,
1987 @item Displays useful information about your time usage,
1988 @item Support for both mouse and keyboard,
1989 @item Human errors in tracking are easily fixed by editing a plain text file,
1990 @item Hooks to let you perform arbitrary actions when starting/stopping tasks.
1991 @end itemize")
1992 ;; Software is dual-licensed.
1993 (license (list license:unlicense license:wtfpl2))))
1994
1995 (define-public emacs-direnv
1996 (package
1997 (name "emacs-direnv")
1998 (version "2.0.0")
1999 (source
2000 (origin
2001 (method git-fetch)
2002 (uri (git-reference
2003 (url "https://github.com/wbolster/emacs-direnv.git")
2004 (commit version)))
2005 (file-name (git-file-name name version))
2006 (sha256
2007 (base32
2008 "005ibyzsx1fdyrl5iyhqpb1bg83mphzahq7zvw58x00syyqi2z49"))))
2009 (build-system emacs-build-system)
2010 (propagated-inputs
2011 `(("dash" ,emacs-dash)
2012 ("with-editor" ,emacs-with-editor)))
2013 (home-page "https://github.com/wbolster/emacs-direnv")
2014 (synopsis "Direnv integration for Emacs")
2015 (description
2016 "This package provides support for invoking direnv to get the environment
2017 for the current file and updating the environment within Emacs to match.
2018
2019 Direnv can be invoked manually, and a global minor mode is included that will
2020 update the environment when the active buffer changes.
2021
2022 Using emacs-direnv means that programs started from Emacs will use the
2023 environment set through Direnv.")
2024 (license license:gpl3+)))
2025
2026 (define-public emacs-elf-mode
2027 (package
2028 (name "emacs-elf-mode")
2029 (version "0.1.0")
2030 (source
2031 (origin
2032 (method git-fetch)
2033 (uri
2034 (git-reference
2035 (url "https://github.com/abo-abo/elf-mode")
2036 (commit version)))
2037 (file-name (git-file-name name version))
2038 (sha256
2039 (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"))))
2040 (build-system emacs-build-system)
2041 (home-page "https://github.com/abo-abo/elf-mode")
2042 (synopsis "Show symbol list when opening a binary file in Emacs")
2043 (description "This Emacs package provides a command showing the symbols
2044 that the binary uses instead of the actual binary contents.")
2045 (license license:gpl3+)))
2046
2047 (define-public emacs-form-feed
2048 (package
2049 (name "emacs-form-feed")
2050 (version "0.2.2")
2051 (source
2052 (origin
2053 (method git-fetch)
2054 (uri (git-reference
2055 (url "https://github.com/wasamasa/form-feed.git")
2056 (commit version)))
2057 (file-name (git-file-name name version))
2058 (sha256
2059 (base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2"))))
2060 (build-system emacs-build-system)
2061 (home-page "https://github.com/wasamasa/form-feed")
2062 (synopsis "Display ^L glyphs as horizontal lines")
2063 (description
2064 "This package provides a minor mode @code{form-feed-mode} to display page
2065 delimiters which usually appear as ^L glyphs on a single line as horizontal
2066 lines spanning the entire window. The minor mode is suitable for inclusion
2067 into mode hooks and is intended to be used that way.")
2068 (license license:gpl3+)))
2069
2070 (define-public emacs-ggtags
2071 (package
2072 (name "emacs-ggtags")
2073 (version "0.8.13")
2074 (source
2075 (origin
2076 (method url-fetch)
2077 (uri (string-append "https://elpa.gnu.org/packages/ggtags-"
2078 version ".el"))
2079 (sha256
2080 (base32
2081 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
2082 (build-system emacs-build-system)
2083 (inputs
2084 `(("global" ,global)))
2085 (arguments
2086 `(#:phases
2087 (modify-phases %standard-phases
2088 (add-after 'unpack 'configure
2089 (lambda* (#:key inputs #:allow-other-keys)
2090 (chmod "ggtags.el" #o644)
2091 (emacs-substitute-variables "ggtags.el"
2092 ("ggtags-executable-directory"
2093 (string-append (assoc-ref inputs "global") "/bin")))
2094 #t)))))
2095 (home-page "https://github.com/leoliu/ggtags")
2096 (synopsis "Frontend to the GNU Global source code tagging system")
2097 (description "@code{ggtags} provides a frontend to the GNU Global source
2098 code tagging system.
2099
2100 Features:
2101
2102 @itemize
2103 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
2104 @item Automatically update Global's tag files when needed with tuning for
2105 large source trees.
2106 @item Intuitive navigation among multiple matches with mode-line display of
2107 current match, total matches and exit status.
2108 @item Read tag with completion.
2109 @item Show definition at point.
2110 @item Jump to #include files.
2111 @item Support search history and saving a search to register/bookmark.
2112 @item Query replace.
2113 @item Manage Global's environment variables on a per-project basis.
2114 @item Highlight (definition) tag at point.
2115 @item Abbreviated display of file names.
2116 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
2117 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
2118 @code{pygments} backend.
2119 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
2120 @code{cscope} etc.
2121 @item Support projects on remote hosts (e.g. via @code{tramp}).
2122 @item Support eldoc.
2123 @item Search @code{GTAGSLIBPATH} for references and symbols.
2124 @end itemize\n")
2125 (license license:gpl3+)))
2126
2127 (define-public emacs-go-mode
2128 (package
2129 (name "emacs-go-mode")
2130 (version "1.5.0")
2131 (source (origin
2132 (method git-fetch)
2133 (uri (git-reference
2134 (url "https://github.com/dominikh/go-mode.el.git")
2135 (commit (string-append "v" version))))
2136 (file-name (git-file-name name version))
2137 (sha256
2138 (base32
2139 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
2140 (build-system emacs-build-system)
2141 (arguments
2142 `(#:phases
2143 (modify-phases %standard-phases
2144 (add-after 'unpack 'make-writable
2145 (lambda _
2146 (for-each make-file-writable (find-files "." "\\.el$"))
2147 #t)))))
2148 (home-page "https://github.com/dominikh/go-mode.el")
2149 (synopsis "Go mode for Emacs")
2150 (description
2151 "This package provides go-mode, an Emacs mode for working with software
2152 written in the Go programming language.")
2153 (license license:bsd-3)))
2154
2155 (define-public emacs-google-maps
2156 (package
2157 (name "emacs-google-maps")
2158 (version "1.0.0")
2159 (source (origin
2160 (method git-fetch)
2161 (uri (git-reference
2162 (url "https://github.com/jd/google-maps.el.git")
2163 (commit version)))
2164 (file-name (git-file-name name version))
2165 (sha256
2166 (base32
2167 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
2168 (build-system emacs-build-system)
2169 (home-page "https://github.com/jd/google-maps.el")
2170 (synopsis "Access Google Maps from Emacs")
2171 (description "The @code{google-maps} package displays Google
2172 Maps directly inside Emacs.")
2173 (license license:gpl3+)))
2174
2175 (define-public emacs-graphviz-dot-mode
2176 (package
2177 (name "emacs-graphviz-dot-mode")
2178 (version "0.4.2")
2179 (source
2180 (origin
2181 (method git-fetch)
2182 (uri (git-reference
2183 (url "https://github.com/ppareit/graphviz-dot-mode.git")
2184 (commit (string-append "v" version))))
2185 (file-name (git-file-name name version))
2186 (sha256
2187 (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m"))))
2188 (build-system emacs-build-system)
2189 (arguments
2190 `(#:phases
2191 (modify-phases %standard-phases
2192 (add-before 'install 'make-info
2193 (lambda* (#:key inputs #:allow-other-keys)
2194 (with-directory-excursion "texinfo"
2195 (substitute* "Makefile"
2196 (("\\/usr\\/bin\\/gzip")
2197 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
2198 (invoke "make"
2199 "clean"
2200 "info"
2201 (string-append "TEXINFODIR="
2202 (assoc-ref inputs "texinfo")
2203 "/bin")))))
2204 (add-after 'install 'install-info
2205 (lambda* (#:key outputs #:allow-other-keys)
2206 (let* ((out (assoc-ref outputs "out"))
2207 (info (string-append out "/share/info")))
2208 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
2209 #t))))))
2210 (native-inputs
2211 `(("gzip" ,gzip)
2212 ("texinfo" ,texinfo)))
2213 (propagated-inputs
2214 `(("emacs-company" ,emacs-company)))
2215 (home-page "http://ppareit.github.com/graphviz-dot-mode")
2216 (synopsis "Major mode for editing Graphviz DOT files")
2217 (description
2218 "This Emacs package helps you to create @file{.dot} or @file{.gv} files
2219 using the DOT syntax, and use Graphviz to convert these files to diagrams.")
2220 (license license:gpl2+)))
2221
2222 (define-public emacs-imenu-list
2223 (package
2224 (name "emacs-imenu-list")
2225 (version "0.8")
2226 (source
2227 (origin
2228 (method git-fetch)
2229 (uri
2230 (git-reference
2231 (url "https://github.com/bmag/imenu-list")
2232 (commit (string-append "v" version))))
2233 (file-name (git-file-name name version))
2234 (sha256
2235 (base32 "13xh9bdl3k6ccfq83wjmkpi4269qahv4davki4wq18dr4amrzhlx"))))
2236 (build-system emacs-build-system)
2237 (home-page "https://github.com/bmag/imenu-list")
2238 (synopsis
2239 "Automatically tracks the current buffer's imenu entries")
2240 (description
2241 "This Emacs minor mode creates an automatically updated buffer called
2242 @code{*Ilist*} that is populated with the current buffer's imenu entries.
2243 This buffer is typically shown as a sidebar (Emacs vertically splits the
2244 window).")
2245 (license license:gpl3+)))
2246
2247 (define-public emacs-mmm-mode
2248 (package
2249 (name "emacs-mmm-mode")
2250 (version "0.5.7")
2251 (source
2252 (origin
2253 (method git-fetch)
2254 (uri (git-reference
2255 (url "https://github.com/purcell/mmm-mode.git")
2256 (commit version)))
2257 (file-name (git-file-name name version))
2258 (sha256
2259 (base32
2260 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
2261 (build-system gnu-build-system)
2262 (native-inputs
2263 `(("autoconf" ,autoconf)
2264 ("automake" ,automake)
2265 ("emacs" ,emacs-minimal)
2266 ("texinfo" ,texinfo-5))) ;fails to build with Texinfo 6.7
2267 (home-page "https://github.com/purcell/mmm-mode")
2268 (synopsis "Allow multiple major modes in an Emacs buffer")
2269 (description
2270 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
2271 single buffer.")
2272 (license license:gpl3+)))
2273
2274 (define-public emacs-mmt
2275 (package
2276 (name "emacs-mmt")
2277 (version "0.2.0")
2278 (source
2279 (origin
2280 (method git-fetch)
2281 (uri (git-reference
2282 (url "https://github.com/mrkkrp/mmt.git")
2283 (commit version)))
2284 (file-name (git-file-name name version))
2285 (sha256
2286 (base32 "13vbfc5597v0gd87qyhn10f93nb477vjpg3jlpphbax9fvkf4gav"))))
2287 (build-system emacs-build-system)
2288 (home-page "https://github.com/mrkkrp/mmt")
2289 (synopsis "Classic tools to write Emacs Lisp macros")
2290 (description "Emacs MMT is a package that contains classic tools for Emacs
2291 Lisp developers who want to write macros with convenience.")
2292 (license license:gpl3+)))
2293
2294 (define-public emacs-tablist
2295 (package
2296 (name "emacs-tablist")
2297 (version "1.0")
2298 (source (origin
2299 (method git-fetch)
2300 (uri (git-reference
2301 (url "https://github.com/politza/tablist.git")
2302 (commit (string-append "v" version))))
2303 (file-name (git-file-name name version))
2304 (sha256
2305 (base32
2306 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
2307 (build-system emacs-build-system)
2308 (home-page "https://github.com/politza/tablist")
2309 (synopsis "Extension for @code{tabulated-list-mode}")
2310 (description "Tablist is the Emacs package that provides several
2311 additional features to @code{tabulated-list-mode}: it adds marks,
2312 filters, new key bindings and faces. It can be enabled by
2313 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
2314 (license license:gpl3+)))
2315
2316 (define-public emacs-djvu
2317 (package
2318 (name "emacs-djvu")
2319 (version "1.1")
2320 (source
2321 (origin
2322 (method url-fetch)
2323 (uri (string-append "https://elpa.gnu.org/packages/"
2324 "djvu-" version ".el"))
2325 (sha256
2326 (base32 "0njgyx09q225hliacsnjk8wallg5i6xkz6bj501pb05nwqfbvfk7"))))
2327 (build-system emacs-build-system)
2328 (home-page "http://elpa.gnu.org/packages/djvu.html")
2329 (synopsis "Edit and view Djvu files via djvused")
2330 (description
2331 "This package is a front end for the command-line program djvused from
2332 DjVuLibre, see @url{http://djvu.sourceforge.net/}. It assumes you have the
2333 programs @command{djvused}, @command{djview}, @command{ddjvu}, and
2334 @command{djvm} installed.")
2335 (license license:gpl3+)))
2336
2337 (define-public emacs-pabbrev
2338 (package
2339 (name "emacs-pabbrev")
2340 (version "4.2.1")
2341 (source
2342 (origin
2343 (method url-fetch)
2344 (uri (string-append "https://elpa.gnu.org/packages/"
2345 "pabbrev-" version ".el"))
2346 (sha256
2347 (base32 "19v5adk61y8fpigw7k6wz6dj79jwr450hnbi7fj0jvb21cvjmfxh"))))
2348 (build-system emacs-build-system)
2349 (home-page "http://elpa.gnu.org/packages/pabbrev.html")
2350 (synopsis "Predictive abbreviation expansion")
2351 (description
2352 "The code provides a abbreviation expansion for Emacs. It is
2353 fairly similar to Dabbrev expansion, which works based on the contents
2354 of the current buffer (or other buffers).
2355
2356 Predictive abbreviation expansion works based on the previously
2357 written text. Unlike dynamic abbreviation, the text is analysed
2358 during idle time, while Emacs is doing nothing else.")
2359 (license license:gpl3+)))
2360
2361 (define-public emacs-pdf-tools
2362 (package
2363 (name "emacs-pdf-tools")
2364 (version "0.90")
2365 (home-page "https://github.com/politza/pdf-tools")
2366 (source (origin
2367 (method git-fetch)
2368 (uri (git-reference (url home-page)
2369 (commit (string-append "v" version))))
2370 (file-name (git-file-name name version))
2371 (sha256
2372 (base32
2373 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
2374 (build-system gnu-build-system)
2375 (arguments
2376 `(#:tests? #f ; there are no tests
2377 #:modules ((guix build gnu-build-system)
2378 ((guix build emacs-build-system) #:prefix emacs:)
2379 (guix build utils)
2380 (guix build emacs-utils))
2381 #:imported-modules (,@%gnu-build-system-modules
2382 (guix build emacs-build-system)
2383 (guix build emacs-utils))
2384 #:phases
2385 (modify-phases %standard-phases
2386 ;; Build server side using 'gnu-build-system'.
2387 (add-after 'unpack 'enter-server-dir
2388 (lambda _ (chdir "server") #t))
2389 (add-after 'enter-server-dir 'autogen
2390 (lambda _
2391 (invoke "bash" "autogen.sh")))
2392
2393 ;; Build emacs side using 'emacs-build-system'.
2394 (add-after 'compress-documentation 'enter-lisp-dir
2395 (lambda _ (chdir "../lisp") #t))
2396 (add-after 'enter-lisp-dir 'emacs-patch-variables
2397 (lambda* (#:key outputs #:allow-other-keys)
2398 (for-each make-file-writable (find-files "."))
2399
2400 ;; Set path to epdfinfo program.
2401 (emacs-substitute-variables "pdf-info.el"
2402 ("pdf-info-epdfinfo-program"
2403 (string-append (assoc-ref outputs "out")
2404 "/bin/epdfinfo")))
2405 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
2406 ;; upgrading" that pdf-tools tries to perform.
2407 (emacs-substitute-variables "pdf-tools.el"
2408 ("pdf-tools-handle-upgrades" '()))))
2409 (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
2410 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
2411 (add-after 'emacs-add-source-to-load-path 'emacs-install
2412 (assoc-ref emacs:%standard-phases 'install))
2413 (add-after 'emacs-install 'emacs-build
2414 (assoc-ref emacs:%standard-phases 'build))
2415 (add-after 'emacs-install 'emacs-make-autoloads
2416 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2417 (native-inputs `(("autoconf" ,autoconf)
2418 ("automake" ,automake)
2419 ("pkg-config" ,pkg-config)
2420 ("emacs" ,emacs-minimal)))
2421 (inputs `(("poppler" ,poppler)
2422 ("cairo" ,cairo)
2423 ("glib" ,glib)
2424 ("libpng" ,libpng)
2425 ("zlib" ,zlib)))
2426 (propagated-inputs `(("tablist" ,emacs-tablist)))
2427 (synopsis "Emacs support library for PDF files")
2428 (description
2429 "PDF Tools is, among other things, a replacement of DocView for PDF
2430 files. The key difference is that pages are not pre-rendered by
2431 e.g. ghostscript and stored in the file-system, but rather created on-demand
2432 and stored in memory.")
2433 (license license:gpl3+)))
2434
2435 (define-public emacs-dash
2436 (package
2437 (name "emacs-dash")
2438 (version "2.17.0")
2439 (source (origin
2440 (method git-fetch)
2441 (uri (git-reference
2442 (url "https://github.com/magnars/dash.el.git")
2443 (commit version)))
2444 (file-name (git-file-name name version))
2445 (sha256
2446 (base32
2447 "153f55dqkhs8w2xlf6b88wp5vlkap7h8vjd9wxh4jp2ram5g4l1n"))))
2448 (build-system emacs-build-system)
2449 (arguments
2450 `(#:tests? #t
2451 #:test-command '("./run-tests.sh")))
2452 (home-page "https://github.com/magnars/dash.el")
2453 (synopsis "Modern list library for Emacs")
2454 (description "This package provides a modern list API library for Emacs.")
2455 (license license:gpl3+)))
2456
2457 (define-public emacs-bui
2458 (package
2459 (name "emacs-bui")
2460 (version "1.2.1")
2461 (source (origin
2462 (method git-fetch)
2463 (uri (git-reference
2464 (url "https://notabug.org/alezost/emacs-bui.git")
2465 (commit (string-append "v" version))))
2466 (file-name (git-file-name name version))
2467 (sha256
2468 (base32
2469 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
2470 (build-system emacs-build-system)
2471 (propagated-inputs
2472 `(("dash" ,emacs-dash)))
2473 (home-page "https://notabug.org/alezost/emacs-bui")
2474 (synopsis "Buffer interface library for Emacs")
2475 (description
2476 "BUI (Buffer User Interface) is a library for making @code{list} and
2477 @code{info} interfaces to display an arbitrary data of the same
2478 type, for example: packages, buffers, files, etc.")
2479 (license license:gpl3+)))
2480
2481 (define-public emacs-guix
2482 (package
2483 (name "emacs-guix")
2484 (version "0.5.2")
2485 (source (origin
2486 (method url-fetch)
2487 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2488 "releases/emacs-guix-" version ".tar.gz"))
2489 (sha256
2490 (base32
2491 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))
2492 (modules '((guix build utils)))
2493 (snippet
2494 '(begin
2495 ;; Add support for Guile 3.0. Remove for versions > 0.5.2.
2496 (substitute* "configure"
2497 (("\"2\\.2 2\\.0\"")
2498 "\"3.0 2.2 2.0\""))
2499 #t))))
2500 (build-system gnu-build-system)
2501 (native-inputs
2502 `(("pkg-config" ,pkg-config)
2503 ("emacs" ,emacs-minimal)))
2504 (inputs
2505 `(("guile" ,guile-3.0)
2506 ("guix" ,guix)))
2507 (propagated-inputs
2508 `(("geiser" ,emacs-geiser)
2509 ("guile-gcrypt" ,guile-gcrypt)
2510 ("dash" ,emacs-dash)
2511 ("bui" ,emacs-bui)
2512 ("edit-indirect" ,emacs-edit-indirect)
2513 ("magit-popup" ,emacs-magit-popup)))
2514 (home-page "https://emacs-guix.gitlab.io/website/")
2515 (synopsis "Emacs interface for GNU Guix")
2516 (description
2517 "Emacs-Guix provides a visual interface, tools and features for the GNU
2518 Guix package manager. Particularly, it allows you to do various package
2519 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2520 @code{M-x guix-help} command.")
2521 (license license:gpl3+)))
2522
2523 (define-public emacs-build-farm
2524 (package
2525 (name "emacs-build-farm")
2526 (version "0.2.2")
2527 (source (origin
2528 (method git-fetch)
2529 (uri (git-reference
2530 (url "https://notabug.org/alezost/emacs-build-farm.git")
2531 (commit (string-append "v" version))))
2532 (file-name (git-file-name name version))
2533 (sha256
2534 (base32
2535 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2536 (build-system emacs-build-system)
2537 (propagated-inputs
2538 `(("bui" ,emacs-bui)
2539 ("magit-popup" ,emacs-magit-popup)))
2540 (home-page "https://notabug.org/alezost/emacs-build-farm")
2541 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2542 (description
2543 "This Emacs package provides an interface for Hydra and
2544 Cuirass (build farms used by Nix and Guix). It allows you to look at
2545 various data related to the build farm projects, jobsets, builds and
2546 evaluations. The entry point is @code{M-x build-farm} command.")
2547 (license license:gpl3+)))
2548
2549 (define-public emacs-d-mode
2550 (package
2551 (name "emacs-d-mode")
2552 (version "2.0.10")
2553 (source
2554 (origin
2555 (method git-fetch)
2556 (uri (git-reference
2557 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2558 (commit version)))
2559 (file-name (git-file-name name version))
2560 (sha256
2561 (base32 "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"))))
2562 (build-system emacs-build-system)
2563 (propagated-inputs
2564 `(("emacs-undercover" ,emacs-undercover)))
2565 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2566 (synopsis "Emacs major mode for editing D code")
2567 (description "This package provides an Emacs major mode for highlighting
2568 code written in the D programming language. This mode is currently known to
2569 work with Emacs 24 and 25.")
2570 (license license:gpl2+)))
2571
2572 (define-public emacs-extempore-mode
2573 ;; Use the latest commit at time of packaging. There are no releases or tags.
2574 (let ((commit "09518ae6650d7be33a4633a4c0f31b7130d04c6e")
2575 (revision "1"))
2576 (package
2577 (name "emacs-extempore-mode")
2578 (version (git-version "0.0.0" revision commit))
2579 (source
2580 (origin
2581 (method git-fetch)
2582 (uri (git-reference
2583 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2584 (commit commit)))
2585 (file-name (git-file-name name version))
2586 (sha256
2587 (base32 "0hfza9lzdsz94gxhmzyp9fwviscv19rmnjgd0q613faayn11sjsp"))))
2588 (build-system emacs-build-system)
2589 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2590 (synopsis "Emacs major mode for Extempore source files")
2591 (description
2592 "This package provides a major mode for editing Extempore code. It can
2593 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2594 running Extempore process, and more.")
2595 (license license:bsd-2))))
2596
2597 (define-public emacs-kakoune
2598 ;; Package has no release. Version is extracted from "Version:" keyword in
2599 ;; main file.
2600 (let ((commit "d73d14e69ea38076af50cc69f846808383ff539d")
2601 (revision "0"))
2602 (package
2603 (name "emacs-kakoune")
2604 (version (git-version "0.1" revision commit))
2605 (source
2606 (origin
2607 (method git-fetch)
2608 (uri (git-reference
2609 (url "https://github.com/jmorag/kakoune.el.git")
2610 (commit commit)))
2611 (file-name (git-file-name name version))
2612 (sha256
2613 (base32 "0nk6jdy1y5mc3ryd0smiqghrk6iv34d5grc7f7migmshlbq0np92"))))
2614 (build-system emacs-build-system)
2615 (propagated-inputs
2616 `(("emacs-expand-region" ,emacs-expand-region)
2617 ("emacs-multiple-cursors" ,emacs-multiple-cursors)
2618 ("emacs-ryo-modal" ,emacs-ryo-modal)))
2619 (home-page "https://github.com/jmorag/kakoune.el")
2620 (synopsis "Emacs simple simulation, but not emulation, of Kakoune")
2621 (description "This package provides many, but not all of the editing
2622 primitives in the Kakoune editor. Unlike Evil mode for Vim, this is a very
2623 shallow emulation, which seeks to do as little work as possible, leveraging
2624 Emacs native editing commmands and the work of other packages wherever
2625 possible.")
2626 (license license:expat))))
2627
2628 (define-public emacs-keyfreq
2629 (package
2630 (name "emacs-keyfreq")
2631 (version "20160516.716")
2632 (source
2633 (origin
2634 (method url-fetch)
2635 (uri (string-append "http://melpa.org/packages/keyfreq-"
2636 version ".el"))
2637 (sha256
2638 (base32
2639 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2640 (build-system emacs-build-system)
2641 (home-page "https://github.com/dacap/keyfreq")
2642 (synopsis "Track Emacs command frequencies")
2643 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2644 a command.")
2645 (license license:gpl3+)))
2646
2647 (define-public emacs-olivetti
2648 (package
2649 (name "emacs-olivetti")
2650 (version "1.8.1")
2651 (source (origin
2652 (method git-fetch)
2653 (uri (git-reference
2654 (url "https://github.com/rnkn/olivetti.git")
2655 (commit (string-append "v" version))))
2656 (file-name (git-file-name name version))
2657 (sha256
2658 (base32
2659 "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"))))
2660 (build-system emacs-build-system)
2661 (home-page "https://github.com/rnkn/olivetti")
2662 (synopsis "Emacs minor mode for a nice writing environment")
2663 (description "This package provides an Emacs minor mode that puts writing
2664 in the center.")
2665 (license license:gpl3+)))
2666
2667 (define-public emacs-undo-tree
2668 (package
2669 (name "emacs-undo-tree")
2670 (version "0.7.4")
2671 (source
2672 (origin
2673 (method url-fetch)
2674 (uri (string-append "https://elpa.gnu.org/packages/"
2675 "undo-tree-" version ".el"))
2676 (sha256
2677 (base32 "018ixl802f076sfyf4gkacpgrdpybin88jd8vq9zgyvc6x2dalfa"))))
2678 (build-system emacs-build-system)
2679 (home-page "http://www.dr-qubit.org/emacs.php")
2680 (synopsis "Treat undo history as a tree")
2681 (description
2682 "Tree-like interface to Emacs undo system, providing
2683 graphical tree presentation of all previous states of buffer that
2684 allows easily move between them.")
2685 (license license:gpl3+)))
2686
2687 (define-public emacs-s
2688 (package
2689 (name "emacs-s")
2690 (version "1.12.0")
2691 (source
2692 (origin
2693 (method git-fetch)
2694 (uri (git-reference
2695 (url "https://github.com/magnars/s.el.git")
2696 (commit version)))
2697 (file-name (git-file-name name version))
2698 (sha256
2699 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2700 (build-system emacs-build-system)
2701 (arguments
2702 `(#:tests? #t
2703 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2704 #:test-command '("./run-tests.sh")))
2705 (home-page "https://github.com/magnars/s.el")
2706 (synopsis "Emacs string manipulation library")
2707 (description "This package provides an Emacs library for manipulating
2708 strings.")
2709 (license license:gpl3+)))
2710
2711 (define-public emacs-symon
2712 (package
2713 (name "emacs-symon")
2714 (version "20160630")
2715 (source
2716 (origin
2717 (method git-fetch)
2718 (uri (git-reference
2719 (url "https://github.com/zk-phi/symon.git")
2720 (commit version)))
2721 (file-name (git-file-name name version))
2722 (sha256
2723 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2724 (build-system emacs-build-system)
2725 (home-page "https://github.com/zk-phi/symon")
2726 (synopsis "Tiny graphical system monitor")
2727 (description
2728 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2729 (license license:gpl2+)))
2730
2731 (define-public emacs-sx
2732 (let ((version "20191229")
2733 (revision "0")
2734 (commit "e9d1093c97507a6d7b4f4710ef65200dae725e5f"))
2735 (package
2736 (name "emacs-sx")
2737 (version (git-version version revision commit))
2738 (source
2739 (origin
2740 (method git-fetch)
2741 (uri (git-reference
2742 (url "https://github.com/vermiculus/sx.el")
2743 (commit commit)))
2744 (file-name (git-file-name name version))
2745 (sha256
2746 (base32 "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf"))))
2747 (build-system emacs-build-system)
2748 (propagated-inputs
2749 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2750 (home-page "https://github.com/vermiculus/sx.el")
2751 (synopsis "Emacs StackExchange client")
2752 (description
2753 "Emacs StackExchange client. Ask and answer questions on
2754 Stack Overflow, Super User, and other StackExchange sites.")
2755 (license license:gpl3+))))
2756
2757 (define-public emacs-toml-mode
2758 (let ((version "0.1.3")
2759 (revision "0")
2760 (commit "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06"))
2761 (package
2762 (name "emacs-toml-mode")
2763 (version (git-version version revision commit))
2764 (source
2765 (origin
2766 (method git-fetch)
2767 (uri (git-reference
2768 (url "https://github.com/dryman/toml-mode.el.git")
2769 (commit commit)))
2770 (file-name (git-file-name name version))
2771 (sha256
2772 (base32 "05b4ksay85c8y5ncax0qsvnmplwsfiw24z16a58gkarjz938hb57"))))
2773 (build-system emacs-build-system)
2774 (home-page "https://github.com/dryman/toml-mode.el")
2775 (synopsis "Emacs major mode for editing TOML files")
2776 (description
2777 ;; XXX: Ideally we'd use @acronym for "TOML", but Guile's Texinfo
2778 ;; parser does not currently support @comma{}, making it impossible
2779 ;; to use commas in the @acronym arguments.
2780 "This package provides a major mode for editing files in @dfn{TOML}
2781 (Tom's Obvious, Minimal Language) data format.")
2782 (license license:gpl3+))))
2783
2784 (define-public emacs-twittering-mode
2785 (package
2786 (name "emacs-twittering-mode")
2787 (version "3.1.0")
2788 (source
2789 (origin
2790 (method url-fetch)
2791 (uri (string-append "mirror://sourceforge/twmode"
2792 "/twittering-mode-" version
2793 "/twittering-mode-" version ".tar.xz"))
2794 (sha256
2795 (base32 "02imis1gxz90lah0b5n37j2hlsaw5igss11d85vpsm5d1bgw8j28"))))
2796 (build-system emacs-build-system)
2797 (home-page "http://twmode.sourceforge.net")
2798 (synopsis "Emacs major mode for Twitter")
2799 (description
2800 "Twittering mode is an Emacs major mode for Twitter.
2801 You can check timelines, tweet, mark posts as favorites and so on with
2802 Emacs.")
2803 (license license:gpl2+)))
2804
2805 (define-public emacs-f
2806 (package
2807 (name "emacs-f")
2808 (version "0.20.0")
2809 (source (origin
2810 (method git-fetch)
2811 (uri (git-reference
2812 (url "https://github.com/rejeep/f.el.git")
2813 (commit (string-append "v" version))))
2814 (file-name (git-file-name name version))
2815 (sha256
2816 (base32
2817 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2818 (build-system emacs-build-system)
2819 (propagated-inputs
2820 `(("emacs-s" ,emacs-s)
2821 ("emacs-dash" ,emacs-dash)))
2822 (home-page "https://github.com/rejeep/f.el")
2823 (synopsis "Emacs API for working with files and directories")
2824 (description "This package provides an Emacs library for working with
2825 files and directories.")
2826 (license license:gpl3+)))
2827
2828 (define-public emacs-fountain-mode
2829 (package
2830 (name "emacs-fountain-mode")
2831 (version "3.1.0")
2832 (source
2833 (origin
2834 (method git-fetch)
2835 (uri (git-reference
2836 (url "https://github.com/rnkn/fountain-mode")
2837 (commit (string-append "v" version))))
2838 (file-name (git-file-name name version))
2839 (sha256
2840 (base32 "08giwg0jwk8zzj2i4cm08322qr6znrnv9a49za7c6j47bykpwj6s"))))
2841 (build-system emacs-build-system)
2842 (home-page "https://github.com/rnkn/fountain-mode")
2843 (synopsis "Major mode for screenwriting in Fountain markup")
2844 (description "Fountain Mode is a scriptwriting program for GNU Emacs
2845 using the Fountain plain text markup format.")
2846 (license license:gpl3+)))
2847
2848 (define-public emacs-fringe-helper
2849 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
2850 (revision "1"))
2851 (package
2852 (name "emacs-fringe-helper")
2853 (version (git-version "1.0.1" revision commit))
2854 (source
2855 (origin
2856 (method git-fetch)
2857 (uri (git-reference
2858 (url "https://github.com/nschum/fringe-helper.el.git")
2859 (commit commit)))
2860 (file-name (git-file-name name version))
2861 (sha256
2862 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
2863 (build-system emacs-build-system)
2864 (arguments
2865 `(#:tests? #t
2866 #:test-command '("emacs" "--batch"
2867 "-l" "tests.el"
2868 "-f" "ert-run-tests-batch-and-exit")))
2869 (home-page "https://github.com/nschum/fringe-helper.el")
2870 (synopsis "Helper functions for fringe bitmaps")
2871 (description
2872 "This package allows fringe bitmaps to be defined with a visual string
2873 representation.")
2874 (license license:gpl2+))))
2875
2876 (define-public emacs-git-gutter
2877 (package
2878 (name "emacs-git-gutter")
2879 (version "0.90")
2880 (source
2881 (origin
2882 (method git-fetch)
2883 (uri (git-reference
2884 (url "https://github.com/syohex/emacs-git-gutter.git")
2885 (commit version)))
2886 (file-name (git-file-name name version))
2887 (sha256
2888 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2889 (build-system emacs-build-system)
2890 (home-page "https://github.com/syohex/emacs-git-gutter")
2891 (synopsis "See and manage hunks of text in a version control system")
2892 (description
2893 "This package is an Emacs minor mode for displaying and interacting with
2894 hunks of text managed in a version control system. Added modified and deleted
2895 areas can be indicated with symbols on the edge of the buffer, and commands
2896 can be used to move between and perform actions on these hunks.
2897
2898 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2899 display and behaviour is easily customisable.")
2900 (license license:gpl3+)))
2901
2902 (define-public emacs-git-gutter-fringe
2903 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
2904 (revision "1"))
2905 (package
2906 (name "emacs-git-gutter-fringe")
2907 (version (git-version "0.23" revision commit))
2908 (source
2909 (origin
2910 (method git-fetch)
2911 (uri (git-reference
2912 (url "https://github.com/syohex/git-gutter-fringe.git")
2913 (commit commit)))
2914 (file-name (git-file-name name version))
2915 (sha256
2916 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
2917 (build-system emacs-build-system)
2918 (propagated-inputs
2919 `(("emacs-git-gutter" ,emacs-git-gutter)
2920 ("emacs-fringe-helper" ,emacs-fringe-helper)))
2921 (home-page "https://github.com/syohex/git-gutter-fringe")
2922 (synopsis "See and manage hunks of text in a version control system")
2923 (description
2924 "This package extends @code{git-gutter} to use the fringe area of a
2925 window.")
2926 (license license:gpl3+))))
2927
2928 (define-public emacs-git-link
2929 (package
2930 (name "emacs-git-link")
2931 (version "0.7.5")
2932 (source
2933 (origin
2934 (method git-fetch)
2935 (uri (git-reference
2936 (url "https://github.com/sshaw/git-link.git")
2937 (commit (string-append "v" version))))
2938 (file-name (git-file-name name version))
2939 (sha256
2940 (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
2941 (build-system emacs-build-system)
2942 (arguments
2943 `(#:tests? #t
2944 #:test-command '("make" "test")))
2945 (home-page "https://github.com/sshaw/git-link")
2946 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
2947 (description
2948 "@code{git-link} returns the URL for the current buffer's file location
2949 at the current line number or active region. @code{git-link-commit} returns
2950 the URL for a commit. URLs are added to the kill ring.")
2951 (license license:gpl3+)))
2952
2953 (define-public emacs-apheleia
2954 (package
2955 (name "emacs-apheleia")
2956 (version "1.0")
2957 (source
2958 (origin
2959 (method git-fetch)
2960 (uri (git-reference
2961 (url "https://github.com/raxod502/apheleia.git")
2962 (commit (string-append "v" version))))
2963 (file-name (git-file-name name version))
2964 (sha256
2965 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
2966 (build-system emacs-build-system)
2967 (home-page "https://github.com/raxod502/apheleia")
2968 (synopsis "Reformat buffer stably")
2969 (description
2970 "This package allows for a buffer to be reformatted without moving point,
2971 so that running a formatting tool like @code{Prettier} or @code{Black} upon
2972 saving won't move point back to the beginning of the buffer.")
2973 (license license:gpl3+)))
2974
2975 (define-public emacs-git-timemachine
2976 (package
2977 (name "emacs-git-timemachine")
2978 (version "4.11")
2979 (source
2980 (origin
2981 (method git-fetch)
2982 (uri (git-reference
2983 (url "https://gitlab.com/pidu/git-timemachine.git")
2984 (commit version)))
2985 (file-name (git-file-name name version))
2986 (sha256
2987 (base32
2988 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2989 (build-system emacs-build-system)
2990 (propagated-inputs
2991 `(("emacs-transient" ,emacs-transient)))
2992 (home-page "https://gitlab.com/pidu/git-timemachine")
2993 (synopsis "Step through historic versions of Git-controlled files")
2994 (description "This package enables you to step through historic versions
2995 of files under Git version control from within Emacs.")
2996 (license license:gpl3+)))
2997
2998 (define-public emacs-minitest
2999 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
3000 (revision "1"))
3001 (package
3002 (name "emacs-minitest")
3003 (version (git-version "0.8.0" revision commit))
3004 (source (origin
3005 (method git-fetch)
3006 (uri (git-reference
3007 (url "https://github.com/arthurnn/minitest-emacs")
3008 (commit commit)))
3009 (file-name (git-file-name name commit))
3010 (sha256
3011 (base32
3012 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
3013 (build-system emacs-build-system)
3014 (arguments
3015 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
3016 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
3017 (propagated-inputs
3018 `(("emacs-dash" ,emacs-dash)
3019 ("emacs-f" ,emacs-f)))
3020 (home-page "https://github.com/arthurnn/minitest-emacs")
3021 (synopsis "Emacs minitest mode")
3022 (description
3023 "The minitest mode provides commands to run the tests for the current
3024 file or line, as well as rerunning the previous tests, or all the tests for a
3025 project.
3026
3027 This package also includes relevant snippets for yasnippet.")
3028 (license license:expat))))
3029
3030 (define-public emacs-el-mock
3031 (package
3032 (name "emacs-el-mock")
3033 (version "1.25.1")
3034 (source
3035 (origin
3036 (method git-fetch)
3037 (uri (git-reference
3038 (url "https://github.com/rejeep/el-mock.el.git")
3039 (commit (string-append "v" version))))
3040 (file-name (git-file-name name version))
3041 (sha256
3042 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
3043 (build-system emacs-build-system)
3044 (home-page "https://github.com/rejeep/el-mock.el")
3045 (synopsis "Tiny mock and stub framework in Emacs Lisp")
3046 (description
3047 "Emacs Lisp Mock is a library for mocking and stubbing using readable
3048 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
3049 Expectations, but it can be used in other contexts.")
3050 (license license:gpl3+)))
3051
3052 (define-public emacs-espuds
3053 (package
3054 (name "emacs-espuds")
3055 (version "0.3.3")
3056 (source
3057 (origin
3058 (method git-fetch)
3059 (uri (git-reference
3060 (url "https://github.com/ecukes/espuds.git")
3061 (commit (string-append "v" version))))
3062 (file-name (git-file-name name version))
3063 (sha256
3064 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
3065 (build-system emacs-build-system)
3066 (propagated-inputs
3067 `(("emacs-s" ,emacs-s)
3068 ("emacs-dash" ,emacs-dash)
3069 ("emacs-f" ,emacs-f)))
3070 (home-page "https://github.com/ecukes/espuds")
3071 (synopsis "Common step definitions for Ecukes")
3072 (description "Espuds is a collection of the most commonly used step
3073 definitions for testing with the Ecukes framework.")
3074 (license license:gpl3+)))
3075
3076 (define-public emacs-spark
3077 (let ((version "20160503") ; no proper tag, use date of commit
3078 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
3079 (revision "1"))
3080 (package
3081 (name "emacs-spark")
3082 (version (git-version version revision commit))
3083 (source
3084 (origin
3085 (method git-fetch)
3086 (uri (git-reference
3087 (url "https://github.com/alvinfrancis/spark.git")
3088 (commit commit)))
3089 (file-name (git-file-name name version))
3090 (sha256
3091 (base32
3092 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
3093 (build-system emacs-build-system)
3094 (home-page "https://github.com/alvinfrancis/spark")
3095 (synopsis "Sparkline generation library for Emacs Lisp")
3096 (description "@code{emacs-spark} is a sparkline generation library for
3097 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
3098 port of @code{cl-spark} to Emacs Lisp.")
3099 (license license:expat))))
3100
3101 (define-public emacs-es-mode
3102 (package
3103 (name "emacs-es-mode")
3104 (version "4.3.0")
3105 (source
3106 (origin
3107 (method git-fetch)
3108 (uri (git-reference
3109 (url "https://github.com/dakrone/es-mode.git")
3110 (commit version)))
3111 (file-name (git-file-name name version))
3112 (sha256
3113 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
3114 (build-system emacs-build-system)
3115 (propagated-inputs
3116 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
3117 ;; to be rendered incorrectly
3118 `(("emacs-dash" ,emacs-dash)
3119 ("emacs-org" ,emacs-org)
3120 ("emacs-spark" ,emacs-spark)))
3121 (home-page "https://github.com/dakrone/es-mode")
3122 (synopsis "Major mode for editing Elasticsearch queries")
3123 (description "@code{es-mode} includes highlighting, completion and
3124 indentation support for Elasticsearch queries. Also supported are
3125 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
3126 be processed through @code{jq}, or in the case of aggregations, can be
3127 rendered in to a table. In addition, there is an @code{es-command-center}
3128 mode, which displays information about Elasticsearch clusters.")
3129 (license license:gpl3+)))
3130
3131 (define-public emacs-expand-region
3132 (package
3133 (name "emacs-expand-region")
3134 (version "0.11.0")
3135 (source
3136 (origin
3137 (method git-fetch)
3138 (uri (git-reference
3139 (url "https://github.com/magnars/expand-region.el.git")
3140 (commit version)))
3141 (file-name (git-file-name name version))
3142 (sha256
3143 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
3144 (build-system emacs-build-system)
3145 (home-page "https://github.com/magnars/expand-region.el")
3146 (synopsis "Increase selected region by semantic units")
3147 (description
3148 "Expand region increases the selected region by semantic units. Just
3149 keep pressing the key until it selects what you want. There's also
3150 @code{er/contract-region} if you expand too far.")
3151 (license license:gpl3+)))
3152
3153 (define-public emacs-fill-column-indicator
3154 (package
3155 (name "emacs-fill-column-indicator")
3156 (version "1.90")
3157 (source
3158 (origin
3159 (method git-fetch)
3160 (uri (git-reference
3161 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
3162 (commit version)))
3163 (file-name (git-file-name name version))
3164 (sha256
3165 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
3166 (build-system emacs-build-system)
3167 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
3168 (synopsis "Graphically indicate the fill column")
3169 (description
3170 "Fill-column-indicator graphically indicates the location of the fill
3171 column by drawing a thin line down the length of the editing window.")
3172 (license license:gpl3+)))
3173
3174 (define-public emacs-grep-a-lot
3175 (package
3176 (name "emacs-grep-a-lot")
3177 (version "1.0.7")
3178 (source
3179 (origin
3180 (method git-fetch)
3181 (uri (git-reference
3182 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
3183 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
3184 (file-name (git-file-name name version))
3185 (sha256
3186 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
3187 (build-system emacs-build-system)
3188 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
3189 (synopsis "Enables multiple grep buffers in Emacs")
3190 (description
3191 "This Emacs package allows managing multiple grep buffers.")
3192 (license license:gpl3+)))
3193
3194 (define-public emacs-rg
3195 (package
3196 (name "emacs-rg")
3197 (version "1.8.1")
3198 (source
3199 (origin
3200 (method git-fetch)
3201 (uri (git-reference
3202 (url "https://github.com/dajva/rg.el.git")
3203 (commit version)))
3204 (file-name (git-file-name name version))
3205 (sha256
3206 (base32 "0k7x5z7mh9flwih35cqy8chs54rack3nswdcpw5wcpgv6xim227y"))))
3207 (build-system emacs-build-system)
3208 (arguments
3209 '(#:phases
3210 (modify-phases %standard-phases
3211 (add-after 'unpack 'hardcode-rg-path
3212 ;; Hardcode the path to ripgrep.
3213 (lambda _
3214 (let ((file "rg.el"))
3215 (chmod file #o644)
3216 (emacs-substitute-sexps file
3217 ("(defcustom rg-executable" (which "rg")))))))))
3218 (propagated-inputs
3219 `(("emacs-s" ,emacs-s)
3220 ("emacs-wgrep" ,emacs-wgrep)))
3221 (inputs
3222 `(("ripgrep" ,ripgrep)))
3223 (home-page "https://rgel.readthedocs.io/en/latest/")
3224 (synopsis "Search tool based on @code{ripgrep}")
3225 (description
3226 "@code{rg} is an Emacs search package based on the @code{ripgrep} command
3227 line tool. It allows one to interactively search based on the editing context
3228 then refine or modify the search results.")
3229 (license license:gpl3+)))
3230
3231 (define-public emacs-inf-ruby
3232 (package
3233 (name "emacs-inf-ruby")
3234 (version "2.5.2")
3235 (source
3236 (origin
3237 (method git-fetch)
3238 (uri (git-reference
3239 (url "https://github.com/nonsequitur/inf-ruby.git")
3240 (commit version)))
3241 (file-name (git-file-name name version))
3242 (sha256
3243 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
3244 (build-system emacs-build-system)
3245 (home-page "https://github.com/nonsequitur/inf-ruby")
3246 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
3247 (description
3248 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
3249 for easy interaction with a ruby subprocess. Features include support for
3250 detecting specific uses of Ruby, e.g. when using rails, and using a
3251 appropriate console.")
3252 (license license:gpl3+)))
3253
3254 (define-public emacs-znc
3255 (package
3256 (name "emacs-znc")
3257 (version "0.0.2")
3258 (source
3259 (origin
3260 (method url-fetch)
3261 (uri (string-append "https://marmalade-repo.org/packages/znc-"
3262 version ".el"))
3263 (sha256
3264 (base32
3265 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
3266 (build-system emacs-build-system)
3267 (home-page "https://github.com/sshirokov/ZNC.el")
3268 (synopsis "Make ERC and ZNC get along better")
3269 (description
3270 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
3271 IRC bouncer with ERC.")
3272 (license license:expat)))
3273
3274 (define-public emacs-shut-up
3275 (package
3276 (name "emacs-shut-up")
3277 (version "0.3.2")
3278 (source
3279 (origin
3280 (method git-fetch)
3281 (uri (git-reference
3282 (url "https://github.com/cask/shut-up.git")
3283 (commit (string-append "v" version))))
3284 (file-name (git-file-name name version))
3285 (sha256
3286 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
3287 (build-system emacs-build-system)
3288 (home-page "https://github.com/cask/shut-up")
3289 (synopsis "Silence Emacs")
3290 (description "This package silences most output of Emacs when running an
3291 Emacs shell script.")
3292 (license license:expat)))
3293
3294 (define-public emacs-undercover
3295 (package
3296 (name "emacs-undercover")
3297 (version "0.6.1")
3298 (source
3299 (origin
3300 (method git-fetch)
3301 (uri (git-reference
3302 (url "https://github.com/sviridov/undercover.el.git")
3303 (commit version)))
3304 (file-name (git-file-name name version))
3305 (sha256
3306 (base32 "080bmfwyfi8663y8x594770hqz7mff7zvj2v03qdfwbhdr9w9y29"))))
3307 (build-system emacs-build-system)
3308 (propagated-inputs
3309 `(("emacs-dash" ,emacs-dash)
3310 ("emacs-shut-up" ,emacs-shut-up)))
3311 (home-page "https://github.com/sviridov/undercover.el")
3312 (synopsis "Test coverage library for Emacs Lisp")
3313 (description
3314 "Undercover is a test coverage library for software written in Emacs
3315 Lisp.")
3316 (license license:expat)))
3317
3318 (define-public emacs-paren-face
3319 (package
3320 (name "emacs-paren-face")
3321 (version "1.0.5")
3322 (source
3323 (origin
3324 (method git-fetch)
3325 (uri (git-reference
3326 (url "https://github.com/tarsius/paren-face.git")
3327 (commit version)))
3328 (file-name (git-file-name name version))
3329 (sha256
3330 (base32
3331 "04vkg8fhdn8x02dydxbwpizh2yn3sbmn9432v770vbbq6b62k2lx"))))
3332 (build-system emacs-build-system)
3333 (home-page "https://github.com/tarsius/paren-face")
3334 (synopsis "Face for parentheses in lisp modes")
3335 (description
3336 "This library defines a face named @code{parenthesis} used just for
3337 parentheses. The intended purpose of this face is to make parentheses less
3338 visible in Lisp code by dimming them. Lispers probably don't need to be
3339 constantly made aware of the existence of the parentheses. Dimming them might
3340 be even more useful for people new to lisp who have not yet learned to
3341 subconsciously blend out the parentheses.")
3342 (license license:gpl3+)))
3343
3344 (define-public emacs-page-break-lines
3345 (package
3346 (name "emacs-page-break-lines")
3347 (version "0.11")
3348 (source
3349 (origin
3350 (method git-fetch)
3351 (uri (git-reference
3352 (url "https://github.com/purcell/page-break-lines.git")
3353 (commit version)))
3354 (file-name (git-file-name name version))
3355 (sha256
3356 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
3357 (build-system emacs-build-system)
3358 (home-page "https://github.com/purcell/page-break-lines")
3359 (synopsis "Display page breaks as tidy horizontal lines")
3360 (description
3361 "This library provides a global mode which displays form feed characters
3362 as horizontal rules.")
3363 (license license:gpl3+)))
3364
3365 (define-public emacs-simple-httpd
3366 (package
3367 (name "emacs-simple-httpd")
3368 (version "1.5.1")
3369 (source
3370 (origin
3371 (method git-fetch)
3372 (uri (git-reference
3373 (url "https://github.com/skeeto/emacs-web-server.git")
3374 (commit version)))
3375 (file-name (git-file-name name version))
3376 (sha256
3377 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
3378 (build-system emacs-build-system)
3379 (home-page "https://github.com/skeeto/emacs-web-server")
3380 (synopsis "HTTP server in pure Emacs Lisp")
3381 (description
3382 "This package provides a simple HTTP server written in Emacs Lisp to
3383 serve files and directory listings.")
3384 (license license:unlicense)))
3385
3386 (define-public emacs-skewer-mode
3387 (package
3388 (name "emacs-skewer-mode")
3389 (version "1.8.0")
3390 (source
3391 (origin
3392 (method git-fetch)
3393 (uri (git-reference
3394 (url "https://github.com/skeeto/skewer-mode.git")
3395 (commit version)))
3396 (file-name (git-file-name name version))
3397 (sha256
3398 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
3399 (build-system emacs-build-system)
3400 (propagated-inputs
3401 `(("emacs-simple-httpd" ,emacs-simple-httpd)
3402 ("emacs-js2-mode" ,emacs-js2-mode)))
3403 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
3404 (home-page "https://github.com/skeeto/skewer-mode")
3405 (synopsis "Live web development in Emacs")
3406 (description
3407 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
3408 a web browser. Expressions are sent on-the-fly from an editing buffer to be
3409 evaluated in the browser, just like Emacs does with an inferior Lisp process
3410 in Lisp modes.")
3411 (license license:unlicense)))
3412
3413 (define-public emacs-litable
3414 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
3415 (package
3416 (name "emacs-litable")
3417 (version (git-version "0.1" "0" commit))
3418 (source (origin
3419 (method git-fetch)
3420 (uri (git-reference
3421 (url "https://github.com/Fuco1/litable.git")
3422 (commit commit)))
3423 (file-name (git-file-name name version))
3424 (sha256
3425 (base32
3426 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
3427 (build-system emacs-build-system)
3428 (propagated-inputs
3429 `(("emacs-dash" ,emacs-dash)))
3430 (home-page "https://github.com/Fuco1/litable/")
3431 (synopsis "Dynamic evaluation replacement with Emacs")
3432 (description "This package provides dynamic evaluation in Emacs.")
3433 (license license:gpl3+))))
3434
3435 (define-public emacs-string-inflection
3436 (package
3437 (name "emacs-string-inflection")
3438 (version "1.0.6")
3439 (source (origin
3440 (method git-fetch)
3441 (uri (git-reference
3442 (url "https://github.com/akicho8/string-inflection")
3443 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
3444 (file-name (git-file-name name version))
3445 (sha256
3446 (base32
3447 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
3448 (build-system emacs-build-system)
3449 (native-inputs
3450 `(("ert-runner" ,emacs-ert-runner)))
3451 (arguments
3452 `(#:tests? #t
3453 #:test-command '("ert-runner")))
3454 (home-page "https://github.com/akicho8/string-inflection")
3455 (synopsis "Convert symbol names between different naming conventions")
3456 (description
3457 "This Emacs package provides convenient methods for manipulating the
3458 naming style of a symbol. It supports different naming conventions such as:
3459
3460 @enumerate
3461 @item camel case
3462 @item Pascal case
3463 @item all upper case
3464 @item lower case separated by underscore
3465 @item etc...
3466 @end enumerate\n")
3467 (license license:gpl2+)))
3468
3469 (define-public emacs-stripe-buffer
3470 (package
3471 (name "emacs-stripe-buffer")
3472 (version "0.2.5")
3473 (source
3474 (origin
3475 (method git-fetch)
3476 (uri (git-reference
3477 (url "https://github.com/sabof/stripe-buffer.git")
3478 (commit version)))
3479 (file-name (git-file-name name version))
3480 (sha256
3481 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
3482 (build-system emacs-build-system)
3483 (home-page "https://github.com/sabof/stripe-buffer/")
3484 (synopsis "Add stripes to list buffers")
3485 (description
3486 "This Emacs package adds faces to add stripes to list buffers and org
3487 tables.")
3488 (license license:gpl2+)))
3489
3490 (define-public emacs-org-rich-yank
3491 (package
3492 (name "emacs-org-rich-yank")
3493 (version "0.2.1")
3494 (source
3495 (origin
3496 (method git-fetch)
3497 (uri (git-reference
3498 (url "https://github.com/unhammer/org-rich-yank.git")
3499 (commit (string-append "v" version))))
3500 (file-name (git-file-name name version))
3501 (sha256
3502 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
3503 (build-system emacs-build-system)
3504 (home-page "https://github.com/unhammer/org-rich-yank")
3505 (synopsis "Automatically surround source code pasted into Org with
3506 @code{#+BEGIN_SRC} blocks")
3507 (description
3508 "This package provides a utility function for Org buffers that makes a
3509 @code{_SRC} block with the appropriate language annotation for code that has
3510 been copied from an Emacs major mode.")
3511 (license license:gpl2+)))
3512
3513 (define-public emacs-ob-restclient
3514 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
3515 (package
3516 (name "emacs-ob-restclient")
3517 (version (git-version "0.02" "1" commit))
3518 (source
3519 (origin
3520 (method git-fetch)
3521 (uri (git-reference
3522 (url "https://github.com/alf/ob-restclient.el.git")
3523 (commit commit)))
3524 (file-name (git-file-name name version))
3525 (sha256
3526 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
3527 (propagated-inputs
3528 `(("emacs-restclient" ,emacs-restclient)))
3529 (build-system emacs-build-system)
3530 (home-page "https://github.com/alf/ob-restclient.el")
3531 (synopsis "Org-babel functionality for @code{restclient-mode}")
3532 (description
3533 "This package integrates @code{restclient-mode} with Org.")
3534 (license license:gpl3+))))
3535
3536 (define-public emacs-org-now
3537 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
3538 (package
3539 (name "emacs-org-now")
3540 (version (git-version "0.1-pre" "1" commit))
3541 (source
3542 (origin
3543 (method git-fetch)
3544 (uri (git-reference
3545 (url "https://github.com/alphapapa/org-now.git")
3546 (commit commit)))
3547 (file-name (git-file-name name version))
3548 (sha256
3549 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
3550 (propagated-inputs
3551 `(("emacs-dash" ,emacs-dash)))
3552 (build-system emacs-build-system)
3553 (home-page "https://github.com/alphapapa/org-now")
3554 (synopsis "Show current Org tasks in a sidebar")
3555 (description
3556 "This package provides commands to show Org headings in a sidebar
3557 window while working on them. After defining one heading as the \"now\"
3558 heading, other headings can be refiled to it with one command, and back to
3559 their original location with another.")
3560 (license license:gpl3+))))
3561
3562 (define-public emacs-rich-minority
3563 (package
3564 (name "emacs-rich-minority")
3565 (version "1.0.3")
3566 (source
3567 (origin
3568 (method git-fetch)
3569 (uri (git-reference
3570 (url "https://github.com/Malabarba/rich-minority.git")
3571 (commit version)))
3572 (file-name (git-file-name name version))
3573 (sha256
3574 (base32
3575 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
3576 (build-system emacs-build-system)
3577 (home-page "https://github.com/Malabarba/rich-minority")
3578 (synopsis "Clean-up and beautify the list of minor modes")
3579 (description
3580 "This Emacs package hides and/or highlights minor modes in the
3581 mode-line.")
3582 (license license:gpl2+)))
3583
3584 (define-public emacs-robe
3585 (package
3586 (name "emacs-robe")
3587 (version "0.8.2")
3588 (source
3589 (origin
3590 (method git-fetch)
3591 (uri (git-reference
3592 (url "https://github.com/dgutov/robe.git")
3593 (commit version)))
3594 (file-name (git-file-name name version))
3595 (sha256
3596 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
3597 (build-system emacs-build-system)
3598 (arguments
3599 '(#:include (cons "^lib\\/" %default-include)))
3600 (propagated-inputs
3601 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
3602 (home-page "https://github.com/dgutov/robe")
3603 (synopsis "Ruby code assistance tool for Emacs")
3604 (description
3605 "Robe can provide information on loaded classes and modules in Ruby code,
3606 as well as where methods are defined. This allows the user to jump to method
3607 definitions, modules and classes, display method documentation and provide
3608 method and constant name completion.")
3609 (license license:gpl3+)))
3610
3611 (define-public emacs-robot-mode
3612 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
3613 (revision "1"))
3614 (package
3615 (name "emacs-robot-mode")
3616 (version (git-version "0.0.0" revision commit))
3617 (source (origin
3618 (method git-fetch)
3619 (uri (git-reference
3620 ;; A better maintained fork of robot-mode.
3621 (url "https://github.com/jvalkeejarvi/robot-mode.git")
3622 (commit commit)))
3623 (file-name (git-file-name name version))
3624 (sha256
3625 (base32
3626 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
3627 (build-system emacs-build-system)
3628 (propagated-inputs `(("emacs-s" ,emacs-s)))
3629 (home-page "https://github.com/jvalkeejarvi/robot-mode")
3630 (synopsis "Emacs mode for Robot Framework")
3631 (description "This major mode facilitates editing Robot Framework source
3632 files with features such as syntax highlighting, comments, finding keywords,
3633 completing keywords and smart indentation.")
3634 (license license:gpl3+))))
3635
3636 (define-public emacs-rspec
3637 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
3638 (revision "1"))
3639 (package
3640 (name "emacs-rspec")
3641 (version (git-version "1.11" revision commit))
3642 (source
3643 (origin
3644 (method git-fetch)
3645 (uri (git-reference
3646 (url "https://github.com/pezra/rspec-mode.git")
3647 (commit commit)))
3648 (file-name (git-file-name name version))
3649 (sha256
3650 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
3651 (build-system emacs-build-system)
3652 (arguments
3653 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
3654 #:tests? #t
3655 #:test-command '("make" "test")))
3656 (home-page "https://github.com/pezra/rspec-mode")
3657 (synopsis "Provides a rspec mode for working with RSpec")
3658 (description
3659 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
3660 verify the spec associated with the current buffer, or entire project, as well
3661 as moving between the spec files, and corresponding code files.
3662
3663 Also included are keybindings for spec files and Dired buffers, as well as
3664 snippets for yasnippet.")
3665 (license license:gpl3+))))
3666
3667 (define-public emacs-smart-mode-line
3668 (package
3669 (name "emacs-smart-mode-line")
3670 (version "2.13")
3671 (source
3672 (origin
3673 (method git-fetch)
3674 (uri (git-reference
3675 (url "https://github.com/Malabarba/smart-mode-line.git")
3676 (commit version)))
3677 (file-name (git-file-name name version))
3678 (sha256
3679 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
3680 (build-system emacs-build-system)
3681 (propagated-inputs
3682 `(("emacs-rich-minority" ,emacs-rich-minority)))
3683 (home-page "https://github.com/Malabarba/smart-mode-line")
3684 (synopsis "Color-coded smart mode-line")
3685 (description
3686 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
3687 read from small to large monitors by using colors, a prefix feature, and smart
3688 truncation.")
3689 (license license:gpl2+)))
3690
3691 (define-public emacs-sr-speedbar
3692 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
3693 (revision "0"))
3694 (package
3695 (name "emacs-sr-speedbar")
3696 (version (git-version "20161025" revision commit))
3697 (source
3698 (origin
3699 (method git-fetch)
3700 (uri (git-reference
3701 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3702 (commit commit)))
3703 (file-name (git-file-name name version))
3704 (sha256
3705 (base32
3706 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3707 (build-system emacs-build-system)
3708 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3709 (synopsis "Same frame Emacs @code{speedbar}")
3710 (description
3711 "This Emacs package allows you to show @code{M-x speedbar} in the
3712 same frame (in an extra window). You can customize the initial width of
3713 the speedbar window.")
3714 (license license:gpl3+))))
3715
3716 (define-public emacs-shell-switcher
3717 (package
3718 (name "emacs-shell-switcher")
3719 (version "1.0.1")
3720 (source
3721 (origin
3722 (method git-fetch)
3723 (uri (git-reference
3724 (url "https://github.com/DamienCassou/shell-switcher.git")
3725 (commit (string-append "v" version))))
3726 (file-name (git-file-name name version))
3727 (sha256
3728 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3729 (build-system emacs-build-system)
3730 (home-page "https://github.com/DamienCassou/shell-switcher")
3731 (synopsis "Provide fast switching between shell buffers")
3732 (description
3733 "This package provides commands to quickly switch between shell buffers.")
3734 (license license:gpl3+)))
3735
3736 (define-public emacs-names
3737 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3738 (version "20151201.0")
3739 (revision "8"))
3740 (package
3741 (name "emacs-names")
3742 (version (git-version version revision commit))
3743 (source
3744 (origin
3745 (method git-fetch)
3746 (uri (git-reference
3747 (url "https://github.com/Malabarba/names")
3748 (commit commit)))
3749 (file-name (git-file-name name version))
3750 (sha256
3751 (base32
3752 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3753 (build-system emacs-build-system)
3754 (home-page "https://github.com/Malabarba/names/")
3755 (synopsis "Namespace implementation for Emacs Lisp")
3756 (description
3757 "This package provides a macro that writes your namespaces for you.")
3758 (license license:gpl3+))))
3759
3760 (define-public emacs-evil-leader
3761 (package
3762 (name "emacs-evil-leader")
3763 (version "0.4.3")
3764 (source
3765 (origin
3766 (method git-fetch)
3767 (uri
3768 (git-reference
3769 (url "https://github.com/cofi/evil-leader")
3770 (commit version)))
3771 (file-name (git-file-name name version))
3772 (sha256
3773 (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5"))))
3774 (inputs
3775 `(("emacs-evil" ,emacs-evil)))
3776 (build-system emacs-build-system)
3777 (home-page "https://github.com/cofi/evil-leader")
3778 (synopsis "Implement <leader> feature from Vim")
3779 (description
3780 "Evil Leader provides the @code{<leader>} feature from Vim that provides
3781 an easy way to bind keys under a configurable prefix key.")
3782 (license license:gpl3+)))
3783
3784 (define-public emacs-evil-textobj-syntax
3785 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3786 (version "0")
3787 (revision "1"))
3788 (package
3789 (name "emacs-evil-textobj-syntax")
3790 (version (git-version version revision commit))
3791 (source
3792 (origin
3793 (method git-fetch)
3794 (uri (git-reference
3795 (url "https://github.com/laishulu/evil-textobj-syntax/")
3796 (commit commit)))
3797 (file-name (git-file-name name version))
3798 (sha256
3799 (base32
3800 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3801 (build-system emacs-build-system)
3802 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3803 ("emacs-names" ,emacs-names)))
3804 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3805 (synopsis "Text objects based on syntax highlighting")
3806 (description
3807 "This package provides text objects for @code{evil-mode} with
3808 boundaries defined by syntax highlighting.")
3809 (license license:gpl3+))))
3810
3811 (define-public emacs-flycheck-flow
3812 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3813 (version "1.1")
3814 (revision "1"))
3815 (package
3816 (name "emacs-flycheck-flow")
3817 (version (git-version version revision commit))
3818 (source
3819 (origin
3820 (method git-fetch)
3821 (uri (git-reference
3822 (url "https://github.com/lbolla/emacs-flycheck-flow")
3823 (commit commit)))
3824 (file-name (git-file-name name version))
3825 (sha256
3826 (base32
3827 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3828 (build-system emacs-build-system)
3829 (propagated-inputs
3830 `(("emacs-flycheck" ,emacs-flycheck)))
3831 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3832 (synopsis "Flow support for @code{flycheck-mode}")
3833 (description
3834 "This package allows @code{flycheck-mode} to provide syntax-checking
3835 for Flow files.")
3836 (license license:gpl3+))))
3837
3838 (define-public emacs-flycheck-grammalecte
3839 (package
3840 (name "emacs-flycheck-grammalecte")
3841 (version "1.2")
3842 (source
3843 (origin
3844 (method url-fetch)
3845 (uri (string-append "https://git.deparis.io/"
3846 "flycheck-grammalecte/snapshot/"
3847 "flycheck-grammalecte-" version ".tar.xz"))
3848 (sha256
3849 (base32 "1mzmzyik843r4j0ibpwqrxmb0g4xmirrf3lxr010bddkmmxf749a"))))
3850 (build-system emacs-build-system)
3851 (arguments
3852 `(#:include '("\\.(el|py)$")
3853 #:exclude '("^test-profile.el$")
3854 #:emacs ,emacs ;need libxml support
3855 #:phases
3856 (modify-phases %standard-phases
3857 (add-after 'unpack 'specify-python-location
3858 ;; Hard-code python3 executable location in the library.
3859 (lambda* (#:key inputs #:allow-other-keys)
3860 (let ((python3 (string-append (assoc-ref inputs "python")
3861 "/bin/python3")))
3862 (substitute* "flycheck-grammalecte.el"
3863 (("\"python3") (string-append "\"" python3)))
3864 (substitute* '("conjugueur.py" "flycheck-grammalecte.py")
3865 (("/usr/bin/env python3?") python3))
3866 #t)))
3867 (add-before 'build 'link-to-grammalecte
3868 ;; XXX: The Python part of the package requires grammalecte, but
3869 ;; the library is not specified in PYTHONPATH, since we're not
3870 ;; using Python build system. As a workaround, we symlink
3871 ;; grammalecte libraries here.
3872 (lambda* (#:key inputs outputs #:allow-other-keys)
3873 (let* ((out (assoc-ref outputs "out"))
3874 (grammalecte (assoc-ref inputs "grammalecte"))
3875 (version ,(version-major+minor (package-version python))))
3876 (with-directory-excursion
3877 (string-append out "/share/emacs/site-lisp")
3878 (symlink (string-append grammalecte "/lib/"
3879 "python" version "/site-packages/"
3880 "grammalecte")
3881 "grammalecte"))
3882 #t))))))
3883 (inputs
3884 `(("grammalecte" ,grammalecte)
3885 ("python" ,python)))
3886 (propagated-inputs
3887 `(("emacs-flycheck" ,emacs-flycheck)))
3888 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3889 (synopsis "Integrate Grammalecte with Flycheck")
3890 (description
3891 "Integrate the French grammar and typography checker Grammalecte with
3892 Flycheck to automatically look for mistakes in your writings. It also
3893 provides an easy way to find synonyms and antonyms for a given word (to avoid
3894 repetitions for example).")
3895 (license license:gpl3+)))
3896
3897 (define-public emacs-flycheck-rust
3898 (package
3899 (name "emacs-flycheck-rust")
3900 (version "1.1")
3901 (source
3902 (origin
3903 (method git-fetch)
3904 (uri
3905 (git-reference
3906 (url "https://github.com/flycheck/flycheck-rust")
3907 (commit version)))
3908 (file-name (git-file-name name version))
3909 (sha256
3910 (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"))))
3911 (propagated-inputs
3912 `(("emacs-dash" ,emacs-dash)
3913 ("emacs-flycheck" ,emacs-flycheck)
3914 ("emacs-let-alist" ,emacs-let-alist)))
3915 (build-system emacs-build-system)
3916 (home-page "https://github.com/flycheck/flycheck-rust")
3917 (synopsis "Rust/Cargo support for Flycheck")
3918 (description
3919 "This Flycheck extension configures Flycheck automatically for
3920 the current Cargo project.")
3921 (license license:gpl3+)))
3922
3923 (define-public emacs-elisp-demos
3924 (package
3925 (name "emacs-elisp-demos")
3926 (version "2020.02.19")
3927 (source
3928 (origin
3929 (method git-fetch)
3930 (uri (git-reference
3931 (url "https://github.com/xuchunyang/elisp-demos")
3932 (commit version)))
3933 (file-name (git-file-name name version))
3934 (sha256
3935 (base32
3936 "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc"))))
3937 (build-system emacs-build-system)
3938 (arguments
3939 `(#:include '("\\.el$" "\\.org$")
3940 #:tests? #t
3941 #:test-command '("make" "test")))
3942 (home-page "https://github.com/xuchunyang/elisp-demos/")
3943 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3944 (description
3945 "This package injects example uses of Elisp functions into their
3946 respective @code{*Help*} buffers.")
3947 (license license:gpl3+)))
3948
3949 (define-public emacs-docker-compose-mode
3950 (package
3951 (name "emacs-docker-compose-mode")
3952 (version "1.1.0")
3953 (source
3954 (origin
3955 (method git-fetch)
3956 (uri (git-reference
3957 (url "https://github.com/meqif/docker-compose-mode")
3958 (commit version)))
3959 (file-name (git-file-name name version))
3960 (sha256
3961 (base32
3962 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3963 (build-system emacs-build-system)
3964 (propagated-inputs
3965 `(("emacs-dash" ,emacs-dash)
3966 ("emacs-f" ,emacs-f)))
3967 (home-page "https://github.com/meqif/docker-compose-mode/")
3968 (synopsis "Major mode for editing @file{docker-compose} files")
3969 (description
3970 "This is a major mode for @file{docker-compose} files that provides
3971 completion of relevant keywords.")
3972 (license license:expat)))
3973
3974 (define-public emacs-sudo-edit
3975 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3976 (revision "6"))
3977 (package
3978 (name "emacs-sudo-edit")
3979 (version (git-version "0.1.0" revision commit))
3980 (source
3981 (origin
3982 (method git-fetch)
3983 (uri (git-reference
3984 (url "https://github.com/nflath/sudo-edit")
3985 (commit commit)))
3986 (file-name (git-file-name name version))
3987 (sha256
3988 (base32
3989 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3990 (build-system emacs-build-system)
3991 (native-inputs
3992 `(("emacs-undercover" ,emacs-undercover)))
3993 (arguments
3994 `(#:phases
3995 (modify-phases %standard-phases
3996 (add-before 'check 'fix-makefile
3997 (lambda _
3998 (substitute* "Makefile"
3999 (("\\$\\(CASK\\) exec ") ""))
4000 #t)))
4001 #:tests? #t
4002 #:test-command '("make" "test")))
4003 (home-page "https://github.com/nflath/sudo-edit/")
4004 (synopsis "Open files as another user")
4005 (description
4006 "This package allows editing files as another user, including the root
4007 user.")
4008 (license license:gpl3+))))
4009
4010 (define-public emacs-miniedit
4011 (package
4012 (name "emacs-miniedit")
4013 (version "2.0")
4014 (source
4015 (origin
4016 (method git-fetch)
4017 (uri (git-reference
4018 (url "https://github.com/emacsmirror/miniedit")
4019 (commit version)))
4020 (file-name (git-file-name name version))
4021 (sha256
4022 (base32
4023 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
4024 (build-system emacs-build-system)
4025 (home-page "https://github.com/emacsmirror/miniedit/")
4026 (synopsis "Enhanced editing for minibuffer fields")
4027 (description
4028 "This package provides a function that can be called from the
4029 minibuffer to enable editing the minibuffer input in another buffer with
4030 @code{text-mode} enabled.")
4031 (license license:gpl2+)))
4032
4033 (define-public emacs-ob-ipython
4034 (package
4035 (name "emacs-ob-ipython")
4036 (version "20180224")
4037 (source (origin
4038 (method git-fetch)
4039 (uri (git-reference
4040 (commit "7147455230841744fb5b95dcbe03320313a77124")
4041 (url "https://github.com/gregsexton/ob-ipython.git")))
4042 (file-name (git-file-name name version))
4043 (sha256
4044 (base32
4045 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
4046 (build-system emacs-build-system)
4047 (propagated-inputs
4048 `(("emacs-f" ,emacs-f)))
4049 (home-page "http://www.gregsexton.org")
4050 (synopsis "Org-Babel functions for IPython evaluation")
4051 (description "This package adds support to Org-Babel for evaluating Python
4052 source code using IPython.")
4053 (license license:gpl3+)))
4054
4055 (define-public emacs-debbugs
4056 (package
4057 (name "emacs-debbugs")
4058 (version "0.22")
4059 (source (origin
4060 (method url-fetch)
4061 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
4062 version ".tar"))
4063 (sha256
4064 (base32
4065 "05ik9qv539b5c1nzxkk3lk23bqj4vqgmfmd8x367abhb7c9gix2z"))))
4066 (build-system emacs-build-system)
4067 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
4068 (propagated-inputs
4069 `(("emacs-async" ,emacs-async)))
4070 (home-page "https://elpa.gnu.org/packages/debbugs.html")
4071 (synopsis "Access the Debbugs bug tracker in Emacs")
4072 (description
4073 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
4074 Tracker} from within Emacs.
4075
4076 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
4077 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
4078 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
4079 @code{M-x debbugs-org} and related commands.
4080
4081 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
4082 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
4083 (license license:gpl3+)))
4084
4085 (define-public emacs-ert-expectations
4086 (package
4087 (name "emacs-ert-expectations")
4088 (version "0.2")
4089 (source
4090 (origin
4091 (method url-fetch)
4092 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
4093 (sha256
4094 (base32
4095 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
4096 (build-system emacs-build-system)
4097 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
4098 (synopsis "Simple unit test framework for Emacs Lisp")
4099 (description "@code{emacs-ert-expectations} is a simple unit test
4100 framework for Emacs Lisp to be used with @code{ert}.")
4101 (license license:gpl3+)))
4102
4103 (define-public emacs-deferred
4104 (package
4105 (name "emacs-deferred")
4106 (version "0.5.1")
4107 (home-page "https://github.com/kiwanami/emacs-deferred")
4108 (source (origin
4109 (method git-fetch)
4110 (uri (git-reference
4111 (url home-page)
4112 (commit (string-append "v" version))))
4113 (file-name (git-file-name name version))
4114 (sha256
4115 (base32
4116 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
4117 (build-system emacs-build-system)
4118 (arguments
4119 `(#:phases
4120 (modify-phases %standard-phases
4121 (add-after 'unpack 'set-shell
4122 ;; Setting the SHELL environment variable is required for the tests
4123 ;; to find sh.
4124 (lambda _
4125 (setenv "SHELL" (which "sh"))
4126 #t))
4127 (add-before 'check 'fix-makefile
4128 (lambda _
4129 (substitute* "Makefile"
4130 (("\\$\\(CASK\\) exec ") ""))
4131 #t)))
4132 #:tests? #t
4133 #:test-command '("make" "test")))
4134 (native-inputs
4135 `(("emacs-ert-expectations" ,emacs-ert-expectations)
4136 ("emacs-undercover" ,emacs-undercover)
4137 ("ert-runner" ,emacs-ert-runner)))
4138 (synopsis "Simple asynchronous functions for Emacs Lisp")
4139 (description
4140 "The @code{deferred.el} library provides support for asynchronous tasks.
4141 The API is almost the same as that of
4142 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
4143 for asynchronous tasks.")
4144 (license license:gpl3+)))
4145
4146 (define-public emacs-butler
4147 (package
4148 (name "emacs-butler")
4149 (version "0.2.4")
4150 (home-page "https://github.com/AshtonKem/Butler")
4151 (source (origin
4152 (method git-fetch)
4153 (uri (git-reference
4154 (url home-page)
4155 (commit version)))
4156 (file-name (git-file-name name version))
4157 (sha256
4158 (base32
4159 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
4160 (build-system emacs-build-system)
4161 (propagated-inputs
4162 `(("emacs-deferred" ,emacs-deferred)))
4163 (synopsis "Emacs client for Jenkins")
4164 (description
4165 "Butler provides an interface to connect to Jenkins continuous
4166 integration servers. Users can specify a list of server in the
4167 @code{butler-server-list} variable and then use @code{M-x butler-status} to
4168 view the build status of those servers' build jobs, and possibly to trigger
4169 build jobs.")
4170 (license license:gpl3+)))
4171
4172 (define-public emacs-company
4173 (package
4174 (name "emacs-company")
4175 (version "0.9.12")
4176 (source
4177 (origin
4178 (method git-fetch)
4179 (uri (git-reference
4180 (url "https://github.com/company-mode/company-mode.git")
4181 (commit version)))
4182 (file-name (git-file-name name version))
4183 (sha256
4184 (base32 "0c31amc6gyfkmb1ii6mm56c75za1yxkj2iyhrjc45nn2mrh7yj7a"))))
4185 (build-system emacs-build-system)
4186 (arguments
4187 `(#:phases
4188 (modify-phases %standard-phases
4189 (add-before 'check 'fix-bin-dir
4190 (lambda _
4191 ;; The company-files-candidates-normal-root test looks
4192 ;; for the /bin directory, but the build environment has
4193 ;; no /bin directory. Modify the test to look for the
4194 ;; /tmp directory.
4195 (substitute* "test/files-tests.el"
4196 (("/bin/") "/tmp/"))
4197 #t)))
4198 #:tests? #t
4199 #:test-command '("make" "test-batch")))
4200 (home-page "https://company-mode.github.io/")
4201 (synopsis "Modular text completion framework")
4202 (description
4203 "Company is a modular completion mechanism. Modules for retrieving
4204 completion candidates are called back-ends, modules for displaying them are
4205 front-ends. Company comes with many back-ends, e.g., @code{company-elisp}.
4206 These are distributed in separate files and can be used individually.")
4207 (license license:gpl3+)))
4208
4209 (define-public emacs-company-posframe
4210 (let ((version "0.1.0")
4211 (revision "1")
4212 (commit "67d899502384fb9ab2870aba0af41523dea7b64f"))
4213 (package
4214 (name "emacs-company-posframe")
4215 (version (git-version version revision commit))
4216 (source (origin
4217 (method git-fetch)
4218 (uri (git-reference
4219 (url "https://github.com/tumashu/company-posframe.git")
4220 (commit commit)))
4221 (file-name (git-file-name name version))
4222 (sha256
4223 (base32
4224 "051smlvz1siwglsd9k9l0m20mygrx4niflmyshha0064287aysxr"))))
4225 (build-system emacs-build-system)
4226 (propagated-inputs
4227 `(("emacs-company" ,emacs-company)
4228 ("emacs-posframe" ,emacs-posframe)))
4229 (home-page "https://github.com/tumashu/company-posframe")
4230 (synopsis "Use a posframe for @code{emacs-company}'s candidate menu")
4231 (description
4232 "Allows @code{emacs-company} to use child frames for its candidate menus.
4233
4234 @code{emacs-company-posframe} is fast enough for daily use and supports CJK
4235 languages.")
4236 (license license:gpl3+))))
4237
4238 (define-public emacs-irony-mode
4239 (package
4240 (name "emacs-irony-mode")
4241 (version "1.4.0")
4242 (home-page "https://github.com/Sarcasm/irony-mode")
4243 (source (origin
4244 (method git-fetch)
4245 (uri (git-reference
4246 (url (string-append home-page ".git"))
4247 (commit (string-append "v" version))))
4248 (file-name (git-file-name name version))
4249 (sha256
4250 (base32
4251 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
4252 (build-system emacs-build-system)
4253 (inputs `(("server" ,emacs-irony-mode-server)))
4254 (arguments `(#:phases
4255 (modify-phases %standard-phases
4256 (add-after 'unpack 'configure
4257 (lambda* (#:key inputs #:allow-other-keys)
4258 (chmod "irony.el" #o644)
4259 (emacs-substitute-variables "irony.el"
4260 ("irony-server-install-prefix"
4261 (assoc-ref inputs "server")))
4262 #t)))))
4263 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
4264 (description "Irony-mode provides Clang-assisted syntax checking and
4265 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
4266 provide syntax checking and autocompletion on compiler level which is very
4267 resistant against false positives. It also integrates well with other
4268 packages like @code{eldoc-mode} and especially @code{company-mode} as
4269 described on the homepage.")
4270 (license license:gpl3+)))
4271
4272 (define-public emacs-irony-mode-server
4273 (package (inherit emacs-irony-mode)
4274 (name "emacs-irony-mode-server")
4275 (inputs
4276 `(("clang" ,clang)))
4277 (arguments
4278 `(#:phases
4279 (modify-phases %standard-phases
4280 (replace 'configure
4281 (lambda* (#:key outputs #:allow-other-keys)
4282 (let ((out (assoc-ref outputs "out")))
4283 (invoke "cmake"
4284 "server"
4285 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
4286 (build-system cmake-build-system)
4287 (synopsis "Server for the Emacs @dfn{irony mode}")))
4288
4289 (define-public emacs-company-irony
4290 (package
4291 (name "emacs-company-irony")
4292 (version "1.1.0")
4293 (source (origin
4294 (method git-fetch)
4295 (uri (git-reference
4296 (url "https://github.com/Sarcasm/company-irony.git")
4297 (commit (string-append "v" version))))
4298 (sha256 (base32
4299 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
4300 (file-name (git-file-name name version))))
4301 (build-system emacs-build-system)
4302 (inputs
4303 `(("emacs-irony-mode" ,emacs-irony-mode)
4304 ("emacs-company" ,emacs-company)))
4305 (synopsis "C++ completion backend for Company using irony-mode")
4306 (description "This backend for company-mode allows for C++ code completion
4307 with irony-mode using clang-tooling.")
4308 (home-page "https://github.com/Sarcasm/company-irony")
4309 (license license:gpl3+)))
4310
4311 (define-public emacs-flycheck-irony
4312 (package
4313 (name "emacs-flycheck-irony")
4314 (version "0.1.0")
4315 (source (origin
4316 (method git-fetch)
4317 (uri (git-reference
4318 (url "https://github.com/Sarcasm/flycheck-irony.git")
4319 (commit (string-append "v" version))))
4320 (file-name (git-file-name name version))
4321 (sha256
4322 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
4323 (build-system emacs-build-system)
4324 (inputs
4325 `(("irony-mode" ,emacs-irony-mode)
4326 ("flycheck-mode" ,emacs-flycheck)
4327 ("emacs-company" ,emacs-company)))
4328 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
4329 (description "This package provides a frontend for Flycheck that lets
4330 irony-mode do the syntax checking.")
4331 (home-page "https://github.com/Sarcasm/flycheck-irony")
4332 (license license:gpl3+)))
4333
4334 (define-public emacs-irony-eldoc
4335 (package
4336 (name "emacs-irony-eldoc")
4337 (version (package-version emacs-irony-mode))
4338 (source
4339 (origin
4340 (method git-fetch)
4341 (uri (git-reference
4342 (url "https://github.com/ikirill/irony-eldoc.git")
4343 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
4344 (file-name (git-file-name name version))
4345 (sha256
4346 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
4347 (build-system emacs-build-system)
4348 (inputs
4349 `(("irony-mode" ,emacs-irony-mode)))
4350 (synopsis "Eldoc integration for irony-mode")
4351 (description "Irony-eldoc is an eldoc extension that shows documentation
4352 for the current function or variable in the minibuffer.")
4353 (home-page "https://github.com/ikirill/irony-eldoc")
4354 (license license:gpl3+)))
4355
4356 (define-public emacs-company-quickhelp
4357 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
4358 ;; so we use the latest 2.2.0 commit instead
4359 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
4360 (revision "1"))
4361 (package
4362 (name "emacs-company-quickhelp")
4363 (version (git-version "2.2.0" revision commit))
4364 (source
4365 (origin
4366 (method git-fetch)
4367 (uri (git-reference
4368 (url "https://github.com/expez/company-quickhelp.git")
4369 (commit commit)))
4370 (file-name (git-file-name name version))
4371 (sha256
4372 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
4373 (build-system emacs-build-system)
4374 (propagated-inputs
4375 `(("emacs-pos-tip" ,emacs-pos-tip)
4376 ("emacs-company" ,emacs-company)))
4377 (home-page "https://github.com/expez/company-quickhelp")
4378 (synopsis "Popup documentation for completion candidates")
4379 (description "@code{company-quickhelp} shows documentation for the
4380 completion candidate when using the Company text completion framework.")
4381 (license license:gpl3+))))
4382
4383 (define-public emacs-math-symbol-lists
4384 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
4385 (revision "1"))
4386 (package
4387 (name "emacs-math-symbol-lists")
4388 (version (git-version "1.2.1" revision commit))
4389 (source
4390 (origin
4391 (method git-fetch)
4392 (uri (git-reference
4393 (url "https://github.com/vspinu/math-symbol-lists.git")
4394 (commit commit)))
4395 (file-name (git-file-name name version))
4396 (sha256
4397 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
4398 (build-system emacs-build-system)
4399 (home-page "https://github.com/vspinu/math-symbol-lists")
4400 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
4401 (description "This is a storage package used by completion engines like
4402 @code{company-math}.")
4403 (license license:gpl3+))))
4404
4405 (define-public emacs-company-coq
4406 (package
4407 (name "emacs-company-coq")
4408 (version "1.0.1")
4409 (source
4410 (origin
4411 (method git-fetch)
4412 (uri
4413 (git-reference
4414 (url "https://github.com/cpitclaudel/company-coq")
4415 (commit version)))
4416 (file-name (git-file-name name version))
4417 (sha256
4418 (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b"))))
4419 (inputs
4420 `(("emacs-company" ,emacs-company)
4421 ("emacs-company-math" ,emacs-company-math)
4422 ("emacs-dash" ,emacs-dash)
4423 ("emacs-yasnippet" ,emacs-yasnippet)))
4424 (build-system emacs-build-system)
4425 (home-page "https://github.com/cpitclaudel/company-coq")
4426 (synopsis "Emacs extensions for Proof General's Coq mode")
4427 (description "This package includes a collection of Company mode backends
4428 for Proof-General's Coq mode, and many useful extensions to Proof-General. It
4429 features:
4430
4431 @itemize
4432 @item Prettification of operators, types, and subscripts,
4433 @item Auto-completion,
4434 @item Insertion of cases,
4435 @item Fully explicit intros,
4436 @item Outlines, code folding, and jumping to definition,
4437 @item Help with errors,
4438 @item and more.
4439 @end itemize")
4440 (license license:gpl3+)))
4441
4442 (define-public emacs-company-math
4443 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
4444 (revision "1"))
4445 (package
4446 (name "emacs-company-math")
4447 (version (git-version "1.3" revision commit))
4448 (source
4449 (origin
4450 (method git-fetch)
4451 (uri (git-reference
4452 (url "https://github.com/vspinu/company-math.git")
4453 (commit commit)))
4454 (file-name (git-file-name name version))
4455 (sha256
4456 (base32
4457 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
4458 (build-system emacs-build-system)
4459 (propagated-inputs
4460 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
4461 ("emacs-company" ,emacs-company)))
4462 (home-page "https://github.com/vspinu/company-math")
4463 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
4464 (description "This package provides a backend for use with
4465 @code{company-mode} allowing for completion of common math symbols.")
4466 (license license:gpl3+))))
4467
4468 (define-public emacs-compdef
4469 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
4470 (revision "2"))
4471 (package
4472 (name "emacs-compdef")
4473 (version (git-version "0.2" revision commit))
4474 (source
4475 (origin
4476 (method git-fetch)
4477 (uri (git-reference
4478 (url "https://gitlab.com/jjzmajic/compdef.git")
4479 (commit commit)))
4480 (file-name (git-file-name name version))
4481 (sha256
4482 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
4483 (build-system emacs-build-system)
4484 (home-page "https://gitlab.com/jjzmajic/compdef")
4485 (synopsis "Set local completion backends")
4486 (description "This package provides a function to cleanly set local
4487 completion backends according to mode, and integrates with
4488 @code{use-package}.")
4489 (license license:gpl3+))))
4490
4491 (define-public emacs-icomplete-vertical
4492 (package
4493 (name "emacs-icomplete-vertical")
4494 (version "0.1")
4495 (source
4496 (origin
4497 (method git-fetch)
4498 (uri (git-reference
4499 (url "https://github.com/oantolin/icomplete-vertical.git")
4500 (commit version)))
4501 (file-name (git-file-name name version))
4502 (sha256
4503 (base32
4504 "1bqnlvv1gvrjriazvzd3bq98r8ii6fqax0zznhvkl1ij5pf55a90"))))
4505 (build-system emacs-build-system)
4506 (home-page "https://github.com/oantolin/icomplete-vertical")
4507 (synopsis "Display icomplete candidates vertically")
4508 (description
4509 "This package defines a global minor mode to display Icomplete
4510 completion candidates vertically.")
4511 (license license:gpl3+)))
4512
4513 (define-public emacs-handle
4514 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
4515 (revision "2"))
4516 (package
4517 (name "emacs-handle")
4518 (version (git-version "0.1" revision commit))
4519 (source
4520 (origin
4521 (method git-fetch)
4522 (uri (git-reference
4523 (url "https://gitlab.com/jjzmajic/handle.git")
4524 (commit commit)))
4525 (file-name (git-file-name name version))
4526 (sha256
4527 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
4528 (build-system emacs-build-system)
4529 (propagated-inputs
4530 `(("emacs-parent-mode" ,emacs-parent-mode)))
4531 (home-page "https://gitlab.com/jjzmajic/handle")
4532 (synopsis "Handle generic functions across related major modes")
4533 (description "This package provides generic functions that specialize on
4534 major modes and intended purpose rather than on arguments. Different
4535 callables for tasks like expression evaluation, definition-jumping, and more
4536 can now be grouped accordingly and tried in sequence until one of them
4537 succeeds.")
4538 (license license:gpl3+))))
4539
4540 (define-public emacs-nswbuff
4541 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
4542 (revision "1"))
4543 (package
4544 (name "emacs-nswbuff")
4545 (version (git-version "1.0" revision commit))
4546 (source
4547 (origin
4548 (method git-fetch)
4549 (uri (git-reference
4550 (url "https://github.com/joostkremers/nswbuff.git")
4551 (commit commit)))
4552 (file-name (git-file-name name version))
4553 (sha256
4554 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
4555 (build-system emacs-build-system)
4556 (home-page "https://github.com/joostkremers/nswbuff")
4557 (synopsis "Quickly switch between buffers")
4558 (description "This package allows for navigating between buffers within
4559 a customizable list.")
4560 (license license:gpl3+))))
4561
4562 (define-public emacs-phi-search
4563 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
4564 (revision "1"))
4565 (package
4566 (name "emacs-phi-search")
4567 (version (git-version "20160630" revision commit))
4568 (source
4569 (origin
4570 (method git-fetch)
4571 (uri (git-reference
4572 (url "https://github.com/zk-phi/phi-search.git")
4573 (commit commit)))
4574 (file-name (git-file-name name version))
4575 (sha256
4576 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
4577 (build-system emacs-build-system)
4578 (home-page "https://github.com/zk-phi/phi-search")
4579 (synopsis "Interactive search compatible with @code{multiple-cursors}")
4580 (description "This package can be used with @code{multiple-cursors} to
4581 provide an incremental search that moves all fake cursors in sync.")
4582 (license license:gpl2+))))
4583
4584 (define-public emacs-phi-search-mc
4585 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
4586 (revision "1"))
4587 (package
4588 (name "emacs-phi-search-mc")
4589 (version (git-version "2.2.1" revision commit))
4590 (source
4591 (origin
4592 (method git-fetch)
4593 (uri (git-reference
4594 (url "https://github.com/knu/phi-search-mc.el.git")
4595 (commit commit)))
4596 (file-name (git-file-name name version))
4597 (sha256
4598 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
4599 (build-system emacs-build-system)
4600 (propagated-inputs
4601 `(("emacs-phi-search" ,emacs-phi-search)
4602 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4603 (home-page "https://github.com/knu/phi-search-mc.el")
4604 (synopsis "Extend @code{phi-search} with additional
4605 @code{multiple-cursors} functionality")
4606 (description "This package provides further integration between
4607 @code{multiple-cursors} and @code{phi-search}, a package that allows for
4608 interactive searches to move multiple fake cursors.")
4609 (license license:bsd-2))))
4610
4611 (define-public emacs-multiple-cursors
4612 (package
4613 (name "emacs-multiple-cursors")
4614 (version "1.4.0")
4615 (source
4616 (origin
4617 (method git-fetch)
4618 (uri (git-reference
4619 (url "https://github.com/magnars/multiple-cursors.el.git")
4620 (commit version)))
4621 (file-name (git-file-name name version))
4622 (sha256
4623 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
4624 (build-system emacs-build-system)
4625 (home-page "https://github.com/magnars/multiple-cursors.el")
4626 (synopsis "Multiple cursors for Emacs")
4627 (description
4628 "This package adds support to Emacs for editing text with multiple
4629 simultaneous cursors.")
4630 (license license:gpl3+)))
4631
4632 (define-public emacs-mc-extras
4633 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
4634 (revision "1"))
4635 (package
4636 (name "emacs-mc-extras")
4637 (version (git-version "1.2.4" revision commit))
4638 (source
4639 (origin
4640 (method git-fetch)
4641 (uri (git-reference
4642 (url "https://github.com/knu/mc-extras.el.git")
4643 (commit commit)))
4644 (file-name (git-file-name name version))
4645 (sha256
4646 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
4647 (build-system emacs-build-system)
4648 (propagated-inputs
4649 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4650 (home-page "https://github.com/knu/mc-extras.el")
4651 (synopsis "Extra functions for manipulating multiple cursors")
4652 (description
4653 "This package provides additional functions for
4654 @code{multiple-cursors}, including functions for marking s-expressions,
4655 comparing characters, removing cursors, and more.")
4656 (license license:bsd-2))))
4657
4658 (define-public emacs-typo
4659 (package
4660 (name "emacs-typo")
4661 (version "1.1")
4662 (home-page "https://github.com/jorgenschaefer/typoel")
4663 (source (origin
4664 (method git-fetch)
4665 (uri (git-reference
4666 (url home-page)
4667 (commit (string-append "v" version))))
4668 (file-name (git-file-name name version))
4669 (sha256
4670 (base32
4671 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
4672 (build-system emacs-build-system)
4673 (synopsis "Minor mode for typographic editing")
4674 (description
4675 "This package provides two Emacs modes, @code{typo-mode} and
4676 @code{typo-global-mode}. These modes automatically insert Unicode characters
4677 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
4678 automatically inserts a Unicode opening or closing quotation mark, depending
4679 on context.")
4680 (license license:gpl3+)))
4681
4682 (define-public emacs-company-lsp
4683 (package
4684 (name "emacs-company-lsp")
4685 (version "2.1.0")
4686 (source (origin
4687 (method git-fetch)
4688 (uri (git-reference
4689 (url "https://github.com/tigersoldier/company-lsp.git")
4690 (commit version)))
4691 (file-name (git-file-name name version))
4692 (sha256
4693 (base32
4694 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
4695 (build-system emacs-build-system)
4696 (propagated-inputs
4697 `(("emacs-dash" ,emacs-dash)
4698 ("emacs-lsp-mode" ,emacs-lsp-mode)
4699 ("emacs-company" ,emacs-company)
4700 ("emacs-s" ,emacs-s)
4701 ("emacs-dash" ,emacs-dash)))
4702 (native-inputs
4703 `(("emacs-buttercup" ,emacs-buttercup)))
4704 (arguments
4705 `(#:tests? #t
4706 #:test-command '("buttercup" "-L" ".")))
4707 (home-page "https://github.com/tigersoldier/company-lsp")
4708 (synopsis "Completion for @code{lsp-mode}")
4709 (description
4710 "This package provides completion features that are not possible with
4711 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
4712 characters and asynchronous fetching of completion candidates.")
4713 (license license:gpl3+)))
4714
4715 (define-public emacs-scheme-complete
4716 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
4717 (package
4718 (name "emacs-scheme-complete")
4719 (version (string-append "20151223." (string-take commit 8)))
4720 (source
4721 (origin
4722 (method git-fetch)
4723 (uri (git-reference
4724 (url "https://github.com/ashinn/scheme-complete.git")
4725 (commit commit)))
4726 (file-name (git-file-name name version))
4727 (sha256
4728 (base32
4729 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
4730 (patches
4731 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
4732 (build-system emacs-build-system)
4733 (home-page "https://github.com/ashinn/scheme-complete")
4734 (synopsis "Smart tab completion for Scheme in Emacs")
4735 (description
4736 "This file provides a single function, @code{scheme-smart-complete},
4737 which you can use for intelligent, context-sensitive completion for any Scheme
4738 implementation in Emacs. To use it just load this file and bind that function
4739 to a key in your preferred mode.")
4740 (license license:public-domain))))
4741
4742 (define-public emacs-scel
4743 (let ((version "20170629")
4744 (revision "1")
4745 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
4746 (package
4747 (name "emacs-scel")
4748 (version (git-version version revision commit))
4749 (source
4750 (origin
4751 (method git-fetch)
4752 (uri (git-reference
4753 (url "https://github.com/supercollider/scel.git")
4754 (commit commit)))
4755 (file-name (git-file-name name version))
4756 (sha256
4757 (base32
4758 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
4759 (build-system emacs-build-system)
4760 (arguments
4761 `(#:modules ((guix build emacs-build-system)
4762 ((guix build cmake-build-system) #:prefix cmake:)
4763 (guix build utils))
4764 #:imported-modules (,@%emacs-build-system-modules
4765 (guix build cmake-build-system))
4766 #:phases
4767 (modify-phases %standard-phases
4768 (add-after 'unpack 'configure
4769 (lambda* (#:key outputs #:allow-other-keys)
4770 (substitute* "el/CMakeLists.txt"
4771 (("share/emacs/site-lisp/SuperCollider")
4772 (string-append
4773 "share/emacs/site-lisp")))
4774 ((assoc-ref cmake:%standard-phases 'configure)
4775 #:outputs outputs
4776 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
4777 (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
4778 (lambda _
4779 (setenv "EMACSLOADPATH"
4780 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
4781 #t))
4782 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
4783 (inputs
4784 `(("supercollider" ,supercollider)))
4785 (native-inputs
4786 `(("cmake" ,cmake-minimal)))
4787 (home-page "https://github.com/supercollider/scel")
4788 (synopsis "SuperCollider Emacs interface")
4789 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
4790 SuperCollider is a platform for audio synthesis and algorithmic composition.")
4791 (license license:gpl2+))))
4792
4793 (define-public emacs-company-auctex
4794 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
4795 (revision "1"))
4796 (package
4797 (name "emacs-company-auctex")
4798 (version (git-version "0" revision commit))
4799 (source (origin
4800 (method git-fetch)
4801 (uri (git-reference
4802 (url "https://github.com/alexeyr/company-auctex")
4803 (commit commit)))
4804 (file-name (git-file-name name version))
4805 (sha256
4806 (base32
4807 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
4808 (build-system emacs-build-system)
4809 (propagated-inputs
4810 `(("emacs-yasnippet" ,emacs-yasnippet)
4811 ("emacs-auctex" ,emacs-auctex)
4812 ("emacs-company" ,emacs-company)))
4813 (home-page "https://github.com/alexeyr/company-auctex/")
4814 (synopsis "Completion for @code{AUCTeX}")
4815 (description
4816 "This package provides a group of backends permitting auto-completion
4817 for @code{AUCTeX}.")
4818 (license license:gpl3+))))
4819
4820 (define-public emacs-mit-scheme-doc
4821 (package
4822 (name "emacs-mit-scheme-doc")
4823 (version "20140203")
4824 (source
4825 (origin
4826 (modules '((guix build utils)))
4827 (snippet
4828 ;; keep only file of interest
4829 '(begin
4830 (for-each delete-file '("dot-emacs.el" "Makefile"))
4831 (install-file "6.945-config/mit-scheme-doc.el" ".")
4832 (delete-file-recursively "6.945-config")
4833 #t))
4834 (file-name (string-append name "-" version ".tar.bz2"))
4835 (method url-fetch)
4836 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4837 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4838 (sha256
4839 (base32
4840 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4841 (build-system emacs-build-system)
4842 (inputs `(("mit-scheme" ,mit-scheme)))
4843 (arguments
4844 `(#:phases
4845 (modify-phases %standard-phases
4846 (add-after 'unpack 'configure-doc
4847 (lambda* (#:key inputs #:allow-other-keys)
4848 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4849 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4850 "mit-scheme-"
4851 ,(package-version mit-scheme))))
4852 (substitute* "mit-scheme-doc.el"
4853 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4854 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4855 (home-page "https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4856 (synopsis "MIT-Scheme documentation lookup for Emacs")
4857 (description
4858 "This package provides a set of Emacs functions to search definitions of
4859 identifiers in the MIT-Scheme documentation.")
4860 (license license:gpl2+)))
4861
4862 (define-public emacs-constants
4863 (package
4864 (name "emacs-constants")
4865 (version "2.6")
4866 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4867 (source
4868 (origin
4869 (method git-fetch)
4870 (uri (git-reference
4871 (url "https://github.com/fedeinthemix/emacs-constants.git")
4872 (commit (string-append "v" version))))
4873 (file-name (git-file-name name version))
4874 (sha256
4875 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4876 (build-system emacs-build-system)
4877 (synopsis "Enter definition of constants into an Emacs buffer")
4878 (description
4879 "This package provides functions for inserting the definition of natural
4880 constants and units into an Emacs buffer.")
4881 (license license:gpl2+)))
4882
4883 (define-public emacs-tagedit
4884 (package
4885 (name "emacs-tagedit")
4886 (version "1.4.0")
4887 (source
4888 (origin
4889 (method git-fetch)
4890 (uri (git-reference
4891 (url "https://github.com/magnars/tagedit.git")
4892 (commit version)))
4893 (file-name (git-file-name name version))
4894 (sha256
4895 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4896 (build-system emacs-build-system)
4897 (propagated-inputs
4898 `(("emacs-s" ,emacs-s)
4899 ("emacs-dash" ,emacs-dash)))
4900 (home-page "https://github.com/magnars/tagedit")
4901 (synopsis "Some paredit-like features for html-mode")
4902 (description
4903 "This package provides a collection of paredit-like functions for editing
4904 in @code{html-mode}.")
4905 (license license:gpl3+)))
4906
4907 (define-public emacs-slime
4908 (package
4909 (name "emacs-slime")
4910 (version "2.24")
4911 (source
4912 (origin
4913 (method git-fetch)
4914 (uri (git-reference
4915 (url "https://github.com/slime/slime.git")
4916 (commit (string-append "v" version))))
4917 (file-name (git-file-name name version))
4918 (sha256
4919 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4920 (build-system emacs-build-system)
4921 (native-inputs
4922 `(("texinfo" ,texinfo)))
4923 (arguments
4924 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4925 #:exclude '("^slime-tests.el" "^contrib/test/"
4926 "^contrib/Makefile$" "^contrib/README.md$")
4927 #:phases
4928 (modify-phases %standard-phases
4929 (add-after 'unpack 'make-git-checkout-writable
4930 (lambda _
4931 (for-each make-file-writable (find-files "."))
4932 #t))
4933 (add-before 'install 'configure
4934 (lambda* _
4935 (emacs-substitute-variables "slime.el"
4936 ("inferior-lisp-program" "sbcl"))
4937 #t))
4938 (add-before 'install 'install-doc
4939 (lambda* (#:key outputs #:allow-other-keys)
4940 (let* ((out (assoc-ref outputs "out"))
4941 (info-dir (string-append out "/share/info"))
4942 (doc-dir (string-append out "/share/doc/"
4943 ,name "-" ,version))
4944 (doc-files '("doc/slime-refcard.pdf"
4945 "README.md" "NEWS" "PROBLEMS"
4946 "CONTRIBUTING.md")))
4947 (with-directory-excursion "doc"
4948 (substitute* "Makefile"
4949 (("infodir=/usr/local/info")
4950 (string-append "infodir=" info-dir)))
4951 (invoke "make" "html/index.html")
4952 (invoke "make" "slime.info")
4953 (install-file "slime.info" info-dir)
4954 (copy-recursively "html" (string-append doc-dir "/html")))
4955 (for-each (lambda (f)
4956 (install-file f doc-dir)
4957 (delete-file f))
4958 doc-files)
4959 (delete-file-recursively "doc")
4960 #t))))))
4961 (home-page "https://github.com/slime/slime")
4962 (synopsis "Superior Lisp Interaction Mode for Emacs")
4963 (description
4964 "SLIME extends Emacs with support for interactive programming in
4965 Common Lisp. The features are centered around @command{slime-mode},
4966 an Emacs minor mode that complements the standard @command{lisp-mode}.
4967 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4968 adds support for interacting with a running Common Lisp process
4969 for compilation, debugging, documentation lookup, and so on.")
4970 (license (list license:gpl2+ license:public-domain))))
4971
4972 (define-public emacs-popup
4973 (package
4974 (name "emacs-popup")
4975 (version "0.5.3")
4976 (source
4977 (origin
4978 (method git-fetch)
4979 (uri (git-reference
4980 (url "https://github.com/auto-complete/popup-el.git")
4981 (commit (string-append "v" version))))
4982 (file-name (git-file-name name version))
4983 (sha256
4984 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4985 (build-system emacs-build-system)
4986 (home-page "https://github.com/auto-complete/popup-el")
4987 (synopsis "Visual Popup User Interface for Emacs")
4988 (description
4989 "Popup.el is a visual popup user interface library for Emacs.
4990 This provides a basic API and common UI widgets such as popup tooltips
4991 and popup menus.")
4992 (license license:gpl3+)))
4993
4994 (define-public emacs-python-environment
4995 (package
4996 (name "emacs-python-environment")
4997 (version "0.0.2")
4998 (source
4999 (origin
5000 (method git-fetch)
5001 (uri (git-reference
5002 (url "https://github.com/tkf/emacs-python-environment/")
5003 (commit version)))
5004 (file-name (git-file-name name version))
5005 (sha256
5006 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
5007 (build-system emacs-build-system)
5008 (propagated-inputs
5009 `(("emacs-deferred" ,emacs-deferred)))
5010 (home-page "https://github.com/tkf/emacs-python-environment")
5011 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
5012 (description
5013 "This package permits automated installation of tools written in Python.")
5014 (license license:gpl3+)))
5015
5016 (define-public emacs-jedi
5017 (package
5018 (name "emacs-jedi")
5019 (version "0.2.8")
5020 (source (origin
5021 (method git-fetch)
5022 (uri (git-reference
5023 (url "https://github.com/tkf/emacs-jedi/")
5024 (commit (string-append "v" version))))
5025 (file-name (git-file-name name version))
5026 (sha256
5027 (base32
5028 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
5029 (build-system emacs-build-system)
5030 (native-inputs
5031 `(("emacs-mocker" ,emacs-mocker)))
5032 (propagated-inputs
5033 `(("emacs-auto-complete" ,emacs-auto-complete)
5034 ("emacs-python-environment" ,emacs-python-environment)
5035 ("emacs-epc" ,emacs-epc)))
5036 (home-page "https://github.com/tkf/emacs-jedi")
5037 (synopsis "Provides Python completion in Emacs")
5038 (description
5039 "This package provides completion in Python buffers and also helps find
5040 the locations of docstrings, arguments, and functions.")
5041 (license license:gpl3+)))
5042
5043 (define-public emacs-company-jedi
5044 (package
5045 (name "emacs-company-jedi")
5046 (version "0.04")
5047 (source (origin
5048 (method git-fetch)
5049 (uri (git-reference
5050 (url "https://github.com/syohex/emacs-company-jedi")
5051 (commit version)))
5052 (file-name (git-file-name name version))
5053 (sha256
5054 (base32
5055 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
5056 (build-system emacs-build-system)
5057 (propagated-inputs
5058 `(("emacs-jedi" ,emacs-jedi)
5059 ("emacs-company" ,emacs-company)))
5060 (home-page "https://github.com/syohex/emacs-company-jedi")
5061 (synopsis "Provides Python completion in @code{company-mode}")
5062 (description
5063 "This package provides a Company backend for Python.")
5064 (license license:gpl3+)))
5065
5066 (define-public emacs-puppet-mode
5067 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
5068 (revision "1"))
5069 (package
5070 (name "emacs-puppet-mode")
5071 ;; The last release, 0.3 was several years ago, and there have been many
5072 ;; commits since
5073 (version (git-version "0.3" revision commit))
5074 (source
5075 (origin
5076 (method url-fetch)
5077 (uri (string-append
5078 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
5079 commit "/puppet-mode.el"))
5080 (sha256
5081 (base32
5082 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
5083 (build-system emacs-build-system)
5084 (home-page "https://github.com/voxpupuli/puppet-mode")
5085 (synopsis "Emacs major mode for the Puppet configuration language")
5086 (description
5087 "This package provides support for the Puppet configuration language,
5088 including syntax highlighting, indentation of expressions and statements,
5089 linting of manifests and integration with Puppet Debugger.")
5090 ;; Also incorporates work covered by the Apache License, Version 2.0
5091 (license license:gpl3+))))
5092
5093 (define-public emacs-god-mode
5094 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
5095 (revision "1"))
5096 (package
5097 (name "emacs-god-mode")
5098 (version (string-append "20151005.925."
5099 revision "-" (string-take commit 9)))
5100 (source
5101 (origin
5102 (method git-fetch)
5103 (uri (git-reference
5104 (url "https://github.com/chrisdone/god-mode.git")
5105 (commit commit)))
5106 (file-name (git-file-name name version))
5107 (sha256
5108 (base32
5109 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
5110 (build-system emacs-build-system)
5111 (home-page "https://github.com/chrisdone/god-mode")
5112 (synopsis "Minor mode for entering commands without modifier keys")
5113 (description
5114 "This package provides a global minor mode for entering Emacs commands
5115 without modifier keys. It's similar to Vim's separation of commands and
5116 insertion mode. When enabled all keys are implicitly prefixed with
5117 @samp{C-} (among other helpful shortcuts).")
5118 (license license:gpl3+))))
5119
5120 (define-public emacs-jinja2-mode
5121 (package
5122 (name "emacs-jinja2-mode")
5123 (version "0.2")
5124 (source
5125 (origin
5126 (method git-fetch)
5127 (uri (git-reference
5128 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
5129 (commit (string-append "v" version))))
5130 (file-name (git-file-name name version))
5131 (sha256
5132 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
5133 (build-system emacs-build-system)
5134 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
5135 (synopsis "Major mode for jinja2")
5136 (description
5137 "Emacs major mode for jinja2 with: syntax highlighting,
5138 sgml/html integration, and indentation (working with sgml).")
5139 (license license:gpl3+)))
5140
5141 (define-public emacs-company-cabal
5142 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
5143 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
5144 (revision "1"))
5145 (package
5146 (name "emacs-company-cabal")
5147 (version (git-version "0.3.0" revision commit))
5148 (source (origin
5149 (method git-fetch)
5150 (uri (git-reference
5151 (url "https://github.com/iquiw/company-cabal/")
5152 (commit commit)))
5153 (file-name (git-file-name name version))
5154 (sha256
5155 (base32
5156 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
5157 (build-system emacs-build-system)
5158 (propagated-inputs
5159 `(("emacs-company" ,emacs-company)))
5160 (arguments
5161 `(#:include (cons "^tools\\/" %default-include)))
5162 (home-page "https://github.com/iquiw/company-cabal/")
5163 (synopsis "Company completion for Haskell Cabal files")
5164 (description
5165 "This package allows for completion of field names, section names,
5166 field values, and more within @code{haskell-cabal-mode}.")
5167 (license license:gpl3+))))
5168
5169 (define-public emacs-rfcview
5170 (package
5171 (name "emacs-rfcview")
5172 (version "0.13")
5173 (home-page "http://www.loveshack.ukfsn.org/emacs")
5174 (source (origin
5175 (method url-fetch)
5176 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
5177 (sha256
5178 (base32
5179 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
5180 (build-system emacs-build-system)
5181 (synopsis "Prettify Request for Comments (RFC) documents")
5182 (description "The Internet Engineering Task Force (IETF) and the Internet
5183 Society (ISOC) publish various Internet-related protocols and specifications
5184 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
5185 documents. RFCs and STDs are published in a simple text form. This package
5186 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
5187 read these documents in Emacs. It prettifies the text and adds
5188 hyperlinks/menus for easier navigation. It also provides functions for
5189 browsing the index of RFC documents and fetching them from remote servers or
5190 local directories.")
5191 (license license:gpl3+)))
5192
5193 (define-public emacs-ffap-rfc-space
5194 (package
5195 (name "emacs-ffap-rfc-space")
5196 (version "12")
5197 (home-page "https://user42.tuxfamily.org/ffap-rfc-space/index.html")
5198 (source (origin
5199 (method url-fetch)
5200 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
5201 (sha256
5202 (base32
5203 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
5204 (build-system emacs-build-system)
5205 (synopsis "Make ffap recognize an RFC with a space before its number")
5206 (description "The Internet Engineering Task Force (IETF) and the
5207 Internet Society (ISOC) publish various Internet-related protocols and
5208 specifications as \"Request for Comments\" (RFC) documents. The
5209 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
5210 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
5211 and load the appropriate RFC from a remote server. However, it fails
5212 to recognize a name like \"RFC 1234\". This package enhances ffap so
5213 that it correctly finds RFCs even when a space appears before the
5214 number.")
5215 (license license:gpl3+)))
5216
5217 (define-public emacs-org-bullets
5218 (package
5219 (name "emacs-org-bullets")
5220 (version "0.2.4")
5221 (source
5222 (origin
5223 (method git-fetch)
5224 (uri (git-reference
5225 (url "https://github.com/sabof/org-bullets.git")
5226 (commit version)))
5227 (file-name (git-file-name name version))
5228 (sha256
5229 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
5230 (build-system emacs-build-system)
5231 (home-page "https://github.com/sabof/org-bullets")
5232 (synopsis "Show bullets in org-mode as UTF-8 characters")
5233 (description
5234 "This package provides an Emacs minor mode causing bullets in
5235 @code{org-mode} to be rendered as UTF-8 characters.")
5236 (license license:gpl3+)))
5237
5238 (define-public emacs-org-superstar
5239 (package
5240 (name "emacs-org-superstar")
5241 (version "1.2.1")
5242 (source
5243 (origin
5244 (method git-fetch)
5245 (uri (git-reference
5246 (url "https://github.com/integral-dw/org-superstar-mode.git")
5247 (commit (string-append "v" version))))
5248 (file-name (git-file-name name version))
5249 (sha256
5250 (base32 "14w06v76xi4f6hpq6xzicrjjv0b802g5zc9as4mpimfy5gx2xpm0"))))
5251 (build-system emacs-build-system)
5252 (propagated-inputs
5253 `(("emacs-org" ,emacs-org)))
5254 (home-page "https://github.com/integral-dw/org-superstar-mode")
5255 (synopsis "Prettify headings and plain lists in Org mode")
5256 (description "This package prettifies headings and plain lists in
5257 Org mode. It is a direct descendant of @code{org-bullets}, with most
5258 of the code base completely rewritten.
5259
5260 Currently, this package prettifies Org heading lines by:
5261 @itemize
5262 @item replacing trailing bullets by UTF-8 bullets,
5263 @item hiding leading stars, customizing their look or removing them from vision,
5264 @item applying a custom face to the header bullet,
5265 @item applying a custom face to the leading bullets,
5266 @item using double-bullets for inline tasks,
5267 @item (optional) using special bullets for TODO keywords.
5268 @end itemize
5269
5270 It also prettifies Org plain list bullets by:
5271 @itemize
5272 @item replacing each bullet type (*, + and -) with UTF-8 bullets,
5273 @item applying a custom face to item bullets.
5274 @end itemize
5275
5276 Features degrade gracefully when viewed from terminal.")
5277 (license license:gpl3+)))
5278
5279 (define-public emacs-org-pomodoro
5280 ;; Last release version was from 2016.
5281 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
5282 (revision "1"))
5283 (package
5284 (name "emacs-org-pomodoro")
5285 (version (git-version "2.1.0" revision commit))
5286 (source
5287 (origin
5288 (method git-fetch)
5289 (uri (git-reference
5290 (url "https://github.com/marcinkoziej/org-pomodoro.git")
5291 (commit commit)))
5292 (file-name (git-file-name name version))
5293 (sha256
5294 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
5295 (build-system emacs-build-system)
5296 (propagated-inputs
5297 `(("emacs-alert" ,emacs-alert)))
5298 (arguments
5299 `(#:include (cons "^resources\\/" %default-include)
5300 #:tests? #t
5301 #:test-command '("emacs" "--batch"
5302 "-l" "org-pomodoro-tests.el"
5303 "-f" "ert-run-tests-batch-and-exit")
5304 #:phases
5305 (modify-phases %standard-phases
5306 (add-before 'check 'make-tests-writable
5307 (lambda _
5308 (make-file-writable "org-pomodoro-tests.el")
5309 #t))
5310 (add-before 'check 'add-require
5311 (lambda _
5312 (emacs-batch-edit-file "org-pomodoro-tests.el"
5313 `(progn (progn (goto-char (point-min))
5314 (re-search-forward
5315 "ert-deftest")
5316 (beginning-of-line)
5317 (forward-line -1)
5318 (insert "(require 'org-pomodoro)"))
5319 (basic-save-buffer)))
5320 #t)))))
5321 (home-page "https://github.com/marcinkoziej/org-pomodoro")
5322 (synopsis "Pomodoro technique for org-mode")
5323 (description "@code{emacs-org-pomodoro} adds very basic support for
5324 Pomodoro technique in Emacs org-mode.
5325
5326 Run @code{M-x org-pomodoro} for the task at point or select one of the
5327 last tasks that you clocked time for. Each clocked-in pomodoro starts
5328 a timer of 25 minutes and after each pomodoro a break timer of 5
5329 minutes is started automatically. Every 4 breaks a long break is
5330 started with 20 minutes. All values are customizable.")
5331 (license license:gpl3+))))
5332
5333 (define-public emacs-org-sidebar
5334 (package
5335 (name "emacs-org-sidebar")
5336 (version "0.2")
5337 (source
5338 (origin
5339 (method git-fetch)
5340 (uri (git-reference
5341 (url "https://github.com/alphapapa/org-sidebar.git")
5342 (commit version)))
5343 (file-name (git-file-name name version))
5344 (sha256
5345 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
5346 (build-system emacs-build-system)
5347 (propagated-inputs
5348 `(("emacs-dash" ,emacs-dash)
5349 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
5350 ("emacs-org" ,emacs-org)
5351 ("emacs-org-ql" ,emacs-org-ql)
5352 ("emacs-s" ,emacs-s)))
5353 (home-page "https://github.com/alphapapa/org-sidebar")
5354 (synopsis "Helpful sidebar for Org buffers")
5355 (description "This package provides a sidebar for Org buffers. At the
5356 top is a chronological list of scheduled and deadlined tasks in the current
5357 buffer (similar to the Org agenda ,but without all its features), and below
5358 that is a list of all other non-done to-do items. If the buffer is narrowed,
5359 the sidebar only shows items in the narrowed portion; this allows seeing an
5360 overview of tasks in a subtree.")
5361 (license license:gpl3+)))
5362
5363 (define-public emacs-org-trello
5364 (package
5365 (name "emacs-org-trello")
5366 (version "0.8.1")
5367 (source
5368 (origin
5369 (method git-fetch)
5370 (uri (git-reference
5371 (url "https://github.com/org-trello/org-trello.git")
5372 (commit version)))
5373 (file-name (git-file-name name version))
5374 (sha256
5375 (base32
5376 "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc"))))
5377 (build-system emacs-build-system)
5378 (propagated-inputs
5379 `(("emacs-dash" ,emacs-dash)
5380 ("emacs-deferred" ,emacs-deferred)
5381 ("emacs-f" ,emacs-f)
5382 ("emacs-helm" ,emacs-helm)
5383 ("emacs-request" ,emacs-request)
5384 ("emacs-s" ,emacs-s)))
5385 (home-page "https://org-trello.github.io")
5386 (synopsis "Emacs minor mode for interacting with Trello")
5387 (description "This package provides an Emacs minor mode to extend
5388 @code{org-mode} with Trello abilities. Trello is an online project
5389 organizer.")
5390 (license license:gpl3+)))
5391
5392 (define-public emacs-org-tanglesync
5393 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
5394 (revision "2"))
5395 (package
5396 (name "emacs-org-tanglesync")
5397 (version (git-version "0.6" revision commit))
5398 (source
5399 (origin
5400 (method git-fetch)
5401 (uri (git-reference
5402 (url "https://github.com/mtekman/org-tanglesync.el.git")
5403 (commit commit)))
5404 (file-name (git-file-name name version))
5405 (sha256
5406 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
5407 (build-system emacs-build-system)
5408 (propagated-inputs
5409 `(("emacs-org" ,emacs-org)))
5410 (home-page "https://github.com/mtekman/org-tanglesync.el")
5411 (synopsis "Sync Org source blocks with tangled external files")
5412 (description "This package automatically pulls changes from source code
5413 to their corresponding tangled blocks.")
5414 (license license:gpl3+))))
5415
5416 (define-public emacs-company-flow
5417 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
5418 (revision "1"))
5419 (package
5420 (name "emacs-company-flow")
5421 (version (git-version "0.1.0" revision commit))
5422 (source (origin
5423 (method git-fetch)
5424 (uri (git-reference
5425 (url "https://github.com/aaronjensen/company-flow/")
5426 (commit commit)))
5427 (file-name (git-file-name name version))
5428 (sha256
5429 (base32
5430 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
5431 (build-system emacs-build-system)
5432 (propagated-inputs
5433 `(("emacs-company" ,emacs-company)
5434 ("emacs-dash" ,emacs-dash)))
5435 (home-page "https://github.com/aaronjensen/company-flow/")
5436 (synopsis "Flow backend for @code{company-mode}")
5437 (description
5438 "This package provides completion for JavaScript files utilizing Flow.")
5439 (license license:gpl3+))))
5440
5441 (define-public emacs-atom-one-dark-theme
5442 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
5443 (revision "0"))
5444 (package
5445 (name "emacs-atom-one-dark-theme")
5446 (version (git-version "0.4.0" revision commit))
5447 (source (origin
5448 (method git-fetch)
5449 (uri (git-reference
5450 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
5451 (commit commit)))
5452 (sha256
5453 (base32
5454 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
5455 (file-name (git-file-name name version))))
5456 (build-system emacs-build-system)
5457 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
5458 (synopsis "Atom One Dark color theme for Emacs")
5459 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
5460 (license license:gpl3+))))
5461
5462 (define-public emacs-zenburn-theme
5463 (package
5464 (name "emacs-zenburn-theme")
5465 (version "2.6")
5466 (source
5467 (origin
5468 (method git-fetch)
5469 (uri (git-reference
5470 (url "https://github.com/bbatsov/zenburn-emacs.git")
5471 (commit (string-append "v" version))))
5472 (file-name (git-file-name name version))
5473 (sha256
5474 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
5475 (build-system emacs-build-system)
5476 (home-page "https://github.com/bbatsov/zenburn-emacs")
5477 (synopsis "Low contrast color theme for Emacs")
5478 (description
5479 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
5480 It is built on top of the custom theme support in Emacs 24 or later.")
5481 (license license:gpl3+)))
5482
5483 (define-public emacs-moe-theme-el
5484 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
5485 (version "1.0")
5486 (revision "1"))
5487 (package
5488 (name "emacs-moe-theme-el")
5489 (version (git-version version revision commit))
5490 (source
5491 (origin
5492 (method git-fetch)
5493 (uri (git-reference
5494 (url "https://github.com/kuanyui/moe-theme.el")
5495 (commit commit)))
5496 (file-name (git-file-name name version))
5497 (sha256
5498 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
5499 (build-system emacs-build-system)
5500 (home-page "https://github.com/kuanyui/moe-theme.el")
5501 (synopsis "Anime-inspired color themes")
5502 (description
5503 "This package provides vibrant color schemes with light and dark
5504 variants.")
5505 (license license:gpl3+))))
5506
5507 (define-public emacs-solarized-theme
5508 (package
5509 (name "emacs-solarized-theme")
5510 (version "1.3.1")
5511 (source
5512 (origin
5513 (method git-fetch)
5514 (uri (git-reference
5515 (url "https://github.com/bbatsov/solarized-emacs/")
5516 (commit (string-append "v" version))))
5517 (file-name (git-file-name name version))
5518 (sha256
5519 (base32 "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g"))))
5520 (build-system emacs-build-system)
5521 (propagated-inputs
5522 `(("emacs-dash" ,emacs-dash)))
5523 (home-page "https://github.com/bbatsov/solarized-emacs")
5524 (synopsis "Port of the Solarized theme for Emacs")
5525 (description
5526 "Solarized for Emacs is a port of the Solarized theme for Vim. This
5527 package provides a light and a dark variant.")
5528 (license license:gpl3+)))
5529
5530 (define-public emacs-poet-theme
5531 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
5532 (revision "0"))
5533 (package
5534 (name "emacs-poet-theme")
5535 (version (git-version "0" revision commit))
5536 (source
5537 (origin
5538 (method git-fetch)
5539 (uri (git-reference
5540 (url "https://github.com/kunalb/poet.git")
5541 (commit commit)))
5542 (file-name (git-file-name name version))
5543 (sha256
5544 (base32
5545 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
5546 (build-system emacs-build-system)
5547 (home-page "https://github.com/kunalb/poet/")
5548 (synopsis "Emacs theme for prose")
5549 (description
5550 "Emacs has very good support for multiple fonts in a single file. Poet
5551 uses this support to make it much more convenient to write prose within Emacs,
5552 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
5553 Code blocks, tables, etc are formatted in monospace text with the appropriate
5554 backgrounds.")
5555 (license license:expat))))
5556
5557 (define-public emacs-ahungry-theme
5558 (package
5559 (name "emacs-ahungry-theme")
5560 (version "1.10.0")
5561 (source
5562 (origin (method url-fetch)
5563 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
5564 version ".tar"))
5565 (sha256
5566 (base32
5567 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
5568 (build-system emacs-build-system)
5569 (home-page "https://github.com/ahungry/color-theme-ahungry")
5570 (synopsis "Ahungry color theme for Emacs")
5571 (description "Ahungry theme for Emacs provides bright and bold colors.
5572 If you load it from a terminal, you will be able to make use of the
5573 transparent background. If you load it from a GUI, it will default to a
5574 dark background.")
5575 (license license:gpl3+)))
5576
5577 (define-public emacs-gruvbox-theme
5578 (package
5579 (name "emacs-gruvbox-theme")
5580 (version "1.28.0")
5581 (source (origin
5582 (method git-fetch)
5583 (uri (git-reference
5584 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
5585 (commit version)))
5586 (file-name (git-file-name name version))
5587 (sha256
5588 (base32
5589 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
5590 (build-system emacs-build-system)
5591 (propagated-inputs
5592 `(("emacs-autothemer" ,emacs-autothemer)))
5593 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
5594 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
5595 (description
5596 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
5597
5598 Designed as a bright theme with pastel 'retro groove' colors and light/dark
5599 mode switching in the way of solarized. The main focus when developing gruvbox
5600 is to keep colors easily distinguishable, contrast enough and still pleasant
5601 for the eyes.")
5602 (license license:expat))) ; MIT license
5603
5604 (define-public emacs-spacegray-theme
5605 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
5606 (revision "0"))
5607 (package
5608 (name "emacs-spacegray-theme")
5609 (version (git-version "0" revision commit))
5610 (source (origin
5611 (method git-fetch)
5612 (uri (git-reference
5613 (url "https://github.com/bruce/emacs-spacegray-theme.git")
5614 (commit commit)))
5615 (file-name (git-file-name name version))
5616 (sha256
5617 (base32
5618 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
5619 (build-system emacs-build-system)
5620 (home-page "https://github.com/bruce/emacs-spacegray-theme")
5621 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
5622 (description
5623 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
5624 Sublime Text. It features a dark blue/gray background and soft blue, green,
5625 orange and red as accent colors.")
5626 (license license:expat)))) ; MIT license
5627
5628 (define-public emacs-2048-game
5629 (package
5630 (name "emacs-2048-game")
5631 (version "20151026.1233")
5632 (source
5633 (origin
5634 (method url-fetch)
5635 (uri (string-append "https://melpa.org/packages/2048-game-"
5636 version ".el"))
5637 (sha256
5638 (base32
5639 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
5640 (build-system emacs-build-system)
5641 (home-page "https://hg.sr.ht/~zck/game-2048")
5642 (synopsis "Implementation of the game 2048 in Emacs Lisp")
5643 (description
5644 "This program is an implementation of 2048 for Emacs.
5645 The goal of this game is to create a tile with value 2048. The size of the
5646 board and goal value can be customized.")
5647 (license license:gpl3+)))
5648
5649 (define-public emacs-4clojure
5650 ;; There is no release. Base version is extracted from Version keyword in
5651 ;; the main file.
5652 (let ((commit "4eccf8c7d4341a36c269451838114b27836699f9")
5653 (revision "1"))
5654 (package
5655 (name "emacs-4clojure")
5656 (version (git-version "0.2.1" revision commit))
5657 (source
5658 (origin
5659 (method git-fetch)
5660 (uri (git-reference
5661 (url "https://github.com/emacsorphanage/4clojure.git")
5662 (commit commit)))
5663 (file-name (git-file-name name version))
5664 (sha256
5665 (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk"))))
5666 (build-system emacs-build-system)
5667 (propagated-inputs
5668 `(("emacs-request" ,emacs-request)))
5669 (home-page "https://github.com/emacsorphanage/4clojure/")
5670 (synopsis "Open and evaluate 4clojure questions in Emacs")
5671 (description "Emacs 4clojure interacts with
5672 @url{http://www.4clojure.com, 4clojure} problems. You can open a specific
5673 question and move to the next or previous one. You can also verify your
5674 answers.")
5675 (license license:gpl3+))))
5676
5677 (define-public emacs-base16-theme
5678 (package
5679 (name "emacs-base16-theme")
5680 (version "2.2")
5681 (source
5682 (origin
5683 (method git-fetch)
5684 (uri (git-reference
5685 (url "https://github.com/belak/base16-emacs.git")
5686 (commit version)))
5687 (file-name (git-file-name name version))
5688 (sha256
5689 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
5690 (build-system emacs-build-system)
5691 (home-page "https://github.com/belak/base16-emacs")
5692 (synopsis "Base16 color themes for Emacs")
5693 (description
5694 "Base16 provides carefully chosen syntax highlighting and a default set
5695 of sixteen colors suitable for a wide range of applications. Base16 is not a
5696 single theme but a set of guidelines with numerous implementations.")
5697 (license license:expat)))
5698
5699 (define-public emacs-solaire-mode
5700 (package
5701 (name "emacs-solaire-mode")
5702 (version "1.0.9")
5703 (source
5704 (origin
5705 (method git-fetch)
5706 (uri (git-reference
5707 (url "https://github.com/hlissner/emacs-solaire-mode.git")
5708 (commit (string-append "v" version))))
5709 (file-name (git-file-name name version))
5710 (sha256
5711 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
5712 (build-system emacs-build-system)
5713 (home-page "https://github.com/hlissner/emacs-solaire-mode")
5714 (synopsis "Change background of file-visiting buffers in Emacs")
5715 (description
5716 "@code{solaire-mode} is inspired by editors which visually distinguish
5717 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
5718 background of file-visiting buffers (and certain aspects of the UI) to make
5719 them easier to distinguish from other, less important buffers.")
5720 (license license:expat)))
5721
5722 (define-public emacs-prescient
5723 (package
5724 (name "emacs-prescient")
5725 (version "4.1")
5726 (source
5727 (origin
5728 (method git-fetch)
5729 (uri (git-reference
5730 (url "https://github.com/raxod502/prescient.el.git")
5731 (commit (string-append "v" version))))
5732 (file-name (git-file-name name version))
5733 (sha256
5734 (base32 "1rf5cz262hjpck7vpxg15bccdrwrmlhiyxc20liwcjb2ig36nis3"))))
5735 (build-system emacs-build-system)
5736 (propagated-inputs
5737 `(("emacs-company" ,emacs-company)
5738 ("emacs-ivy" ,emacs-ivy)
5739 ("emacs-selectrum" ,emacs-selectrum)))
5740 (home-page "https://github.com/raxod502/prescient.el/")
5741 (synopsis "Emacs library for sorting and filtering candidates")
5742 (description
5743 "Prescient is a library for sorting and filtering, as well as extensions
5744 for Ivy and Company that make use of the library.")
5745 (license license:expat)))
5746
5747 (define-public emacs-selectrum
5748 (package
5749 (name "emacs-selectrum")
5750 (version "1.0")
5751 (source
5752 (origin
5753 (method git-fetch)
5754 (uri (git-reference
5755 (url "https://github.com/raxod502/selectrum.git")
5756 (commit (string-append "v" version))))
5757 (file-name (git-file-name name version))
5758 (sha256
5759 (base32 "105zl102dwbzvk50xh6b824nq6p24kxhky18ghdnk5yi5sv620lm"))))
5760 (build-system emacs-build-system)
5761 (home-page "https://github.com/raxod502/selectrum/")
5762 (synopsis "Incremental narrowing in Emacs")
5763 (description "Selectrum is a solution for incremental narrowing in
5764 Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based
5765 on choosing the right abstractions and prioritizing consistency and
5766 predictability over special-cased improvements for particular cases.
5767 As such, Selectrum follows existing Emacs conventions where they exist
5768 and are reasonable, and it declines to implement features which have
5769 marginal benefit compared to the additional complexity of a new
5770 interface.")
5771 (license license:expat)))
5772
5773 (define-public emacs-smartparens
5774 (package
5775 (name "emacs-smartparens")
5776 (version "1.11.0")
5777 (source
5778 (origin
5779 (method git-fetch)
5780 (uri (git-reference
5781 (url "https://github.com/Fuco1/smartparens.git")
5782 (commit version)))
5783 (file-name (git-file-name name version))
5784 (sha256
5785 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
5786 (build-system emacs-build-system)
5787 (propagated-inputs
5788 `(("emacs-dash" ,emacs-dash)
5789 ("emacs-markdown-mode" ,emacs-markdown-mode)))
5790 (home-page "https://github.com/Fuco1/smartparens")
5791 (synopsis "Paredit-like insertion, wrapping and navigation with user
5792 defined pairs")
5793 (description
5794 "Smartparens is a minor mode for Emacs that deals with parens pairs
5795 and tries to be smart about it. It started as a unification effort to
5796 combine functionality of several existing packages in a single,
5797 compatible and extensible way to deal with parentheses, delimiters, tags
5798 and the like. Some of these packages include autopair, textmate,
5799 wrap-region, electric-pair-mode, paredit and others. With the basic
5800 features found in other packages it also brings many improvements as
5801 well as completely new features.")
5802 (license license:gpl3+)))
5803
5804 (define-public emacs-highlight-symbol
5805 ;; We prefer a more recent commit that provides an option to squelch
5806 ;; echo-area alerts that can drown out useful information like eldoc
5807 ;; messages.
5808 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
5809 (version "1.3")
5810 (revision "1"))
5811 (package
5812 (name "emacs-highlight-symbol")
5813 (version (git-version version revision commit))
5814 (source
5815 (origin
5816 (method git-fetch)
5817 (uri (git-reference
5818 (url "https://github.com/nschum/highlight-symbol.el.git")
5819 (commit commit)))
5820 (file-name (git-file-name name version))
5821 (sha256
5822 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
5823 (build-system emacs-build-system)
5824 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
5825 (synopsis "Automatic and manual symbol highlighting for Emacs")
5826 (description
5827 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
5828 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
5829 the symbol at point highlighted.
5830
5831 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
5832 @code{highlight-symbol-next-in-defun} and
5833 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
5834 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
5835 bindings @code{M-p} and @code{M-p} for navigation. When
5836 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
5837 regardless of @code{highlight-symbol-idle-delay}.
5838
5839 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
5840 (license license:gpl2+))))
5841
5842 (define-public emacs-symbol-overlay
5843 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
5844 (revision "1"))
5845 (package
5846 (name "emacs-symbol-overlay")
5847 (version (git-version "4.1" revision commit))
5848 (source
5849 (origin
5850 (method git-fetch)
5851 (uri (git-reference
5852 (url "https://github.com/wolray/symbol-overlay.git")
5853 (commit commit)))
5854 (file-name (git-file-name name version))
5855 (sha256
5856 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
5857 (build-system emacs-build-system)
5858 (home-page "https://github.com/wolray/symbol-overlay")
5859 (synopsis "Highlight symbols and perform various search operations on them")
5860 (description
5861 "This package provides functions for highlighting and navigating
5862 between symbols.")
5863 (license license:gpl3+))))
5864
5865 (define-public emacs-hl-todo
5866 (package
5867 (name "emacs-hl-todo")
5868 (version "3.0.0")
5869 (source (origin
5870 (method git-fetch)
5871 (uri (git-reference
5872 (url "https://github.com/tarsius/hl-todo")
5873 (commit (string-append "v" version))))
5874 (file-name (git-file-name name version))
5875 (sha256
5876 (base32
5877 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
5878 (build-system emacs-build-system)
5879 (home-page "https://github.com/tarsius/hl-todo")
5880 (synopsis "Emacs mode to highlight TODO and similar keywords")
5881 (description
5882 "This package provides an Emacs mode to highlight TODO and similar
5883 keywords in comments and strings. This package also provides commands for
5884 moving to the next or previous keyword and to invoke @code{occur} with a
5885 regexp that matches all known keywords.")
5886 (license license:gpl3+)))
5887
5888 (define-public emacs-perspective
5889 (package
5890 (name "emacs-perspective")
5891 (version "2.8")
5892 (source
5893 (origin
5894 (method git-fetch)
5895 (uri (git-reference
5896 (url "https://github.com/nex3/perspective-el.git")
5897 (commit version)))
5898 (file-name (git-file-name name version))
5899 (sha256
5900 (base32
5901 "1gdacw1gkng1dhm12lhfssmac0fijsh3wpbvcmsv2jz3gpnjin1g"))))
5902 (build-system emacs-build-system)
5903 (home-page "https://github.com/nex3/perspective-el")
5904 (synopsis "Switch between named \"perspectives\"")
5905 (description
5906 "This package provides tagged workspaces in Emacs, similar to workspaces in
5907 windows managers such as Awesome and XMonad. @code{perspective.el} provides
5908 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
5909 perspective is composed of a window configuration and a set of buffers.
5910 Switching to a perspective activates its window configuration, and when in a
5911 perspective only its buffers are available by default.")
5912 ;; This package is released under the same license as Emacs (GPLv3+) or
5913 ;; the Expat license.
5914 (license license:gpl3+)))
5915
5916 (define-public emacs-persp-mode
5917 (package
5918 (name "emacs-persp-mode")
5919 (version "2.9.8")
5920 (source
5921 (origin
5922 (method git-fetch)
5923 (uri (git-reference
5924 (url "https://github.com/Bad-ptr/persp-mode.el.git")
5925 (commit (string-append "v" version))))
5926 (file-name (git-file-name name version))
5927 (sha256
5928 (base32
5929 "0b4y7a6j70s9lvr37riyy9k5kh3yvmx0m6nd9c0c8572ji4ij65g"))))
5930 (build-system emacs-build-system)
5931 (home-page "https://github.com/Bad-ptr/persp-mode.el")
5932 (synopsis "Switch between named \"perspectives\" shared among frames")
5933 (description
5934 "This package extends @code{perspective.el} to enable perspectives that
5935 can be saved to and restored from a file.")
5936 (license license:gpl2+)))
5937
5938 (define-public emacs-test-simple
5939 (package
5940 (name "emacs-test-simple")
5941 (version "1.3.0")
5942 (source
5943 (origin
5944 (method url-fetch)
5945 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
5946 version ".el"))
5947 (sha256
5948 (base32
5949 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
5950 (build-system emacs-build-system)
5951 (home-page "https://github.com/rocky/emacs-test-simple")
5952 (synopsis "Simple unit test framework for Emacs Lisp")
5953 (description
5954 "Test Simple is a simple unit test framework for Emacs Lisp. It
5955 alleviates the need for context macros, enclosing specifications or required
5956 test tags. It supports both interactive and non-interactive use.")
5957 (license license:gpl3+)))
5958
5959 (define-public emacs-load-relative
5960 (package
5961 (name "emacs-load-relative")
5962 (version "1.3.1")
5963 (source
5964 (origin
5965 (method url-fetch)
5966 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
5967 version ".el"))
5968 (sha256
5969 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
5970 (build-system emacs-build-system)
5971 (home-page "https://github.com/rocky/emacs-load-relative")
5972 (synopsis "Emacs Lisp relative file loading related functions")
5973 (description
5974 "Provides functions which facilitate writing multi-file Emacs packages
5975 and running from the source tree without having to \"install\" code or fiddle
5976 with @{load-path}.
5977
5978 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5979 another (presumably currently running) Emacs Lisp file.")
5980 (license license:gpl3+)))
5981
5982 (define-public emacs-loc-changes
5983 (package
5984 (name "emacs-loc-changes")
5985 (version "1.2")
5986 (source
5987 (origin
5988 (method url-fetch)
5989 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5990 version ".el"))
5991 (sha256
5992 (base32
5993 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5994 (build-system emacs-build-system)
5995 (home-page "https://github.com/rocky/emacs-loc-changes")
5996 (synopsis "Keeps track of positions even after buffer changes")
5997 (description
5998 "This Emacs package provides a mean to track important buffer positions
5999 after buffer changes.")
6000 (license license:gpl3+)))
6001
6002 (define-public emacs-realgud
6003 (package
6004 (name "emacs-realgud")
6005 (version "1.5.1")
6006 (source
6007 (origin
6008 (method git-fetch)
6009 (uri (git-reference
6010 (url "https://github.com/realgud/realgud/")
6011 (commit version)))
6012 (sha256
6013 (base32
6014 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
6015 (file-name (git-file-name name version))))
6016 (build-system emacs-build-system)
6017 (arguments
6018 `(#:tests? #t
6019 #:phases
6020 (modify-phases %standard-phases
6021 (add-after 'unpack 'fix-autogen-script
6022 (lambda _
6023 (substitute* "autogen.sh"
6024 (("./configure") "sh configure"))))
6025 (add-after 'fix-autogen-script 'autogen
6026 (lambda _
6027 (setenv "CONFIG_SHELL" "sh")
6028 (invoke "sh" "autogen.sh")))
6029 (add-after 'fix-autogen-script 'set-home
6030 (lambda _
6031 (setenv "HOME" (getenv "TMPDIR"))))
6032 (add-before 'patch-el-files 'remove-realgud-pkg.el
6033 (lambda _
6034 ;; FIXME: `patch-el-files' crashes on this file with error:
6035 ;; unable to locate "bashdb".
6036 (delete-file "./test/test-regexp-bashdb.el"))))
6037 #:include (cons* ".*\\.el$" %default-include)))
6038 (native-inputs
6039 `(("autoconf" ,autoconf)
6040 ("automake" ,automake)
6041 ("emacs-test-simple" ,emacs-test-simple)))
6042 (propagated-inputs
6043 `(("emacs-load-relative" ,emacs-load-relative)
6044 ("emacs-loc-changes" ,emacs-loc-changes)))
6045 (home-page "https://github.com/realgud/realgud/")
6046 (synopsis
6047 "Modular front-end for interacting with external debuggers")
6048 (description
6049 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
6050 with external debuggers. It integrates various debuggers such as gdb, pdb,
6051 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
6052 sources. Unlike GUD, it also supports running multiple debug sessions in
6053 parallel.")
6054 (license license:gpl3+)))
6055
6056 (define-public emacs-request
6057 (package
6058 (name "emacs-request")
6059 (version "0.3.2")
6060 (source (origin
6061 (method git-fetch)
6062 (uri (git-reference
6063 (url "https://github.com/tkf/emacs-request.git")
6064 (commit (string-append "v" version))))
6065 (file-name (git-file-name name version))
6066 (sha256
6067 (base32
6068 "1djywhvvb6kwdj0nd3axjvb7k2g06dzkc6hsf29w9rsk96vr8ryl"))))
6069 (build-system emacs-build-system)
6070 (arguments
6071 `(#:tests? #f)) ; requires network access.
6072 (propagated-inputs
6073 `(("emacs-deferred" ,emacs-deferred)))
6074 (home-page "https://github.com/tkf/emacs-request")
6075 (synopsis "Package for speaking HTTP in Emacs Lisp")
6076 (description "This package provides a HTTP request library with multiple
6077 backends. It supports url.el which is shipped with Emacs and the curl command
6078 line program.")
6079 (license license:gpl3+)))
6080
6081 (define-public emacs-rudel
6082 (package
6083 (name "emacs-rudel")
6084 (version "0.3.1")
6085 (source
6086 (origin
6087 (method url-fetch)
6088 (uri (string-append "https://elpa.gnu.org/packages/rudel-"
6089 version ".tar"))
6090 (sha256
6091 (base32
6092 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
6093 (build-system emacs-build-system)
6094 (home-page "http://rudel.sourceforge.net/")
6095 (synopsis "Collaborative editing framework")
6096 (description
6097 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
6098 is to share buffers with other users in order to edit the contents of those
6099 buffers collaboratively. Rudel supports multiple backends to enable
6100 communication with other collaborative editors using different protocols,
6101 though currently Obby (for use with the Gobby editor) is the only
6102 fully-functional one.")
6103 (license license:gpl3+)))
6104
6105 (define-public emacs-hydra
6106 (package
6107 (name "emacs-hydra")
6108 (version "0.15.0")
6109 (source
6110 (origin
6111 (method git-fetch)
6112 (uri (git-reference
6113 (url "https://github.com/abo-abo/hydra")
6114 (commit version)))
6115 (file-name (git-file-name name version))
6116 (sha256
6117 (base32
6118 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
6119 (build-system emacs-build-system)
6120 (arguments
6121 `(#:tests? #t
6122 #:test-command '("make" "test")))
6123 (home-page "https://github.com/abo-abo/hydra")
6124 (synopsis "Make Emacs bindings that stick around")
6125 (description
6126 "This package can be used to tie related commands into a family of short
6127 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
6128 the prefixed binding), all the heads can be called in succession with only a
6129 short extension. Any binding that isn't the Hydra's head vanquishes the
6130 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
6131 serve its original purpose, calling the command assigned to it. This makes
6132 the Hydra very seamless; it's like a minor mode that disables itself
6133 automatically.")
6134 (license license:gpl3+)))
6135
6136 (define-public emacs-interleave
6137 (package
6138 (name "emacs-interleave")
6139 (version "1.4.0")
6140 (source
6141 (origin
6142 (method git-fetch)
6143 (uri
6144 (git-reference
6145 (url "https://github.com/rudolfochrist/interleave")
6146 (commit (string-append "interleave-" version))))
6147 (file-name (git-file-name name version))
6148 (sha256
6149 (base32 "0l5b681mrpk12lx5c16m7kc13p29z6zismwg1llsjg7cdmrmsrcb"))))
6150 (build-system emacs-build-system)
6151 (home-page "https://github.com/rudolfochrist/interleave")
6152 (synopsis "Emacs minor mode to interleave notes and text books")
6153 (description
6154 "Interleave is a minor mode that presents a document viewer side
6155 by side to an Org buffer with your notes relevant to the current page.")
6156 (license license:gpl3+)))
6157
6158 (define-public emacs-ivy
6159 (package
6160 (name "emacs-ivy")
6161 (version "0.13.0")
6162 (source
6163 (origin
6164 (method git-fetch)
6165 (uri (git-reference
6166 (url "https://github.com/abo-abo/swiper.git")
6167 (commit version)))
6168 (file-name (git-file-name name version))
6169 (sha256
6170 (base32
6171 "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
6172 (build-system emacs-build-system)
6173 (arguments
6174 `(#:phases
6175 (modify-phases %standard-phases
6176 (add-after 'install 'install-doc
6177 (lambda* (#:key outputs #:allow-other-keys)
6178 (let* ((out (assoc-ref outputs "out"))
6179 (info (string-append out "/share/info")))
6180 (with-directory-excursion "doc"
6181 (invoke "makeinfo" "ivy.texi")
6182 (install-file "ivy.info" info)
6183 #t))))
6184 (add-before 'check 'make-dummy-git-directory
6185 (lambda _
6186 (mkdir-p ".git")))
6187 (add-after 'check 'delete-dummy-git-directory
6188 (lambda _
6189 (delete-file-recursively ".git"))))
6190 #:tests? #t
6191 #:test-command '("make" "test")))
6192 (propagated-inputs
6193 `(("emacs-hydra" ,emacs-hydra)))
6194 (native-inputs
6195 `(("texinfo" ,texinfo)
6196 ("emacs-wgrep" ,emacs-wgrep)))
6197 (home-page "http://oremacs.com/swiper/")
6198 (synopsis "Incremental vertical completion for Emacs")
6199 (description
6200 "This package provides @code{ivy-read} as an alternative to
6201 @code{completing-read} and similar functions. No attempt is made to determine
6202 the best candidate. Instead, the user can navigate candidates with
6203 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
6204 splitting the input text by spaces and re-building it into a regular
6205 expression.")
6206 (license license:gpl3+)))
6207
6208 (define-public emacs-ivy-xref
6209 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
6210 (revision "1"))
6211 (package
6212 (name "emacs-ivy-xref")
6213 (version (git-version "0.1" revision commit))
6214 (source
6215 (origin
6216 (method git-fetch)
6217 (uri (git-reference
6218 (url "https://github.com/alexmurray/ivy-xref.git")
6219 (commit commit)))
6220 (file-name (git-file-name name version))
6221 (sha256
6222 (base32
6223 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
6224 (build-system emacs-build-system)
6225 (propagated-inputs
6226 `(("emacs-ivy" ,emacs-ivy)))
6227 (home-page "https://github.com/alexmurray/ivy-xref")
6228 (synopsis "Ivy interface for @code{xref}")
6229 (description "This package provides an Ivy interface for selecting from
6230 @code{xref} results.")
6231 (license license:gpl3))))
6232
6233 (define-public emacs-ivy-pass
6234 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
6235 (revision "1"))
6236 (package
6237 (name "emacs-ivy-pass")
6238 (version (git-version "0.1" revision commit))
6239 (source
6240 (origin
6241 (method git-fetch)
6242 (uri (git-reference
6243 (url "https://github.com/ecraven/ivy-pass.git")
6244 (commit commit)))
6245 (file-name (git-file-name name version))
6246 (sha256
6247 (base32
6248 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
6249 (build-system emacs-build-system)
6250 (propagated-inputs
6251 `(("emacs-ivy" ,emacs-ivy)
6252 ("emacs-password-store" ,emacs-password-store)
6253 ("password-store" ,password-store)))
6254 (home-page "https://github.com/ecraven/ivy-pass")
6255 (synopsis "Ivy interface for password store (pass)")
6256 (description "This package provides an Ivy interface for working with
6257 the password store @code{pass}.")
6258 (license license:gpl3))))
6259
6260 (define-public emacs-ivy-yasnippet
6261 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
6262 (revision "2"))
6263 (package
6264 (name "emacs-ivy-yasnippet")
6265 (version (git-version "0.1" revision commit))
6266 (source
6267 (origin
6268 (method git-fetch)
6269 (uri (git-reference
6270 (url "https://github.com/mkcms/ivy-yasnippet.git")
6271 (commit commit)))
6272 (file-name (git-file-name name version))
6273 (sha256
6274 (base32
6275 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
6276 (build-system emacs-build-system)
6277 (propagated-inputs
6278 `(("emacs-ivy" ,emacs-ivy)
6279 ("emacs-yasnippet" ,emacs-yasnippet)
6280 ("emacs-dash" ,emacs-dash)))
6281 (home-page "https://github.com/mkcms/ivy-yasnippet")
6282 (synopsis "Preview @code{yasnippets} with @code{ivy}")
6283 (description "This package allows you to select @code{yasnippet}
6284 snippets using @code{ivy} completion. When current selection changes in the
6285 minibuffer, the snippet contents are temporarily expanded in the buffer. To
6286 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
6287 @code{yas-minor-mode} first).")
6288 (license license:gpl3+))))
6289
6290 (define-public emacs-ivy-rich
6291 ;; The latest release version has a small mistake that has since been fixed,
6292 ;; so we use a more recent commit.
6293 (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
6294 (revision "2"))
6295 (package
6296 (name "emacs-ivy-rich")
6297 (version (git-version "0.1.4" revision commit))
6298 (source
6299 (origin
6300 (method git-fetch)
6301 (uri (git-reference
6302 (url "https://github.com/Yevgnen/ivy-rich.git")
6303 (commit commit)))
6304 (file-name (git-file-name name version))
6305 (sha256
6306 (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
6307 (build-system emacs-build-system)
6308 (propagated-inputs
6309 `(("emacs-ivy" ,emacs-ivy)))
6310 (home-page "https://github.com/Yevgnen/ivy-rich")
6311 (synopsis "More friendly interface for @code{ivy}")
6312 (description
6313 "This package extends @code{ivy} by showing more information in the
6314 minibuffer for each candidate. It adds columns showing buffer modes, file
6315 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
6316 show icons as well.")
6317 (license license:gpl3+))))
6318
6319 (define-public emacs-avy
6320 (package
6321 (name "emacs-avy")
6322 (version "0.5.0")
6323 (source
6324 (origin
6325 (method git-fetch)
6326 (uri (git-reference
6327 (url "https://github.com/abo-abo/avy.git")
6328 (commit version)))
6329 (file-name (git-file-name name version))
6330 (sha256
6331 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
6332 (build-system emacs-build-system)
6333 (arguments
6334 `(#:tests? #t
6335 #:test-command '("make" "test")))
6336 (home-page "https://github.com/abo-abo/avy")
6337 (synopsis "Tree-based completion for Emacs")
6338 (description
6339 "This package provides a generic completion method based on building a
6340 balanced decision tree with each candidate being a leaf. To traverse the tree
6341 from the root to a desired leaf, typically a sequence of @code{read-key} can
6342 be used.
6343
6344 In order for @code{read-key} to make sense, the tree needs to be visualized
6345 appropriately, with a character at each branch node. So this completion
6346 method works only for things that you can see on your screen, all at once,
6347 such as the positions of characters, words, line beginnings, links, or
6348 windows.")
6349 (license license:gpl3+)))
6350
6351 (define-public emacs-ace-window
6352 (package
6353 (name "emacs-ace-window")
6354 (version "0.10.0")
6355 (source
6356 (origin
6357 (method git-fetch)
6358 (uri (git-reference
6359 (url "https://github.com/abo-abo/ace-window.git")
6360 (commit version)))
6361 (file-name (git-file-name name version))
6362 (sha256
6363 (base32
6364 "0f3r40d5yxp2pm2j0nn86s29nqj8py0jxjbj50v4ci3hsd92d8jl"))))
6365 (build-system emacs-build-system)
6366 (propagated-inputs
6367 `(("emacs-avy" ,emacs-avy)))
6368 (home-page "https://github.com/abo-abo/ace-window")
6369 (synopsis "Quickly switch windows in Emacs")
6370 (description
6371 "@code{ace-window} is meant to replace @code{other-window}.
6372 In fact, when there are only two windows present, @code{other-window} is
6373 called. If there are more, each window will have its first character
6374 highlighted. Pressing that character will switch to that window.")
6375 (license license:gpl3+)))
6376
6377 (define-public emacs-iedit
6378 ;; Last release version was in 2016.
6379 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
6380 (revision "1"))
6381 (package
6382 (name "emacs-iedit")
6383 (version (git-version "0.9.9.9" revision commit))
6384 (source
6385 (origin
6386 (method git-fetch)
6387 (uri (git-reference
6388 (url "https://github.com/victorhge/iedit.git")
6389 (commit commit)))
6390 (file-name (git-file-name name version))
6391 (sha256
6392 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
6393 (build-system emacs-build-system)
6394 (home-page "https://www.emacswiki.org/emacs/Iedit")
6395 (synopsis "Edit multiple regions in the same way simultaneously")
6396 (description
6397 "This package is an Emacs minor mode and allows you to edit one
6398 occurrence of some text in a buffer (possibly narrowed) or region, and
6399 simultaneously have other occurrences edited in the same way.
6400
6401 You can also use Iedit mode as a quick way to temporarily show only the buffer
6402 lines that match the current text being edited. This gives you the effect of
6403 a temporary @code{keep-lines} or @code{occur}.")
6404 (license license:gpl3+))))
6405
6406 (define-public emacs-zoutline
6407 (package
6408 (name "emacs-zoutline")
6409 (version "0.2.0")
6410 (source
6411 (origin
6412 (method git-fetch)
6413 (uri (git-reference
6414 (url "https://github.com/abo-abo/zoutline")
6415 (commit version)))
6416 (sha256
6417 (base32
6418 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
6419 (file-name (git-file-name name version))))
6420 (build-system emacs-build-system)
6421 (home-page "https://github.com/abo-abo/zoutline")
6422 (synopsis "Simple outline library")
6423 (description
6424 "This library provides helpers for outlines. Outlines allow users to
6425 navigate code in a tree-like fashion.")
6426 (license license:gpl3+)))
6427
6428 (define-public emacs-lispy
6429 (package
6430 (name "emacs-lispy")
6431 (version "0.27.0")
6432 (home-page "https://github.com/abo-abo/lispy")
6433 (source (origin
6434 (method git-fetch)
6435 (uri (git-reference
6436 (url "https://github.com/abo-abo/lispy")
6437 (commit version)))
6438 (sha256
6439 (base32
6440 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
6441 (file-name (git-file-name name version))))
6442 (build-system emacs-build-system)
6443 (propagated-inputs
6444 `(("emacs-ace-window" ,emacs-ace-window)
6445 ("emacs-iedit" ,emacs-iedit)
6446 ("emacs-ivy" ,emacs-ivy)
6447 ("emacs-hydra" ,emacs-hydra)
6448 ("emacs-zoutline" ,emacs-zoutline)))
6449 (native-inputs
6450 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6451 ("emacs-undercover" ,emacs-undercover)))
6452 (arguments
6453 `(#:include (cons* "^lispy-clojure\\.clj$"
6454 "^lispy-python\\.py$"
6455 %default-include)
6456 #:phases
6457 ;; XXX: one failing test involving python evaluation
6458 (modify-phases %standard-phases
6459 (add-before 'check 'make-test-writable
6460 (lambda _
6461 (make-file-writable "lispy-test.el")
6462 #t))
6463 (add-before 'check 'remove-python-eval-test
6464 (lambda _
6465 (emacs-batch-edit-file "lispy-test.el"
6466 `(progn
6467 (progn
6468 (goto-char (point-min))
6469 (re-search-forward
6470 "ert-deftest lispy-eval-python-str")
6471 (beginning-of-line)
6472 (kill-sexp))
6473 (basic-save-buffer)))
6474 #t)))
6475 #:tests? #t
6476 #:test-command '("make" "test")))
6477 (synopsis "Modal S-expression editing")
6478 (description
6479 "Due to the structure of Lisp syntax it's very rare for the programmer
6480 to want to insert characters right before \"(\" or right after \")\". Thus
6481 unprefixed printable characters can be used to call commands when the point is
6482 at one of these special locations. Lispy provides unprefixed keybindings for
6483 S-expression editing when point is at the beginning or end of an
6484 S-expression.")
6485 (license license:gpl3+)))
6486
6487 (define-public emacs-lispyville
6488 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
6489 (revision "1"))
6490 (package
6491 (name "emacs-lispyville")
6492 (version (git-version "0.1" revision commit))
6493 (home-page "https://github.com/noctuid/lispyville")
6494 (source (origin
6495 (method git-fetch)
6496 (uri (git-reference (url home-page) (commit commit)))
6497 (sha256
6498 (base32
6499 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
6500 (file-name (git-file-name name version))))
6501 (propagated-inputs
6502 `(("emacs-evil" ,emacs-evil)
6503 ("emacs-lispy" ,emacs-lispy)))
6504 (build-system emacs-build-system)
6505 (arguments
6506 `(#:phases
6507 ;; XXX: mysterious whitespace issue with one test
6508 (modify-phases %standard-phases
6509 (add-before 'check 'make-test-writable
6510 (lambda _
6511 (make-file-writable "lispyville-test.el")
6512 #t))
6513 (add-after 'make-test-writable 'remove-test
6514 (lambda _
6515 (emacs-batch-edit-file "lispyville-test.el"
6516 `(progn (progn (goto-char (point-min))
6517 (re-search-forward
6518 "ert-deftest lispyville-comment-and-clone-dwim")
6519 (beginning-of-line)
6520 (kill-sexp))
6521 (basic-save-buffer))))))
6522 #:tests? #t
6523 #:test-command '("make" "test")))
6524 (synopsis "Minor mode for integrating Evil with lispy")
6525 (description
6526 "LispyVille's main purpose is to provide a Lisp editing environment
6527 suited towards Evil users. It can serve as a minimal layer on top of lispy
6528 for better integration with Evil, but it does not require the use of lispy’s
6529 keybinding style. The provided commands allow for editing Lisp in normal
6530 state and will work even without lispy being enabled.")
6531 (license license:gpl3+))))
6532
6533 (define-public emacs-lpy
6534 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
6535 (revision "3"))
6536 (package
6537 (name "emacs-lpy")
6538 (version (git-version "0.1.0" revision commit))
6539 (source
6540 (origin
6541 (method git-fetch)
6542 (uri (git-reference
6543 (url "https://github.com/abo-abo/lpy")
6544 (commit commit)))
6545 (sha256
6546 (base32
6547 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
6548 (file-name (git-file-name name version))))
6549 (propagated-inputs
6550 `(("emacs-zoutline" ,emacs-zoutline)
6551 ("emacs-lispy" ,emacs-lispy)))
6552 (build-system emacs-build-system)
6553 (home-page "https://github.com/abo-abo/lpy")
6554 (synopsis "Modal editing for Python")
6555 (description
6556 "This package provides a minor mode for Python that binds useful
6557 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
6558 circumstances, and leaves the keys untouched outside of those situations,
6559 allowing unprefixed keys to insert their respective characters as expected.")
6560 (license license:gpl3+))))
6561
6562 (define-public emacs-clojure-mode
6563 (package
6564 (name "emacs-clojure-mode")
6565 (version "5.11.0")
6566 (source
6567 (origin
6568 (method git-fetch)
6569 (uri (git-reference
6570 (url "https://github.com/clojure-emacs/clojure-mode.git")
6571 (commit version)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32 "1x1yszp6waa778ki6sw66w1pzcz389wd01gkcldfxxnd7z89ad5d"))))
6575 (build-system emacs-build-system)
6576 (native-inputs
6577 `(("emacs-buttercup" ,emacs-buttercup)
6578 ("emacs-dash" ,emacs-dash)
6579 ("emacs-s" ,emacs-s)))
6580 (arguments
6581 `(#:tests? #t
6582 #:test-command '("buttercup")))
6583 (home-page "https://github.com/clojure-emacs/clojure-mode")
6584 (synopsis "Major mode for Clojure code")
6585 (description
6586 "This Emacs package provides font-lock, indentation, navigation and basic
6587 refactoring for the @uref{http://clojure.org, Clojure programming language}.
6588 It is recommended to use @code{clojure-mode} with Paredit or Smartparens.")
6589 (license license:gpl3+)))
6590
6591 (define-public emacs-epl
6592 (package
6593 (name "emacs-epl")
6594 (version "0.8")
6595 (source
6596 (origin
6597 (method git-fetch)
6598 (uri (git-reference
6599 (url "https://github.com/cask/epl.git")
6600 (commit version)))
6601 (file-name (git-file-name name version))
6602 (sha256
6603 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
6604 (build-system emacs-build-system)
6605 (home-page "https://github.com/cask/epl")
6606 (synopsis "Emacs Package Library")
6607 (description
6608 "A package management library for Emacs, based on @code{package.el}.
6609
6610 The purpose of this library is to wrap all the quirks and hassle of
6611 @code{package.el} into a sane API.")
6612 (license license:gpl3+)))
6613
6614 (define-public emacs-counsel-projectile
6615 (package
6616 (name "emacs-counsel-projectile")
6617 (version "0.3.0")
6618 (source (origin
6619 (method git-fetch)
6620 (uri (git-reference
6621 (url "https://github.com/ericdanan/counsel-projectile")
6622 (commit version)))
6623 (file-name (git-file-name name version))
6624 (sha256
6625 (base32
6626 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
6627 (build-system emacs-build-system)
6628 (propagated-inputs
6629 `(("emacs-ivy" ,emacs-ivy)
6630 ("emacs-projectile" ,emacs-projectile)))
6631 (home-page "https://github.com/ericdanan/counsel-projectile")
6632 (synopsis "Enhance Projectile with Ivy")
6633 (description
6634 "This package uses Ivy to provide additional actions for Projectile
6635 commands and replacements for existing functions.")
6636 (license license:gpl3+)))
6637
6638 (define-public emacs-queue
6639 (package
6640 (name "emacs-queue")
6641 (version "0.2")
6642 (source (origin
6643 (method url-fetch)
6644 (uri (string-append "https://elpa.gnu.org/packages/queue-"
6645 version ".el"))
6646 (sha256
6647 (base32
6648 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
6649 (build-system emacs-build-system)
6650 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
6651 (synopsis "Queue data structure for Emacs")
6652 (description
6653 "This Emacs library provides queue data structure. These queues can be
6654 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
6655 stack, i.e. elements can be added to the front or back of the queue, and can
6656 be removed from the front. This type of data structure is sometimes called an
6657 \"output-restricted deque\".")
6658 (license license:gpl3+)))
6659
6660 (define-public emacs-pkg-info
6661 (package
6662 (name "emacs-pkg-info")
6663 (version "0.6")
6664 (source
6665 (origin
6666 (method git-fetch)
6667 (uri (git-reference
6668 (url "https://github.com/lunaryorn/pkg-info.el.git")
6669 (commit version)))
6670 (file-name (git-file-name name version))
6671 (sha256
6672 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
6673 (build-system emacs-build-system)
6674 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
6675 (home-page "https://github.com/lunaryorn/pkg-info.el")
6676 (synopsis "Information about Emacs packages")
6677 (description
6678 "This library extracts information from the installed Emacs packages.")
6679 (license license:gpl3+)))
6680
6681 (define-public emacs-spinner
6682 (package
6683 (name "emacs-spinner")
6684 (version "1.7.3")
6685 (source (origin
6686 (method url-fetch)
6687 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
6688 version ".el"))
6689 (sha256
6690 (base32
6691 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
6692 (build-system emacs-build-system)
6693 (home-page "https://github.com/Malabarba/spinner.el")
6694 (synopsis "Emacs mode-line spinner for operations in progress")
6695 (description
6696 "This Emacs package adds spinners and progress-bars to the mode-line for
6697 ongoing operations.")
6698 (license license:gpl3+)))
6699
6700 (define-public emacs-sparql-mode
6701 (package
6702 (name "emacs-sparql-mode")
6703 (version "2.0.1")
6704 (source
6705 (origin
6706 (method git-fetch)
6707 (uri (git-reference
6708 (url "https://github.com/ljos/sparql-mode.git")
6709 (commit (string-append "v" version))))
6710 (file-name (git-file-name name version))
6711 (sha256
6712 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
6713 (build-system emacs-build-system)
6714 (home-page "https://github.com/ljos/sparql-mode")
6715 (synopsis "SPARQL mode for Emacs")
6716 (description "This package provides a major mode for Emacs that provides
6717 syntax highlighting for SPARQL. It also provides a way to execute queries
6718 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
6719 possible to query other endpoints like DBPedia.")
6720 (license license:gpl3+)))
6721
6722 (define-public emacs-better-defaults
6723 (package
6724 (name "emacs-better-defaults")
6725 (version "0.1.3")
6726 (source
6727 (origin
6728 (method git-fetch)
6729 (uri (git-reference
6730 (url "https://github.com/technomancy/better-defaults")
6731 (commit version)))
6732 (file-name (git-file-name name version))
6733 (sha256
6734 (base32
6735 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
6736 (build-system emacs-build-system)
6737 (home-page "https://github.com/technomancy/better-defaults")
6738 (synopsis "Better defaults for Emacs")
6739 (description
6740 "Better defaults attempts to address the most obvious deficiencies of the
6741 Emacs default configuration in uncontroversial ways that nearly everyone can
6742 agree upon.")
6743 (license license:gpl3+)))
6744
6745 (define-public emacs-undohist-el
6746 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
6747 (revision "1"))
6748 (package
6749 (name "emacs-undohist-el")
6750 (version (git-version "0" revision commit))
6751 (source
6752 (origin
6753 (method git-fetch)
6754 (uri (git-reference
6755 (url "https://github.com/m2ym/undohist-el")
6756 (commit commit)))
6757 (file-name (git-file-name name version))
6758 (sha256
6759 (base32
6760 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
6761 (patches
6762 (search-patches "emacs-undohist-ignored.patch"))))
6763 (build-system emacs-build-system)
6764 (home-page "https://github.com/m2ym/undohist-el")
6765 (synopsis "Save undo history between sessions")
6766 (description "This package allows persistent use of undo history for
6767 individual file buffers.")
6768 (license license:gpl3+))))
6769
6770 (define-public emacs-eprime
6771 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
6772 (package
6773 (name "emacs-eprime")
6774 (version (string-append "20140513-" (string-take commit 7)))
6775 (source (origin
6776 (method url-fetch)
6777 (uri (string-append "https://raw.githubusercontent.com"
6778 "/AndrewHynes/eprime-mode/"
6779 commit "/eprime-mode.el"))
6780 (file-name (string-append "eprime-" version ".el"))
6781 (sha256
6782 (base32
6783 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
6784 (build-system emacs-build-system)
6785 (home-page "https://github.com/AndrewHynes/eprime-mode")
6786 (synopsis "E-prime checking mode for Emacs")
6787 (description "This package provides an E-prime checking mode for Emacs
6788 that highlights non-conforming text. The subset of the English language called
6789 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
6790 (license license:gpl3+))))
6791
6792 (define-public emacs-julia-mode
6793 ;; XXX: Upstream version remained stuck at 0.3. See
6794 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
6795 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
6796 (revision "1"))
6797 (package
6798 (name "emacs-julia-mode")
6799 (version (string-append "0.3-" revision "." (string-take commit 8)))
6800 (source
6801 (origin
6802 (method git-fetch)
6803 (uri (git-reference
6804 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
6805 (commit commit)))
6806 (file-name (git-file-name name version))
6807 (sha256
6808 (base32
6809 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
6810 (build-system emacs-build-system)
6811 (arguments
6812 `(#:tests? #t
6813 #:test-command '("emacs" "--batch"
6814 "-l" "julia-mode-tests.el"
6815 "-f" "ert-run-tests-batch-and-exit")))
6816 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
6817 (synopsis "Major mode for Julia")
6818 (description "This Emacs package provides a mode for the Julia
6819 programming language.")
6820 (license license:expat))))
6821
6822 (define-public emacs-smex
6823 (package
6824 (name "emacs-smex")
6825 (version "3.0")
6826 (source (origin
6827 (method url-fetch)
6828 (uri (string-append "https://raw.githubusercontent.com"
6829 "/nonsequitur/smex/" version "/smex.el"))
6830 (file-name (string-append "smex-" version ".el"))
6831 (sha256
6832 (base32
6833 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
6834 (build-system emacs-build-system)
6835 (home-page "https://github.com/nonsequitur/smex/")
6836 (synopsis "M-x interface with Ido-style fuzzy matching")
6837 (description
6838 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
6839 convenient interface to your recently and most frequently used commands. And
6840 to all the other commands, too.")
6841 (license license:gpl3+)))
6842
6843 (define-public emacs-js2-mode
6844 (package
6845 (name "emacs-js2-mode")
6846 (version "20190219")
6847 (source
6848 (origin
6849 (method git-fetch)
6850 (uri (git-reference
6851 (url "https://github.com/mooz/js2-mode.git")
6852 (commit version)))
6853 (file-name (git-file-name name version))
6854 (sha256
6855 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
6856 (build-system emacs-build-system)
6857 (arguments
6858 `(#:tests? #t
6859 #:test-command '("make" "test")))
6860 (home-page "https://github.com/mooz/js2-mode/")
6861 (synopsis "Improved JavaScript editing mode for Emacs")
6862 (description
6863 "Js2-mode provides a JavaScript major mode for Emacs that is more
6864 advanced than the built-in javascript-mode. Features include accurate syntax
6865 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
6866 errors and strict-mode warnings, smart line-wrapping within comments and
6867 strings, and code folding.")
6868 (license license:gpl3+)))
6869
6870 (define-public emacs-nodejs-repl
6871 (package
6872 (name "emacs-nodejs-repl")
6873 (version "0.2.2")
6874 (source (origin
6875 (method git-fetch)
6876 (uri (git-reference
6877 (url "https://github.com/abicky/nodejs-repl.el")
6878 (commit version)))
6879 (file-name (git-file-name name version))
6880 (sha256
6881 (base32
6882 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
6883 (build-system emacs-build-system)
6884 (inputs
6885 `(("node" ,node)))
6886 (native-inputs
6887 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
6888 (arguments
6889 `(#:phases
6890 (modify-phases %standard-phases
6891 (add-after 'unpack 'set-shell
6892 ;; Setting the SHELL environment variable is required for the tests
6893 ;; to find sh.
6894 (lambda _
6895 (setenv "SHELL" (which "sh"))
6896 #t))
6897 (add-after 'unpack 'configure
6898 (lambda* (#:key inputs outputs #:allow-other-keys)
6899 (let ((node (assoc-ref inputs "node")))
6900 ;; Specify the absolute file names of the various
6901 ;; programs so that everything works out-of-the-box.
6902 (make-file-writable "nodejs-repl.el")
6903 (emacs-substitute-variables
6904 "nodejs-repl.el"
6905 ("nodejs-repl-command"
6906 (string-append node "/bin/node")))))))
6907 #:tests? #t
6908 #:test-command '("emacs" "-Q" "--batch"
6909 "-L" "."
6910 "-l" "test/test.el"
6911 "-f" "ert-run-tests-batch-and-exit")))
6912 (home-page "https://github.com/abicky/nodejs-repl.el")
6913 (synopsis "Node.js REPL inside Emacs")
6914 (description
6915 "This program is derived from comint-mode and provides the following
6916 features:
6917
6918 @itemize
6919 @item TAB completion same as Node.js REPL
6920 @item file name completion in string
6921 @item incremental history search
6922 @end itemize")
6923 (license license:gpl3+)))
6924
6925 (define-public emacs-typescript-mode
6926 (package
6927 (name "emacs-typescript-mode")
6928 (version "0.3")
6929 (source (origin
6930 (method git-fetch)
6931 (uri (git-reference
6932 (url "https://github.com/ananthakumaran/typescript.el")
6933 (commit (string-append "v" version))))
6934 (file-name (git-file-name name version))
6935 (sha256
6936 (base32
6937 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
6938 (build-system emacs-build-system)
6939 (home-page "https://github.com/ananthakumaran/typescript.el")
6940 (synopsis "Emacs major mode for editing Typescript code")
6941 (description
6942 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
6943 This is much more robust and works with @code{cc-mode}'s comment
6944 filling (mostly). The modifications to the original @code{javascript.el} mode
6945 mainly consisted in replacing \"javascript\" with \"typescript\"
6946
6947 The main features of this Typescript mode are syntactic highlighting (enabled
6948 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
6949 indentation and filling of comments and C preprocessor fontification.")
6950 (license license:gpl3+)))
6951
6952 (define-public emacs-tide
6953 (package
6954 (name "emacs-tide")
6955 (version "3.2.3")
6956 (source (origin
6957 (method git-fetch)
6958 (uri (git-reference
6959 (url "https://github.com/ananthakumaran/tide")
6960 (commit (string-append "v" version))))
6961 (file-name (git-file-name name version))
6962 (sha256
6963 (base32
6964 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
6965 (build-system emacs-build-system)
6966 (propagated-inputs
6967 `(("emacs-dash" ,emacs-dash)
6968 ("emacs-s" ,emacs-s)
6969 ("emacs-flycheck" ,emacs-flycheck)
6970 ("emacs-typescript-mode" ,emacs-typescript-mode)))
6971 (home-page "https://github.com/ananthakumaran/tide")
6972 (synopsis "Typescript IDE for Emacs")
6973 (description
6974 "Tide is an Interactive Development Environment (IDE) for Emacs which
6975 provides the following features:
6976
6977 @itemize
6978 @item ElDoc
6979 @item Auto complete
6980 @item Flycheck
6981 @item Jump to definition, Jump to type definition
6982 @item Find occurrences
6983 @item Rename symbol
6984 @item Imenu
6985 @item Compile On Save
6986 @item Highlight Identifiers
6987 @item Code Fixes
6988 @item Code Refactor
6989 @item Organize Imports
6990 @end itemize")
6991 (license license:gpl3+)))
6992
6993 (define-public emacs-markdown-mode
6994 (package
6995 (name "emacs-markdown-mode")
6996 (version "2.3")
6997 (source (origin
6998 (method git-fetch)
6999 (uri (git-reference
7000 (url "https://github.com/jrblevin/markdown-mode.git")
7001 (commit (string-append "v" version))))
7002 (file-name (git-file-name name version))
7003 (sha256
7004 (base32
7005 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
7006 (build-system emacs-build-system)
7007 (home-page "https://jblevins.org/projects/markdown-mode/")
7008 (synopsis "Emacs Major mode for Markdown files")
7009 (description
7010 "Markdown-mode is a major mode for editing Markdown-formatted text files
7011 in Emacs.")
7012 (license license:gpl3+)))
7013
7014 (define-public emacs-evil-markdown
7015 (let ((commit "685d7fbb81bc02fa32779d2a127b99a0c8c7436b")
7016 (revision "2"))
7017 (package
7018 (name "emacs-evil-markdown")
7019 (version (git-version "0.0.2" revision commit))
7020 (source
7021 (origin
7022 (method git-fetch)
7023 (uri (git-reference
7024 (url "https://github.com/Somelauw/evil-markdown.git")
7025 (commit commit)))
7026 (file-name (git-file-name name version))
7027 (sha256
7028 (base32 "1z1sjn6dcqv8mmkh6nfcwhnql2z6xr9yx3hs77bfxj79pf3c466p"))))
7029 (build-system emacs-build-system)
7030 (propagated-inputs
7031 `(("emacs-evil" ,emacs-evil)
7032 ("emacs-markdown-mode" ,emacs-markdown-mode)))
7033 (home-page "https://github.com/Somelauw/evil-markdown/")
7034 (synopsis "Evil keybindings for @code{markdown-mode}")
7035 (description
7036 "This package provides custom text objects and bindings for
7037 @code{markdown-mode}.")
7038 (license license:gpl3+))))
7039
7040 (define-public emacs-edit-indirect
7041 (package
7042 (name "emacs-edit-indirect")
7043 (version "0.1.5")
7044 (source
7045 (origin
7046 (method git-fetch)
7047 (uri (git-reference
7048 (url "https://github.com/Fanael/edit-indirect")
7049 (commit version)))
7050 (file-name (git-file-name name version))
7051 (sha256
7052 (base32
7053 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
7054 (build-system emacs-build-system)
7055 (home-page "https://github.com/Fanael/edit-indirect")
7056 (synopsis "Edit regions in separate buffers")
7057 (description "This package allows you to edit regions in separate buffers,
7058 like @code{org-edit-src-code} but for arbitrary regions.")
7059 (license license:gpl3+)))
7060
7061 (define-public emacs-projectile
7062 (package
7063 (name "emacs-projectile")
7064 (version "2.1.0")
7065 (source (origin
7066 (method url-fetch)
7067 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
7068 "/projectile/v" version "/projectile.el"))
7069 (file-name (string-append "projectile-" version ".el"))
7070 (sha256
7071 (base32
7072 "1jj9wk91clyph3zmxkd7y7d6gdqmjd1vndhyq5fxp7i7dy013571"))))
7073 (build-system emacs-build-system)
7074 (propagated-inputs
7075 `(("emacs-dash" ,emacs-dash)
7076 ("emacs-pkg-info" ,emacs-pkg-info)))
7077 (home-page "https://github.com/bbatsov/projectile")
7078 (synopsis "Manage and navigate projects in Emacs easily")
7079 (description
7080 "This library provides easy project management and navigation. The
7081 concept of a project is pretty basic - just a folder containing special file.
7082 Currently git, mercurial and bazaar repos are considered projects by default.
7083 If you want to mark a folder manually as a project just create an empty
7084 .projectile file in it.")
7085 (license license:gpl3+)))
7086
7087 (define-public emacs-skeletor
7088 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
7089 (revision "1"))
7090 (package
7091 (name "emacs-skeletor")
7092 (version (git-version "1.6.1" revision commit))
7093 (source (origin
7094 (method git-fetch)
7095 (uri (git-reference
7096 (url "https://github.com/chrisbarrett/skeletor.el.git")
7097 (commit commit)))
7098 (file-name (git-file-name name version))
7099 (sha256
7100 (base32
7101 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
7102 (build-system emacs-build-system)
7103 (propagated-inputs
7104 `(("emacs-s" ,emacs-s)
7105 ("emacs-f" ,emacs-f)
7106 ("emacs-dash" ,emacs-dash)
7107 ("emacs-let-alist" ,emacs-let-alist)))
7108 (native-inputs
7109 `(("emacs-ert-runner" ,emacs-ert-runner)))
7110 (arguments
7111 `(#:include (cons "^project-skeletons\\/" %default-include)
7112 ;; XXX: one failing test involving initializing a git repo
7113 #:phases
7114 (modify-phases %standard-phases
7115 (add-before 'check 'make-test-writable
7116 (lambda _
7117 (make-file-writable "test/skeletor-test.el")
7118 #t))
7119 (add-before 'check 'remove-git-test
7120 (lambda _
7121 (emacs-batch-edit-file "test/skeletor-test.el"
7122 `(progn
7123 (progn
7124 (goto-char (point-min))
7125 (re-search-forward
7126 "ert-deftest initialises-git-repo")
7127 (beginning-of-line)
7128 (kill-sexp))
7129 (basic-save-buffer)))
7130 #t)))
7131 #:tests? #t
7132 #:test-command '("ert-runner")))
7133 (home-page "https://github.com/chrisbarrett/skeletor.el")
7134 (synopsis "Project skeletons for Emacs")
7135 (description "This package provides project templates and automates the
7136 mundane parts of setting up a new project, such as version control, licenses,
7137 and tooling.")
7138 (license license:gpl3+))))
7139
7140 (define-public emacs-elfeed
7141 (package
7142 (name "emacs-elfeed")
7143 (version "3.3.0")
7144 (source
7145 (origin
7146 (method git-fetch)
7147 (uri (git-reference
7148 (url "https://github.com/skeeto/elfeed.git")
7149 (commit version)))
7150 (file-name (git-file-name name version))
7151 (sha256
7152 (base32 "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"))))
7153 (build-system emacs-build-system)
7154 (arguments
7155 `(#:tests? #t
7156 #:test-command '("make" "test")))
7157 (home-page "https://github.com/skeeto/elfeed")
7158 (synopsis "Atom/RSS feed reader for Emacs")
7159 (description
7160 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
7161 and RSS, with a user interface inspired by notmuch.")
7162 (license license:gpl3+)))
7163
7164 (define-public emacs-elfeed-org
7165 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
7166 (package
7167 (name "emacs-elfeed-org")
7168 (version (git-version "0.1" "1" commit))
7169 (source
7170 (origin
7171 (method git-fetch)
7172 (uri (git-reference
7173 (url "https://github.com/remyhonig/elfeed-org.git")
7174 (commit commit)))
7175 (file-name (git-file-name name version))
7176 (sha256
7177 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
7178 (build-system emacs-build-system)
7179 (propagated-inputs
7180 `(("emacs-elfeed" ,emacs-elfeed)
7181 ("emacs-org" ,emacs-org)
7182 ("emacs-dash" ,emacs-dash)
7183 ("emacs-s" ,emacs-s)))
7184 (native-inputs
7185 `(("ert-runner" ,emacs-ert-runner)
7186 ("emacs-xtest" ,emacs-xtest)))
7187 (arguments
7188 `(#:tests? #t
7189 #:test-command '("ert-runner" "-L" "org-mode/lisp")
7190 #:phases
7191 (modify-phases %standard-phases
7192 (add-before 'check 'chmod
7193 (lambda _
7194 (chmod "test/fixture-mark-feed-ignore.org" #o644)
7195 #t)))))
7196 (home-page "https://github.com/remyhonig/elfeed-org")
7197 (synopsis "Configure Elfeed with an Org-mode file")
7198 (description
7199 "@code{elfeed-org} lets you manage your Elfeed subscriptions
7200 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
7201 the regular flat list, where there is no hierarchy and tag names are
7202 duplicated a lot. Org-mode makes the book keeping of tags and feeds
7203 much easier.")
7204 (license license:gpl3+))))
7205
7206 (define-public emacs-el-x
7207 (package
7208 (name "emacs-el-x")
7209 (version "0.3.1")
7210 (source (origin
7211 (method git-fetch)
7212 (uri (git-reference
7213 (url "https://github.com/sigma/el-x.git")
7214 (commit (string-append "v" version))))
7215 (file-name (git-file-name name version))
7216 (sha256
7217 (base32
7218 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
7219 (build-system emacs-build-system)
7220 (arguments
7221 `(#:phases
7222 (modify-phases %standard-phases
7223 ;; Move the source files to the top level, which is included in
7224 ;; the EMACSLOADPATH.
7225 (add-after 'unpack 'move-source-files
7226 (lambda _
7227 (let ((el-files (find-files "./lisp" ".*\\.el$")))
7228 (for-each (lambda (f)
7229 (rename-file f (basename f)))
7230 el-files))
7231 #t)))))
7232 (home-page "https://github.com/sigma/el-x")
7233 (synopsis "Emacs Lisp extensions")
7234 (description "command@{emacs-el-x} defines the @code{dflet} macro to
7235 provide the historic behavior of @code{flet}, as well as
7236 @code{declare-function} stub for older Emacs.")
7237 (license license:gpl2+)))
7238
7239 (define-public emacs-mocker
7240 (package
7241 (name "emacs-mocker")
7242 (version "0.3.1")
7243 (source (origin
7244 (method git-fetch)
7245 (uri (git-reference
7246 (url "https://github.com/sigma/mocker.el.git")
7247 (commit (string-append "v" version))))
7248 (file-name (git-file-name name version))
7249 (sha256
7250 (base32
7251 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
7252 (build-system emacs-build-system)
7253 (arguments
7254 `(#:tests? #t
7255 #:test-command '("ert-runner")))
7256 (native-inputs
7257 `(("ert-runner" ,emacs-ert-runner)))
7258 (propagated-inputs
7259 `(("emacs-el-x" ,emacs-el-x)))
7260 (home-page "https://github.com/sigma/mocker.el")
7261 (synopsis "Mocking framework for Emacs Lisp")
7262 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
7263 It uses regular Lisp rather than a domain specific language (DSL), which
7264 maximizes flexibility (at the expense of conciseness).")
7265 (license license:gpl2+)))
7266
7267 (define-public emacs-find-file-in-project
7268 (package
7269 (name "emacs-find-file-in-project")
7270 (version "5.7.7")
7271 (source (origin
7272 (method git-fetch)
7273 (uri (git-reference
7274 (url "https://github.com/technomancy/find-file-in-project.git")
7275 (commit version)))
7276 (file-name (git-file-name name version))
7277 (sha256
7278 (base32
7279 "1skjbh7m0cck2rwmgzrrds51gipqf1jqghyfx15drc1n6kwivx3h"))))
7280 (build-system emacs-build-system)
7281 (arguments
7282 `(#:tests? #t
7283 #:test-command '("ert-runner" "tests")))
7284 (native-inputs
7285 `(("ert-runner" ,emacs-ert-runner)))
7286 (home-page "https://github.com/technomancy/find-file-in-project")
7287 (synopsis "File/directory finder for Emacs")
7288 (description "@code{find-file-in-project} finds files or
7289 directories quickly in the current project. The project root is detected
7290 automatically when Git, Subversion or Mercurial are used. It also provides
7291 functions to assist in reviewing changes on files.")
7292 (license license:gpl3+)))
7293
7294 (define-public emacs-pyvenv
7295 (package
7296 (name "emacs-pyvenv")
7297 (version "1.21")
7298 (source (origin
7299 (method git-fetch)
7300 (uri (git-reference
7301 (url "https://github.com/jorgenschaefer/pyvenv.git")
7302 (commit (string-append "v" version))))
7303 (file-name (git-file-name name version))
7304 (sha256
7305 (base32
7306 "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"))))
7307 (build-system emacs-build-system)
7308 (arguments
7309 `(#:phases
7310 (modify-phases %standard-phases
7311 ;; This phase incorrectly attempts to substitute "activate" and fails
7312 ;; doing so.
7313 (delete 'patch-el-files))
7314 #:tests? #t
7315 #:test-command '("ert-runner")))
7316 (native-inputs
7317 `(("ert-runner" ,emacs-ert-runner)
7318 ("emacs-mocker" ,emacs-mocker)))
7319 (home-page "https://github.com/jorgenschaefer/pyvenv")
7320 (synopsis "Python virtual environment interface for Emacs")
7321 (description "pyvenv.el is a minor mode to support using Python virtual
7322 environments (virtualenv) inside Emacs.")
7323 (license license:gpl3+)))
7324
7325 (define-public emacs-highlight-indent-guides
7326 (let ((version "0.8.5") ; from package metadata
7327 (revision "0")
7328 (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c"))
7329 (package
7330 (name "emacs-highlight-indent-guides")
7331 (version (git-version version revision commit))
7332 (source
7333 (origin
7334 (method git-fetch)
7335 (uri (git-reference
7336 (url "https://github.com/DarthFennec/highlight-indent-guides.git")
7337 (commit commit)))
7338 (file-name (git-file-name name version))
7339 (sha256
7340 (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2"))))
7341 (build-system emacs-build-system)
7342 (home-page
7343 "https://github.com/DarthFennec/highlight-indent-guides")
7344 (synopsis "Minor mode to highlight indentation")
7345 (description
7346 "This package provides a minor mode to highlight indentation levels via
7347 font-lock. Indent widths are dynamically discovered, which means this
7348 correctly highlights in any mode, regardless of indent width, even in
7349 languages with non-uniform indentation such as Haskell. This mode works
7350 properly around hard tabs and mixed indentation and behaves well in large
7351 buffers.")
7352 (license license:expat))))
7353
7354 (define-public emacs-highlight-indentation
7355 ;; Last release version is from 2015.
7356 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
7357 (revision "1"))
7358 (package
7359 (name "emacs-highlight-indentation")
7360 (version (git-version "0.7.0" revision commit))
7361 (source
7362 (origin
7363 (method git-fetch)
7364 (uri (git-reference
7365 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
7366 (commit commit)))
7367 (file-name (git-file-name name version))
7368 (sha256
7369 (base32
7370 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
7371 (build-system emacs-build-system)
7372 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
7373 (synopsis "Highlighting indentation for Emacs")
7374 (description "This package provides two minor modes to highlight
7375 indentation guides in Emacs:
7376
7377 @enumerate
7378 @item @code{highlight-indentation-mode}, which displays guidelines
7379 indentation (space indentation only).
7380 @item @code{highlight-indentation-current-column-mode}, which displays
7381 guidelines for the current-point indentation (space indentation only).
7382 @end enumerate")
7383 (license license:gpl2+))))
7384
7385 (define-public emacs-elpy
7386 (package
7387 (name "emacs-elpy")
7388 (version "1.32.0")
7389 (source (origin
7390 (method git-fetch)
7391 (uri (git-reference
7392 (url "https://github.com/jorgenschaefer/elpy.git")
7393 (commit version)))
7394 (file-name (git-file-name name version))
7395 (sha256
7396 (base32
7397 "0f00mdnzx6xqwni86rgvaa6sfkwyh62xfbwz8qsar15j0j6vc2dj"))))
7398 (build-system emacs-build-system)
7399 (arguments
7400 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
7401 #:phases
7402 (modify-phases %standard-phases
7403 ;; The default environment of the RPC uses Virtualenv to install
7404 ;; Python dependencies from PyPI. We don't want/need this in Guix.
7405 (add-before 'check 'do-not-use-virtualenv
7406 (lambda _
7407 (setenv "ELPY_TEST_DONT_USE_VIRTUALENV" "1")
7408 (substitute* "elpy-rpc.el"
7409 (("defcustom elpy-rpc-virtualenv-path 'default")
7410 "defcustom elpy-rpc-virtualenv-path 'system"))
7411 #t))
7412 (add-before 'check 'build-doc
7413 (lambda _
7414 (with-directory-excursion "docs"
7415 (invoke "make" "info" "man"))
7416 ;; Move .info file at the root so that it can installed by the
7417 ;; 'move-doc phase.
7418 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
7419 #t))
7420 (add-after 'build-doc 'install-manpage
7421 (lambda* (#:key outputs #:allow-other-keys)
7422 (let* ((out (assoc-ref outputs "out"))
7423 (man1 (string-append out "/share/man/man1")))
7424 (mkdir-p man1)
7425 (copy-file "docs/_build/man/elpy.1"
7426 (string-append man1 "/elpy.1")))
7427 #t)))
7428 #:tests? #t
7429 #:test-command '("ert-runner")))
7430 (propagated-inputs
7431 `(("emacs-company" ,emacs-company)
7432 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
7433 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
7434 ("emacs-yasnippet" ,emacs-yasnippet)
7435 ("pyvenv" ,emacs-pyvenv)
7436 ("s" ,emacs-s)
7437 ;; The following are recommended Python dependencies that make Elpy
7438 ;; much more useful. Installing these avoids Elpy prompting to install them
7439 ;; from PyPI using pip.
7440 ("python-autopep8" ,python-autopep8)
7441 ("python-black" ,python-black)
7442 ("python-flake8" ,python-flake8)
7443 ("python-jedi" ,python-jedi)
7444 ("python-rope" ,python-rope)
7445 ("python-yapf" ,python-yapf)))
7446 (native-inputs
7447 `(("ert-runner" ,emacs-ert-runner)
7448 ("emacs-f" ,emacs-f)
7449 ("python" ,python-wrapper)
7450 ;; For documentation.
7451 ("python-sphinx" ,python-sphinx)
7452 ("texinfo" ,texinfo)))
7453 (home-page "https://github.com/jorgenschaefer/elpy")
7454 (synopsis "Python development environment for Emacs")
7455 (description "Elpy brings powerful Python editing to Emacs. It combines
7456 and configures a number of other packages written in Emacs Lisp as well as
7457 Python, together offering features such as navigation, documentation,
7458 completion, interactive development and more.")
7459 (license license:gpl3+)))
7460
7461 (define-public emacs-rainbow-delimiters
7462 (package
7463 (name "emacs-rainbow-delimiters")
7464 (version "2.1.4")
7465 (source (origin
7466 (method git-fetch)
7467 (uri (git-reference
7468 (url "https://github.com/Fanael/rainbow-delimiters.git")
7469 (commit version)))
7470 (file-name (git-file-name name version))
7471 (sha256
7472 (base32
7473 "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"))))
7474 (build-system emacs-build-system)
7475 (home-page "https://github.com/Fanael/rainbow-delimiters")
7476 (arguments
7477 `(#:tests? #t
7478 #:test-command '("emacs" "-Q" "-batch"
7479 "-l" "rainbow-delimiters-test.el"
7480 "-f" "ert-run-tests-batch-and-exit")))
7481 (synopsis "Highlight brackets according to their depth")
7482 (description
7483 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
7484 highlights parentheses, brackets, and braces according to their depth. Each
7485 successive level is highlighted in a different color, making it easy to spot
7486 matching delimiters, orient yourself in the code, and tell which statements
7487 are at a given level.")
7488 (license license:gpl3+)))
7489
7490 (define-public emacs-rainbow-identifiers
7491 (package
7492 (name "emacs-rainbow-identifiers")
7493 (version "0.2.2")
7494 (source (origin
7495 (method url-fetch)
7496 (uri (string-append "https://raw.githubusercontent.com/Fanael"
7497 "/rainbow-identifiers/" version
7498 "/rainbow-identifiers.el"))
7499 (file-name (string-append "rainbow-identifiers-" version ".el"))
7500 (sha256
7501 (base32
7502 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
7503 (build-system emacs-build-system)
7504 (home-page "https://github.com/Fanael/rainbow-identifiers")
7505 (synopsis "Highlight identifiers in source code")
7506 (description
7507 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
7508 identifiers based on their names. Each identifier gets a color based on a hash
7509 of its name.")
7510 (license license:bsd-2)))
7511
7512 (define-public emacs-rainbow-mode
7513 (package
7514 (name "emacs-rainbow-mode")
7515 (version "1.0.2")
7516 (source (origin
7517 (method url-fetch)
7518 (uri (string-append
7519 "https://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
7520 (sha256
7521 (base32
7522 "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd"))))
7523 (build-system emacs-build-system)
7524 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
7525 (synopsis "Colorize color names in buffers")
7526 (description
7527 "This minor mode sets background color to strings that match color
7528 names, e.g. #0000ff is displayed in white with a blue background.")
7529 (license license:gpl3+)))
7530
7531 (define-public emacs-ryo-modal
7532 ;; Package has no release. Version is extracted from "Version:" keyword in
7533 ;; main file.
7534 (let ((commit "3a54312eea7023a86ca3f8eb3c03c872554bff2f")
7535 (revision "0"))
7536 (package
7537 (name "emacs-ryo-modal")
7538 (version (git-version "0.4" revision commit))
7539 (source
7540 (origin
7541 (method git-fetch)
7542 (uri (git-reference
7543 (url "https://github.com/Kungsgeten/ryo-modal.git")
7544 (commit commit)))
7545 (file-name (git-file-name name version))
7546 (sha256
7547 (base32 "1cyvp3bi6yhckbdnq98xvghmhdzghya5y9wd7hxjawibs75rza95"))))
7548 (build-system emacs-build-system)
7549 (home-page "https://github.com/Kungsgeten/ryo-modal")
7550 (synopsis "Emacs minor mode for defining modal editing environments")
7551 (description "RYO modal provides a convenient way of defining modal
7552 keybindings in Emacs, and does not come with any predefined bindings.")
7553 (license license:expat))))
7554
7555 (define-public emacs-visual-fill-column
7556 (package
7557 (name "emacs-visual-fill-column")
7558 (version "1.11")
7559 (source (origin
7560 (method url-fetch)
7561 (uri (string-append "https://codeload.github.com/joostkremers/"
7562 "visual-fill-column/tar.gz/" version))
7563 (file-name (string-append name "-" version ".tar.gz"))
7564 (sha256
7565 (base32
7566 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
7567 (build-system emacs-build-system)
7568 (home-page "https://github.com/joostkremers/visual-fill-column")
7569 (synopsis "Fill-column for visual-line-mode")
7570 (description
7571 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
7572 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
7573 wrapping lines at the window edge, which is the standard behaviour of
7574 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
7575 @code{fill-column} is too large for the window, the text is wrapped at the
7576 window edge.")
7577 (license license:gpl3+)))
7578
7579 (define-public emacs-writeroom
7580 (package
7581 (name "emacs-writeroom")
7582 (version "3.9")
7583 (source
7584 (origin
7585 (method git-fetch)
7586 (uri (git-reference
7587 (url "https://github.com/joostkremers/writeroom-mode.git")
7588 (commit version)))
7589 (file-name (git-file-name name version))
7590 (sha256
7591 (base32
7592 "1nrppnfqsaki6myp58w8jhmzb94rzskh5n98glcn4ghr8sqnafi8"))))
7593 (build-system emacs-build-system)
7594 (propagated-inputs
7595 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
7596 (home-page "https://github.com/joostkremers/writeroom-mode")
7597 (synopsis "Distraction-free writing for Emacs")
7598 (description
7599 "This package defines a minor mode for distraction-free writing. Some of
7600 the default effects include entering fullscreen, deleting other windows of the
7601 current frame, disabling the mode line, and adding margins to the buffer that
7602 restrict the text width to 80 characters.")
7603 (license license:bsd-3)))
7604
7605 (define-public emacs-ido-completing-read+
7606 (package
7607 (name "emacs-ido-completing-read+")
7608 (version "3.12")
7609 (source (origin
7610 (method url-fetch)
7611 (uri (string-append "https://raw.githubusercontent.com"
7612 "/DarwinAwardWinner/ido-ubiquitous/v"
7613 version "/ido-completing-read+.el"))
7614 (file-name (string-append "ido-completing-read+-" version ".el"))
7615 (sha256
7616 (base32
7617 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
7618 (build-system emacs-build-system)
7619 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
7620 (synopsis "Replacement for completing-read using ido")
7621 (description
7622 "The ido-completing-read+ function is a wrapper for ido-completing-read.
7623 Importantly, it detects edge cases that ordinary ido cannot handle and either
7624 adjusts them so ido can handle them, or else simply falls back to the standard
7625 Emacs completion function instead.")
7626 (license license:gpl3+)))
7627
7628 (define-public emacs-ido-ubiquitous
7629 (package
7630 (name "emacs-ido-ubiquitous")
7631 (version "3.12")
7632 (source (origin
7633 (method url-fetch)
7634 (uri (string-append "https://raw.githubusercontent.com"
7635 "/DarwinAwardWinner/ido-ubiquitous/v"
7636 version "/ido-ubiquitous.el"))
7637 (file-name (string-append "ido-ubiquitous-" version ".el"))
7638 (sha256
7639 (base32
7640 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
7641 (build-system emacs-build-system)
7642 (propagated-inputs
7643 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
7644 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
7645 (synopsis "Use ido (nearly) everywhere")
7646 (description
7647 "Ido-ubiquitous enables ido-style completion for almost every function
7648 that uses the standard completion function completing-read.")
7649 (license license:gpl3+)))
7650
7651 (define-public emacs-yaml-mode
7652 (package
7653 (name "emacs-yaml-mode")
7654 (version "0.0.14")
7655 (source (origin
7656 (method git-fetch)
7657 (uri (git-reference
7658 (url "https://github.com/yoshiki/yaml-mode.git")
7659 (commit version)))
7660 (file-name (git-file-name name version))
7661 (sha256
7662 (base32
7663 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
7664 (build-system emacs-build-system)
7665 (home-page "https://github.com/yoshiki/yaml-mode")
7666 (synopsis "Major mode for editing YAML files")
7667 (description
7668 "Yaml-mode is an Emacs major mode for editing files in the YAML data
7669 serialization format. It was initially developed by Yoshiki Kurihara and many
7670 features were added by Marshall Vandegrift. As YAML and Python share the fact
7671 that indentation determines structure, this mode provides indentation and
7672 indentation command behavior very similar to that of python-mode.")
7673 (license license:gpl3+)))
7674
7675 (define-public emacs-gitlab-ci-mode
7676 (package
7677 (name "emacs-gitlab-ci-mode")
7678 (version "20190425.11.10")
7679 (source (origin
7680 (method git-fetch)
7681 (uri (git-reference
7682 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
7683 (commit (string-append "v" version))))
7684 (file-name (git-file-name name version))
7685 (sha256
7686 (base32
7687 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
7688 (build-system emacs-build-system)
7689 (propagated-inputs
7690 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
7691 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
7692 (synopsis "Emacs mode for editing GitLab CI files")
7693 (description
7694 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
7695 files. It provides syntax highlighting and completion for keywords and
7696 special variables. An interface to GitLab’s CI file linter is also provided
7697 via @code{gitlab-ci-lint}.")
7698 (license license:gpl3+)))
7699
7700 (define-public emacs-gitlab-snip-helm
7701 (package
7702 (name "emacs-gitlab-snip-helm")
7703 (version "0.0.2")
7704 (source (origin
7705 (method git-fetch)
7706 (uri (git-reference
7707 (url "https://gitlab.com/sasanidas/gitlab-snip-helm.git")
7708 (commit version)))
7709 (file-name (git-file-name name version))
7710 (sha256
7711 (base32
7712 "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"))))
7713 (build-system emacs-build-system)
7714 (propagated-inputs
7715 `(("emacs-dash" ,emacs-dash)
7716 ("emacs-helm" ,emacs-helm)))
7717 (home-page "https://gitlab.com/sasanidas/gitlab-snip-helm/")
7718 (synopsis "GitLab snippet API interaction for Emacs")
7719 (description "This package provides GitLab snippet API interaction for
7720 Emacs.")
7721 (license license:gpl3+)))
7722
7723 (define-public emacs-web-mode
7724 (package
7725 (name "emacs-web-mode")
7726 (version "17")
7727 (source
7728 (origin
7729 (method git-fetch)
7730 (uri (git-reference
7731 (url "https://github.com/fxbois/web-mode.git")
7732 (commit (string-append "v" version))))
7733 (file-name (git-file-name name version))
7734 (sha256
7735 (base32 "0jr5a1nzp8nbdng0k2fcaymiiv9ngrbknbrqaswgqn3akvx793jk"))))
7736 (build-system emacs-build-system)
7737 (synopsis "Major mode for editing web templates")
7738 (description "Web mode is an Emacs major mode for editing web templates
7739 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
7740 client/server side engines). Web mode is compatible with many template
7741 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
7742 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
7743 Dust.js, React/JSX, Angularjs, ejs, etc.")
7744 (home-page "http://web-mode.org/")
7745 (license license:gpl3+)))
7746
7747 (define-public emacs-wgrep
7748 (package
7749 (name "emacs-wgrep")
7750 (version "2.3.2")
7751 (source (origin
7752 (method git-fetch)
7753 (uri (git-reference
7754 (url "https://github.com/mhayashi1120/Emacs-wgrep")
7755 (commit version)))
7756 (file-name (git-file-name name version))
7757 (sha256
7758 (base32
7759 "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
7760 (build-system emacs-build-system)
7761 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
7762 (synopsis "Edit a grep buffer and apply those changes to the files")
7763 (description
7764 "Emacs wgrep allows you to edit a grep buffer and apply those changes
7765 to the file buffer. Several backends are supported beside the classic grep:
7766 ack, ag, helm and pt.")
7767 (license license:gpl3+)))
7768
7769 (define-public emacs-helm
7770 (package
7771 (name "emacs-helm")
7772 (version "3.6.0")
7773 (source
7774 (origin
7775 (method git-fetch)
7776 (uri (git-reference
7777 (url "https://github.com/emacs-helm/helm.git")
7778 (commit (string-append "v" version))))
7779 (file-name (git-file-name name version))
7780 (sha256
7781 (base32 "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7"))))
7782 (build-system emacs-build-system)
7783 (propagated-inputs
7784 `(("emacs-async" ,emacs-async)
7785 ("emacs-popup" ,emacs-popup)))
7786 (home-page "https://emacs-helm.github.io/helm/")
7787 (synopsis "Incremental completion and selection narrowing
7788 framework for Emacs")
7789 (description "Helm is incremental completion and selection narrowing
7790 framework for Emacs. It will help steer you in the right direction when
7791 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
7792 of @code{anything.el} originally written by Tamas Patrovic and can be
7793 considered to be its successor. Helm sets out to clean up the legacy code in
7794 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
7795 not tied in the trap of backward compatibility.")
7796 (license license:gpl3+)))
7797
7798 (define-public emacs-helm-org
7799 (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
7800 (revision "3"))
7801 (package
7802 (name "emacs-helm-org")
7803 (version (git-version "1.0" revision commit))
7804 (source
7805 (origin
7806 (method git-fetch)
7807 (uri (git-reference
7808 (url "https://github.com/emacs-helm/helm-org.git")
7809 (commit commit)))
7810 (file-name (git-file-name name version))
7811 (sha256
7812 (base32 "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"))))
7813 (build-system emacs-build-system)
7814 (propagated-inputs
7815 `(("emacs-helm" ,emacs-helm)))
7816 (home-page "https://github.com/emacs-helm/helm-org")
7817 (synopsis "Helm interface to the Silver Searcher")
7818 (description
7819 "This package provides a frontend for grepping tools like ag and ack,
7820 as well as features for editing search results.")
7821 (license license:gpl3+))))
7822
7823 (define-public emacs-helm-swoop
7824 (package
7825 (name "emacs-helm-swoop")
7826 (version "2.0.0")
7827 (source
7828 (origin
7829 (method git-fetch)
7830 (uri (git-reference
7831 (url "https://github.com/emacsorphanage/helm-swoop.git")
7832 (commit version)))
7833 (file-name (git-file-name name version))
7834 (sha256
7835 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
7836 (build-system emacs-build-system)
7837 (propagated-inputs
7838 `(("emacs-helm" ,emacs-helm)))
7839 (home-page "https://github.com/emacsorphanage/helm-swoop")
7840 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
7841 (description
7842 "This package builds on the Helm interface to provide several commands
7843 for search-based navigation of buffers.")
7844 (license license:gpl2+)))
7845
7846 (define-public emacs-helm-ag
7847 (package
7848 (name "emacs-helm-ag")
7849 (version "0.59")
7850 (source
7851 (origin
7852 (method git-fetch)
7853 (uri (git-reference
7854 (url "https://github.com/syohex/emacs-helm-ag.git")
7855 (commit version)))
7856 (file-name (git-file-name name version))
7857 (sha256
7858 (base32 "0vsz2b5qw4qahlf74059z4p1grinhfz28f0psw4c3qf4jasv3b9j"))))
7859 (build-system emacs-build-system)
7860 (propagated-inputs
7861 `(("emacs-helm" ,emacs-helm)))
7862 (home-page "https://github.com/syohex/emacs-helm-ag")
7863 (synopsis "Helm interface to the Silver Searcher")
7864 (description
7865 "This package provides a frontend for grepping tools like ag and ack,
7866 as well as features for editing search results.")
7867 (license license:gpl3+)))
7868
7869 ;; There hasn't been a tag or release since 2016, so we take the latest
7870 ;; commit.
7871 (define-public emacs-helm-projectile
7872 (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
7873 (version "0.14.0")
7874 (revision "1"))
7875 (package
7876 (name "emacs-helm-projectile")
7877 (version (git-version version revision commit))
7878 (source
7879 (origin
7880 (method git-fetch)
7881 (uri (git-reference
7882 (url "https://github.com/bbatsov/helm-projectile.git")
7883 (commit commit)))
7884 (file-name (git-file-name name version))
7885 (sha256
7886 (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
7887 (build-system emacs-build-system)
7888 (propagated-inputs
7889 `(("emacs-helm" ,emacs-helm)
7890 ("emacs-projectile" ,emacs-projectile)))
7891 (home-page "https://github.com/bbatsov/helm-projectile")
7892 (synopsis "Helm integration for Projectile")
7893 (description
7894 "This Emacs library provides a Helm interface for Projectile.")
7895 (license license:gpl3+))))
7896
7897 (define-public emacs-taskrunner
7898 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
7899 (revision "1"))
7900 (package
7901 (name "emacs-taskrunner")
7902 (version (git-version "0.6" revision commit))
7903 (source
7904 (origin
7905 (method git-fetch)
7906 (uri (git-reference
7907 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
7908 (commit commit)))
7909 (file-name (git-file-name name version))
7910 (sha256
7911 (base32
7912 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
7913 (build-system emacs-build-system)
7914 (propagated-inputs
7915 `(("emacs-async" ,emacs-async)
7916 ("emacs-projectile" ,emacs-projectile)))
7917 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
7918 (synopsis "Retrieve tasks from various build systems and task-runners")
7919 (description "This package parses Makefiles and build-system files for
7920 multiple project types.")
7921 (license license:gpl3+))))
7922
7923 (define-public emacs-ivy-taskrunner
7924 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
7925 (revision "1"))
7926 (package
7927 (name "emacs-ivy-taskrunner")
7928 (version (git-version "0.9" revision commit))
7929 (source
7930 (origin
7931 (method git-fetch)
7932 (uri (git-reference
7933 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
7934 (commit commit)))
7935 (file-name (git-file-name name version))
7936 (sha256
7937 (base32
7938 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
7939 (build-system emacs-build-system)
7940 (propagated-inputs
7941 `(("emacs-ivy" ,emacs-ivy)
7942 ("emacs-taskrunner" ,emacs-taskrunner)
7943 ("emacs-projectile" ,emacs-projectile)))
7944 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
7945 (synopsis "Retrieve build-system tasks using Ivy")
7946 (description "This package provides an Ivy interface for selecting
7947 Makefile targets.")
7948 (license license:gpl3+))))
7949
7950 (define-public emacs-helm-taskrunner
7951 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
7952 (revision "1"))
7953 (package
7954 (name "emacs-helm-taskrunner")
7955 (version (git-version "0.9" revision commit))
7956 (source
7957 (origin
7958 (method git-fetch)
7959 (uri (git-reference
7960 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
7961 (commit commit)))
7962 (file-name (git-file-name name version))
7963 (sha256
7964 (base32
7965 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
7966 (build-system emacs-build-system)
7967 (propagated-inputs
7968 `(("emacs-helm" ,emacs-helm)
7969 ("emacs-taskrunner" ,emacs-taskrunner)
7970 ("emacs-projectile" ,emacs-projectile)))
7971 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
7972 (synopsis "Retrieve build-system tasks using Helm")
7973 (description "This package provides a Helm interface for selecting
7974 Makefile targets.")
7975 (license license:gpl3+))))
7976
7977 (define-public emacs-helm-make
7978 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
7979 (revision "1"))
7980 (package
7981 (name "emacs-helm-make")
7982 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
7983 (source
7984 (origin
7985 (method git-fetch)
7986 (uri (git-reference
7987 (url "https://github.com/abo-abo/helm-make.git")
7988 (commit commit)))
7989 (file-name (git-file-name name version))
7990 (sha256
7991 (base32
7992 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
7993 (build-system emacs-build-system)
7994 (propagated-inputs
7995 `(("emacs-helm" ,emacs-helm)
7996 ("emacs-projectile" ,emacs-projectile)))
7997 (home-page "https://github.com/abo-abo/helm-make")
7998 (synopsis "Select a Makefile target with helm")
7999 (description "@code{helm-make} or @code{helm-make-projectile} will give
8000 you a @code{helm} selection of directory Makefile's targets. Selecting a
8001 target will call @code{compile} on it.")
8002 (license license:gpl3+))))
8003
8004 (define-public emacs-cider
8005 (package
8006 (name "emacs-cider")
8007 (version "0.25.0")
8008 (source
8009 (origin
8010 (method git-fetch)
8011 (uri (git-reference
8012 (url "https://github.com/clojure-emacs/cider.git")
8013 (commit (string-append "v" version))))
8014 (file-name (git-file-name name version))
8015 (sha256
8016 (base32 "1sdd7vzw948q01kc8im1asiq1j06q0mnn2s8kj83f8sbdnfy0qbk"))))
8017 (build-system emacs-build-system)
8018 (arguments
8019 '(#:exclude ;don't exclude 'cider-test.el'
8020 '("^\\.dir-locals\\.el$" "^test/")))
8021 (propagated-inputs
8022 `(("emacs-clojure-mode" ,emacs-clojure-mode)
8023 ("emacs-parseedn" ,emacs-parseedn)
8024 ("emacs-pkg-info" ,emacs-pkg-info)
8025 ("emacs-queue" ,emacs-queue)
8026 ("emacs-sesman" ,emacs-sesman)
8027 ("emacs-spinner" ,emacs-spinner)))
8028 (home-page "https://cider.mx/")
8029 (synopsis "Clojure development environment for Emacs")
8030 (description
8031 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
8032 provide an interactive development experience similar to the one you'd get
8033 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
8034 Geiser) and Smalltalk.
8035
8036 CIDER is the successor to the now deprecated combination of using SLIME +
8037 swank-clojure for Clojure development.
8038
8039 There are plenty of differences between CIDER and SLIME, but the core ideas
8040 are pretty much the same (and SLIME served as the principle inspiration for
8041 CIDER).")
8042 (license license:gpl3+)))
8043
8044 ;; There hasn't been a tag or release since 2016, so we take the latest
8045 ;; commit.
8046 (define-public emacs-sly
8047 (let ((commit "86a63df73360be51529806c7ed9b775b3f02284d")
8048 (revision "4"))
8049 (package
8050 (name "emacs-sly")
8051 (version (git-version "1.0.0" revision commit))
8052 (source
8053 (origin
8054 (method git-fetch)
8055 (uri (git-reference
8056 (url "https://github.com/joaotavora/sly.git")
8057 (commit commit)))
8058 (file-name (git-file-name name version))
8059 (sha256
8060 (base32
8061 "0sx6fdckcfcld41db0695svvlvllnfaazwx513686gnykwfd209n"))))
8062 (build-system emacs-build-system)
8063 (native-inputs
8064 `(("texinfo" ,texinfo)))
8065 (arguments
8066 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
8067 #:phases
8068 ;; The package provides autoloads.
8069 (modify-phases %standard-phases
8070 (delete 'make-autoloads)
8071 (add-before 'install 'install-doc
8072 (lambda* (#:key outputs #:allow-other-keys)
8073 (let* ((out (assoc-ref outputs "out"))
8074 (info-dir (string-append out "/share/info"))
8075 (doc-dir (string-append out "/share/doc/"
8076 ,name "-" ,version))
8077 (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
8078 "README.md" "NEWS.md" "PROBLEMS.md"
8079 "CONTRIBUTING.md")))
8080 (with-directory-excursion "doc"
8081 (substitute* "Makefile"
8082 (("infodir=/usr/local/info")
8083 (string-append "infodir=" info-dir))
8084 ;; Don't rebuild contributors.texi since we are not in
8085 ;; the git repo.
8086 (("contributors.texi: Makefile texinfo-tabulate.awk")
8087 "contributors.texi:"))
8088 (invoke "make" "html/index.html")
8089 (invoke "make" "sly.info")
8090 ;; TODO: We need minimal texlive with "preprint" package
8091 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
8092 (install-file "sly.info" info-dir)
8093 (copy-recursively "html" (string-append doc-dir "/html")))
8094 (for-each (lambda (f)
8095 (install-file f doc-dir)
8096 (delete-file f))
8097 doc-files)
8098 (delete-file-recursively "doc")
8099 #t))))))
8100 (home-page "https://github.com/joaotavora/sly")
8101 (synopsis "Sylvester the Cat's Common Lisp IDE")
8102 (description
8103 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
8104 contains the following improvements over it:
8105
8106 @enumerate
8107 @item Completely redesigned REPL based on Emacs's own full-featured
8108 @code{comint.el}.
8109 @item Live code annotations via a new @code{sly-stickers} contrib.
8110 @item Consistent interactive button interface. Everything can be copied to
8111 the REPL.
8112 @item Multiple inspectors with independent history.
8113 @item Regexp-capable @code{M-x sly-apropos}.
8114 @item Contribs are first class SLY citizens and enabled by default.
8115 @item Use ASDF to loads contribs on demand.
8116 @end enumerate
8117
8118 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
8119 xref, etc...) are still available, but with better integration.")
8120 (license license:gpl3+))))
8121
8122 (define-public emacs-sly-quicklisp
8123 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
8124 (revision "1"))
8125 (package
8126 (name "emacs-sly-quicklisp")
8127 (version (git-version "0.0.0" revision commit))
8128 (home-page "https://github.com/joaotavora/sly-quicklisp")
8129 (source
8130 (origin
8131 (method git-fetch)
8132 (uri (git-reference
8133 (url home-page)
8134 (commit commit)))
8135 (file-name (git-file-name name version))
8136 (sha256
8137 (base32
8138 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
8139 (build-system emacs-build-system)
8140 (propagated-inputs
8141 `(("emacs-sly" ,emacs-sly)))
8142 (arguments
8143 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8144 #:phases
8145 ;; The package provides autoloads.
8146 (modify-phases %standard-phases
8147 (delete 'make-autoloads)
8148 (delete 'enable-autoloads-compilation))))
8149 (synopsis "Quicklisp support for SLY")
8150 (description
8151 "@command{sly-quicklisp} is an external contrib for SLY that provides a
8152 sly-quickload command that prompts the user for a package to install. ")
8153 (license license:gpl3+))))
8154
8155 (define-public emacs-sly-asdf
8156 (let ((commit "32ce14994e8faee9321605cec36d156b02996c46")
8157 (revision "4"))
8158 (package
8159 (name "emacs-sly-asdf")
8160 (version (git-version "0.1.0" revision commit))
8161 (home-page "https://github.com/mmgeorge/sly-asdf")
8162 (source
8163 (origin
8164 (method git-fetch)
8165 (uri (git-reference
8166 (url home-page)
8167 (commit commit)))
8168 (file-name (git-file-name name version))
8169 (sha256
8170 (base32
8171 "09x8l37wwqw74xc2frwzbfdb1if8rb3szg5akdk3v2qhik4sm3dd"))))
8172 (build-system emacs-build-system)
8173 (propagated-inputs
8174 `(("emacs-sly" ,emacs-sly)
8175 ("emacs-popup" ,emacs-popup)))
8176 (arguments
8177 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
8178 (synopsis "ASDF contrib for SLY")
8179 (description
8180 "@command{sly-asdf} is an external contrib for SLY that provides
8181 additional support for working with ASDF projects.")
8182 (license license:gpl3+))))
8183
8184 (define-public emacs-sly-named-readtables
8185 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
8186 (revision "1"))
8187 (package
8188 (name "emacs-sly-named-readtables")
8189 (version (git-version "0.1" revision commit))
8190 (home-page "https://github.com/joaotavora/sly-named-readtables")
8191 (source
8192 (origin
8193 (method git-fetch)
8194 (uri (git-reference
8195 (url home-page)
8196 (commit commit)))
8197 (file-name (git-file-name name version))
8198 (sha256
8199 (base32
8200 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
8201 (build-system emacs-build-system)
8202 (propagated-inputs
8203 `(("emacs-sly" ,emacs-sly)))
8204 (arguments
8205 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8206 #:phases (modify-phases %standard-phases
8207 ;; Byte compilation of the autoload file fails.
8208 (delete 'enable-autoloads-compilation))))
8209 (synopsis "Named-readtables support for SLY")
8210 (description
8211 "@command{sly-named-readtables} is an external contrib for SLY that
8212 enables different readtables to be active in different parts of the same
8213 file.")
8214 (license license:gpl3+))))
8215
8216 (define-public emacs-sly-macrostep
8217 (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
8218 (revision "1"))
8219 (package
8220 (name "emacs-sly-macrostep")
8221 (version (git-version "0.1" revision commit))
8222 (home-page "https://github.com/joaotavora/sly-macrostep")
8223 (source
8224 (origin
8225 (method git-fetch)
8226 (uri (git-reference
8227 (url home-page)
8228 (commit commit)))
8229 (file-name (git-file-name name version))
8230 (sha256
8231 (base32
8232 "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
8233 (build-system emacs-build-system)
8234 (propagated-inputs
8235 `(("emacs-sly" ,emacs-sly)
8236 ("emacs-macrostep" ,emacs-macrostep)))
8237 (arguments
8238 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8239 #:phases
8240 ;; The package provides autoloads.
8241 (modify-phases %standard-phases
8242 (delete 'make-autoloads)
8243 (delete 'enable-autoloads-compilation))))
8244 (synopsis "Expand Common Lisp macros inside source files with SLY")
8245 (description
8246 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
8247 inside the source file.")
8248 (license license:gpl3+))))
8249
8250 (define-public emacs-sly-package-inferred
8251 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
8252 (revision "1"))
8253 (package
8254 (name "emacs-sly-package-inferred")
8255 (version (git-version "0.1" revision commit))
8256 (home-page "https://github.com/40ants/sly-package-inferred")
8257 (source
8258 (origin
8259 (method git-fetch)
8260 (uri (git-reference
8261 (url home-page)
8262 (commit commit)))
8263 (file-name (git-file-name name version))
8264 (sha256
8265 (base32
8266 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
8267 (build-system emacs-build-system)
8268 (propagated-inputs
8269 `(("emacs-sly" ,emacs-sly)))
8270 (arguments
8271 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8272 #:phases
8273 ;; The package provides autoloads.
8274 (modify-phases %standard-phases
8275 (delete 'make-autoloads))))
8276 (synopsis "Improved package inferred systems support for SLY")
8277 (description
8278 "@command{sly-package-inferred} is an external contrib for SLY that
8279 replaces its completion with a function which is better suited for systems
8280 using package inferred style.")
8281 (license license:gpl3+))))
8282
8283 (define-public emacs-lua-mode
8284 (let ((commit "1f596a93b3f1caadd7bba01030f8c179b029600b")
8285 (revision "1"))
8286 (package
8287 (name "emacs-lua-mode")
8288 (version (git-version "20191204" revision commit))
8289 (home-page "https://github.com/immerrr/lua-mode/")
8290 (source (origin
8291 (method git-fetch)
8292 (uri (git-reference
8293 (url home-page)
8294 (commit commit)))
8295 (file-name (git-file-name name version))
8296 (sha256
8297 (base32
8298 "0i4adlaik3qjx1wkb7rwk2clvj7ci2g8pm0siyb3yk90r6z5mspi"))))
8299 (build-system emacs-build-system)
8300 (arguments
8301 `(#:tests? #t
8302 #:test-command '("buttercup" "-l" "lua-mode.el")))
8303 (native-inputs
8304 `(("emacs-buttercup" ,emacs-buttercup)
8305 ("lua" ,lua)))
8306 (synopsis "Major mode for lua")
8307 (description
8308 "This Emacs package provides a mode for @uref{https://www.lua.org/,
8309 Lua programming language}.")
8310 (license license:gpl2+))))
8311
8312 (define-public emacs-ebuild-mode
8313 (package
8314 (name "emacs-ebuild-mode")
8315 (version "1.50")
8316 (source
8317 (origin
8318 (method url-fetch)
8319 (uri (string-append
8320 "https://dev.gentoo.org/~ulm/emacs/"
8321 "ebuild-mode-" version ".tar.xz"))
8322 (file-name (string-append name "-" version ".tar.xz"))
8323 (sha256
8324 (base32 "0bgi98vx6ahxijw69kfdiy3rkjdg7yi6k3bkjyasak5920m6fj1d"))))
8325 (build-system emacs-build-system)
8326 (arguments
8327 '(#:phases
8328 (modify-phases %standard-phases
8329 (add-after 'install 'install-doc
8330 (lambda* (#:key outputs #:allow-other-keys)
8331 (invoke "make" "ebuild-mode.info")
8332 (install-file "ebuild-mode.info"
8333 (string-append (assoc-ref outputs "out")
8334 "/share/info"))
8335 #t)))))
8336 (native-inputs
8337 `(("texinfo" ,texinfo)))
8338 (home-page "https://devmanual.gentoo.org")
8339 (synopsis "Major modes for Gentoo package files")
8340 (description
8341 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
8342 news items, openrc and runscripts.")
8343 (license license:gpl2+)))
8344
8345 (define-public emacs-evil
8346 (package
8347 (name "emacs-evil")
8348 (version "1.14.0")
8349 (source
8350 (origin
8351 (method git-fetch)
8352 (uri (git-reference
8353 (url "https://github.com/emacs-evil/evil")
8354 (commit version)))
8355 (file-name (git-file-name name version))
8356 (sha256
8357 (base32
8358 "17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p"))))
8359 (arguments
8360 `(#:phases
8361 (modify-phases %standard-phases
8362 (add-before 'check 'fix-test-helpers
8363 (lambda _
8364 (substitute* "evil-test-helpers.el"
8365 (("\\(undo-tree-mode 1\\)") ""))
8366 #t)))))
8367 (build-system emacs-build-system)
8368 (home-page "https://github.com/emacs-evil/evil")
8369 (synopsis "Extensible Vi layer for Emacs")
8370 (description
8371 "Evil is an extensible vi layer for Emacs. It emulates the
8372 main features of Vim, and provides facilities for writing custom
8373 extensions.")
8374 (license license:gpl3+)))
8375
8376 (define-public emacs-evil-collection
8377 (let ((commit "d062cc206d671fb5aefb1e0e679a9cb1d6c73e33")
8378 (revision "14"))
8379 (package
8380 (name "emacs-evil-collection")
8381 (version (git-version "0.0.3" revision commit))
8382 (source (origin
8383 (method git-fetch)
8384 (uri (git-reference
8385 (url "https://github.com/emacs-evil/evil-collection")
8386 (commit commit)))
8387 (file-name (git-file-name name version))
8388 (sha256
8389 (base32
8390 "1zizfqmfrxx3shgggwa74rg2qqbrs8704wf94ajx0k11dbm1dbrp"))))
8391 (build-system emacs-build-system)
8392 (propagated-inputs
8393 `(("emacs-evil" ,emacs-evil)
8394 ("emacs-annalist" ,emacs-annalist)))
8395 (arguments
8396 `(#:include (cons* "^modes\\/" %default-include)))
8397 (home-page "https://github.com/emacs-evil/evil-collection")
8398 (synopsis "Collection of Evil bindings for many major and minor modes")
8399 (description "This is a collection of Evil bindings for the parts of
8400 Emacs that Evil does not cover properly by default, such as @code{help-mode},
8401 @code{M-x calendar}, Eshell and more.")
8402 (license license:gpl3+))))
8403
8404 (define-public emacs-goto-chg
8405 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
8406 (version "1.7.3")
8407 (revision "1"))
8408 (package
8409 (name "emacs-goto-chg")
8410 (version (git-version version revision commit))
8411 (source
8412 (origin
8413 (method git-fetch)
8414 (uri (git-reference
8415 (url "https://github.com/emacs-evil/goto-chg")
8416 (commit commit)))
8417 (file-name (git-file-name name version))
8418 (sha256
8419 (base32
8420 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
8421 (build-system emacs-build-system)
8422 (propagated-inputs
8423 `(("emacs-undo-tree" ,emacs-undo-tree)))
8424 (home-page "https://github.com/emacs-evil/goto-chg")
8425 (synopsis "Go to the last change in the Emacs buffer")
8426 (description
8427 "This package provides @code{M-x goto-last-change} command that goes to
8428 the point of the most recent edit in the current Emacs buffer. When repeated,
8429 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
8430 used for reverse direction.")
8431 (license license:gpl2+))))
8432
8433 (define-public emacs-janpath-evil-numbers
8434 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
8435 (version "0.5")
8436 (revision "1"))
8437 (package
8438 (name "emacs-janpath-evil-numbers")
8439 (version (git-version version revision commit))
8440 (source
8441 (origin
8442 (method git-fetch)
8443 (uri (git-reference
8444 (url "https://github.com/janpath/evil-numbers")
8445 (commit commit)))
8446 (file-name (git-file-name name version))
8447 (sha256
8448 (base32
8449 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
8450 (build-system emacs-build-system)
8451 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8452 (home-page "https://github.com/janpath/evil-numbers")
8453 (synopsis "Increment and decrement numeric literals")
8454 (description
8455 "This package provides functionality to search for a number up to the
8456 end of a line and increment or decrement it.")
8457 (license license:gpl3+))))
8458
8459 (define-public emacs-evil-owl
8460 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
8461 (revision "3"))
8462 (package
8463 (name "emacs-evil-owl")
8464 (version (git-version "0.0.1" revision commit))
8465 (source
8466 (origin
8467 (method git-fetch)
8468 (uri (git-reference
8469 (url "https://github.com/mamapanda/evil-owl")
8470 (commit commit)))
8471 (file-name (git-file-name name version))
8472 (sha256
8473 (base32
8474 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
8475 (build-system emacs-build-system)
8476 (propagated-inputs
8477 `(("emacs-evil" ,emacs-evil)))
8478 (arguments
8479 `(#:tests? #t
8480 #:test-command '("make" "test")))
8481 (home-page "https://github.com/mamapanda/evil-owl")
8482 (synopsis "Preview candidates when using Evil registers and marks")
8483 (description
8484 "This package supplements Evil's register- and mark-based commands with
8485 a popup window for previewing candidates.")
8486 (license license:gpl3+))))
8487
8488 (define-public emacs-evil-args
8489 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
8490 (revision "1"))
8491 (package
8492 (name "emacs-evil-args")
8493 (version (git-version "1.0" revision commit))
8494 (source
8495 (origin
8496 (method git-fetch)
8497 (uri (git-reference
8498 (url "https://github.com/wcsmith/evil-args.git")
8499 (commit commit)))
8500 (file-name (git-file-name name version))
8501 (sha256
8502 (base32
8503 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
8504 (build-system emacs-build-system)
8505 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8506 (home-page "https://github.com/wcsmith/evil-args")
8507 (synopsis "Motions and text objects for delimited arguments in Evil")
8508 (description
8509 "This package provides motions and text objects for delimited
8510 arguments, such as arguments separated by commas and semicolons.")
8511 (license license:expat))))
8512
8513 (define-public emacs-evil-escape
8514 (package
8515 (name "emacs-evil-escape")
8516 (version "3.14")
8517 (source
8518 (origin
8519 (method git-fetch)
8520 (uri
8521 (git-reference
8522 (url "https://github.com/syl20bnr/evil-escape")
8523 (commit (string-append "v" version))))
8524 (file-name (git-file-name name version))
8525 (sha256
8526 (base32 "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i"))))
8527 (propagated-inputs
8528 `(("emacs-evil" ,emacs-evil)))
8529 (build-system emacs-build-system)
8530 (home-page "https://github.com/syl20bnr/evil-escape")
8531 (synopsis "Escape from insert state and everything else in Emacs")
8532 (description
8533 "Evil escape provides a customizable key sequence to escape from insert
8534 state and everything else in Emacs.")
8535 (license license:gpl3+)))
8536
8537 (define-public emacs-evil-exchange
8538 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
8539 (version "0.41")
8540 (revision "1"))
8541 (package
8542 (name "emacs-evil-exchange")
8543 (version (git-version version revision commit))
8544 (source
8545 (origin
8546 (method git-fetch)
8547 (uri (git-reference
8548 (url "https://github.com/Dewdrops/evil-exchange")
8549 (commit commit)))
8550 (file-name (git-file-name name version))
8551 (sha256
8552 (base32
8553 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
8554 (build-system emacs-build-system)
8555 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8556 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
8557 (arguments
8558 `(#:phases
8559 (modify-phases %standard-phases
8560 (add-before 'check 'fix-makefile
8561 (lambda _
8562 (substitute* "Makefile"
8563 (("cask exec ") ""))
8564 #t)))
8565 #:tests? #t
8566 #:test-command '("make" "test")))
8567 (home-page "https://github.com/Dewdrops/evil-exchange")
8568 (synopsis "Exchange text easily within Evil")
8569 (description
8570 "This package, a port of @code{vim-exchange}, provides an Evil operator
8571 for exchanging text.")
8572 (license license:gpl3+))))
8573
8574 (define-public emacs-evil-replace-with-register
8575 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
8576 (version "0.1")
8577 (revision "1"))
8578 (package
8579 (name "emacs-evil-replace-with-register")
8580 (version (git-version version revision commit))
8581 (source
8582 (origin
8583 (method git-fetch)
8584 (uri (git-reference
8585 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
8586 (commit commit)))
8587 (file-name (git-file-name name version))
8588 (sha256
8589 (base32
8590 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
8591 (build-system emacs-build-system)
8592 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8593 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
8594 (synopsis "Quickly replace text with the contents of a register")
8595 (description
8596 "This package provides an Evil operator for replacing text with the
8597 contents of a register.")
8598 (license license:gpl3+))))
8599
8600 (define-public emacs-evil-indent-plus
8601 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
8602 (version "1.0.0")
8603 (revision "1"))
8604 (package
8605 (name "emacs-evil-indent-plus")
8606 (version (git-version version revision commit))
8607 (source
8608 (origin
8609 (method git-fetch)
8610 (uri (git-reference
8611 (url "https://github.com/TheBB/evil-indent-plus")
8612 (commit commit)))
8613 (file-name (git-file-name name version))
8614 (sha256
8615 (base32
8616 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
8617 (build-system emacs-build-system)
8618 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8619 (home-page "https://github.com/TheBB/evil-indent-plus")
8620 (synopsis "Text objects based on indentation")
8621 (description
8622 "This package adds new text objects for @code{evil-mode} based on
8623 blocks having the same or higher indentation, including or excluding
8624 surrounding lines.")
8625 (license license:gpl2+))))
8626
8627 (define-public emacs-evil-text-object-python
8628 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
8629 (version "1.0.1")
8630 (revision "1"))
8631 (package
8632 (name "emacs-evil-text-object-python")
8633 (version (git-version version revision commit))
8634 (source
8635 (origin
8636 (method git-fetch)
8637 (uri (git-reference
8638 (url "https://github.com/wbolster/evil-text-object-python")
8639 (commit commit)))
8640 (file-name (git-file-name name version))
8641 (sha256
8642 (base32
8643 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
8644 (build-system emacs-build-system)
8645 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8646 (home-page "https://github.com/wbolster/evil-text-object-python")
8647 (synopsis "Text objects for Python")
8648 (description
8649 "This package provides @code{evil-mode} text objects for Python.")
8650 (license license:gpl3+))))
8651
8652 (define-public emacs-evil-lion
8653 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
8654 (revision "1"))
8655 (package
8656 (name "emacs-evil-lion")
8657 (version (git-version "0.0.2" revision commit))
8658 (source
8659 (origin
8660 (method git-fetch)
8661 (uri (git-reference
8662 (url "https://github.com/edkolev/evil-lion")
8663 (commit commit)))
8664 (file-name (git-file-name name version))
8665 (sha256
8666 (base32
8667 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
8668 (build-system emacs-build-system)
8669 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8670 (arguments
8671 `(#:tests? #t
8672 #:test-command '("make" "test")))
8673 (home-page "https://github.com/edkolev/evil-lion")
8674 (synopsis "Align operator for @code{evil-mode}")
8675 (description
8676 "This package, a port of @code{vim-lion}, provides an operator for
8677 aligning text objects based on separators.")
8678 (license license:gpl3+))))
8679
8680 (define-public emacs-evil-expat
8681 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
8682 (revision "1"))
8683 (package
8684 (name "emacs-evil-expat")
8685 (version (git-version "0.0.1" revision commit))
8686 (source
8687 (origin
8688 (method git-fetch)
8689 (uri (git-reference
8690 (url "https://github.com/edkolev/evil-expat")
8691 (commit commit)))
8692 (file-name (git-file-name name version))
8693 (sha256
8694 (base32
8695 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
8696 (build-system emacs-build-system)
8697 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8698 (arguments
8699 `(#:tests? #t
8700 #:test-command '("make" "test")))
8701 (home-page "https://github.com/edkolev/evil-expat")
8702 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
8703 (description
8704 "This package provides additional commands for the @code{ex} command
8705 line, including functions for version control with Git and for copying and
8706 pasting into and from @code{tmux} paste buffers.")
8707 (license license:gpl3+))))
8708
8709 (define-public emacs-evil-nerd-commenter
8710 (package
8711 (name "emacs-evil-nerd-commenter")
8712 (version "3.3.8")
8713 (source
8714 (origin
8715 (method git-fetch)
8716 (uri (git-reference
8717 (url "https://github.com/redguardtoo/evil-nerd-commenter")
8718 (commit version)))
8719 (file-name (git-file-name name version))
8720 (sha256
8721 (base32
8722 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
8723 (build-system emacs-build-system)
8724 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8725 (arguments
8726 `(#:tests? #t
8727 #:test-command '("make" "test")))
8728 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
8729 (synopsis "Comment and uncomment lines efficiently")
8730 (description
8731 "This package provides text objects and operators for comments within
8732 @code{evil-mode}.")
8733 (license license:gpl3+)))
8734
8735 (define-public emacs-evil-visual-replace
8736 (package
8737 (name "emacs-evil-visual-replace")
8738 (version "0.0.5")
8739 (source
8740 (origin
8741 (method git-fetch)
8742 (uri (git-reference
8743 (url "https://github.com/troyp/evil-visual-replace")
8744 (commit version)))
8745 (file-name (git-file-name name version))
8746 (sha256
8747 (base32
8748 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
8749 (build-system emacs-build-system)
8750 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8751 (home-page "https://github.com/troyp/evil-visual-replace")
8752 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
8753 (description
8754 "This package provides versions of @code{query-replace} and
8755 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
8756 (license license:gpl2+)))
8757
8758 (define-public emacs-evil-visualstar
8759 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
8760 (version "0.0.2")
8761 (revision "1"))
8762 (package
8763 (name "emacs-evil-visualstar")
8764 (version (git-version version revision commit))
8765 (source
8766 (origin
8767 (method git-fetch)
8768 (uri (git-reference
8769 (url "https://github.com/bling/evil-visualstar")
8770 (commit commit)))
8771 (file-name (git-file-name name version))
8772 (sha256
8773 (base32
8774 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
8775 (build-system emacs-build-system)
8776 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8777 (home-page "https://github.com/bling/evil-visualstar")
8778 (synopsis "Instantly search using the visual selection")
8779 (description
8780 "This package provides @code{evil-mode} functions for using selected text
8781 to search.")
8782 (license license:gpl3+))))
8783
8784 (define-public emacs-monky
8785 (package
8786 (name "emacs-monky")
8787 (version "0.1")
8788 (source (origin
8789 (method git-fetch)
8790 (uri (git-reference
8791 (url "https://github.com/ananthakumaran/monky.git")
8792 (commit version)))
8793 (file-name (git-file-name name version))
8794 (sha256
8795 (base32
8796 "1fgn7al4zwz2k5wb5dy3byqg9lsrjk9fra341mxh5ma2pfwxjgps"))))
8797 (build-system emacs-build-system)
8798 (home-page "https://ananthakumaran.in/monky/index.html")
8799 (arguments
8800 `(#:tests? #t
8801 #:test-command '("emacs" "--batch"
8802 "-l" "test/monky-unit-test.el"
8803 "-f" "ert-run-tests-batch-and-exit")))
8804 (synopsis "Interactive interface for the Mercurial version control system")
8805 (description
8806 "Monky provides an Emacs interface for Mercurial (Hg). Using Monky, you
8807 can selectively commit files, view the diffs, and other things.")
8808 (license license:gpl3+)))
8809
8810 (define-public emacs-monroe
8811 (package
8812 (name "emacs-monroe")
8813 (version "0.3.1")
8814 (source
8815 (origin
8816 (method git-fetch)
8817 (uri (git-reference
8818 (url "https://github.com/sanel/monroe.git")
8819 (commit version)))
8820 (file-name (git-file-name name version))
8821 (sha256
8822 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
8823 (build-system emacs-build-system)
8824 (home-page "https://github.com/sanel/monroe")
8825 (synopsis "Clojure nREPL client for Emacs")
8826 (description
8827 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
8828 distribution, primarily targeting Clojure users")
8829 (license license:gpl3+)))
8830
8831 (define-public emacs-orgalist
8832 (package
8833 (name "emacs-orgalist")
8834 (version "1.12")
8835 (source
8836 (origin
8837 (method url-fetch)
8838 (uri (string-append "https://elpa.gnu.org/packages/"
8839 "orgalist-" version ".el"))
8840 (sha256
8841 (base32 "1hwm7j0hbv2pg9w885ky1c9qga3grcfq8v216jv2ivkw8xzavysd"))))
8842 (build-system emacs-build-system)
8843 (home-page "https://elpa.gnu.org/packages/orgalist.html")
8844 (synopsis "Manage Org-like lists in non-Org buffers")
8845 (description "Orgalist writes and manages Org mode's plain lists in
8846 non-Org buffers. More specifically, it supports the syntax of Org mode for
8847 numbered, unnumbered, description items, checkboxes, and counter cookies.
8848
8849 The library also implements radio lists, i.e., lists written in Org syntax
8850 later translated into the host format, e.g., LaTeX or HTML.")
8851 (license license:gpl3+)))
8852
8853 (define-public emacs-writegood-mode
8854 (package
8855 (name "emacs-writegood-mode")
8856 (version "2.0.2")
8857 (home-page "https://github.com/bnbeckwith/writegood-mode")
8858 (source (origin
8859 (method git-fetch)
8860 (uri (git-reference
8861 (url home-page)
8862 (commit (string-append "v" version))))
8863 (sha256
8864 (base32
8865 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
8866 (file-name (string-append name "-checkout"))))
8867 (build-system emacs-build-system)
8868 (synopsis "Polish up poor writing on the fly")
8869 (description
8870 "This minor mode tries to find and highlight problems with your writing
8871 in English as you type. It primarily detects \"weasel words\" and abuse of
8872 passive voice.")
8873 (license license:gpl3+)))
8874
8875 (define-public emacs-neotree
8876 (package
8877 (name "emacs-neotree")
8878 (version "0.5.2")
8879 (home-page "https://github.com/jaypei/emacs-neotree")
8880 (source (origin
8881 (method git-fetch)
8882 (uri (git-reference
8883 (url home-page)
8884 (commit version)))
8885 (sha256
8886 (base32
8887 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
8888 (file-name (git-file-name name version))))
8889 (build-system emacs-build-system)
8890 (synopsis "Folder tree view for Emacs")
8891 (description "This Emacs package provides a folder tree view.")
8892 (license license:gpl3+)))
8893
8894 (define-public emacs-org
8895 (package
8896 (name "emacs-org")
8897 ;; emacs-org-contrib inherits from this package. Please update it as
8898 ;; well.
8899 (version "9.3.6")
8900 (source
8901 (origin
8902 (method url-fetch)
8903 (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
8904 (sha256
8905 (base32 "0jwpgfzjvf1hd3mx582pw86hysdryaqzp69hk6azi9kmq4bzk87d"))))
8906 (build-system emacs-build-system)
8907 (arguments
8908 `(#:phases
8909 (modify-phases %standard-phases
8910 (add-after 'install 'install-documentation
8911 (lambda* (#:key outputs #:allow-other-keys)
8912 (let* ((share (string-append (assoc-ref outputs "out") "/share"))
8913 (info-dir (string-append share "/info"))
8914 (doc-dir (string-append share "/doc/" ,name "-" ,version)))
8915 (install-file "org" info-dir)
8916 (install-file "orgcard.pdf" doc-dir))
8917 #t)))))
8918 (home-page "https://orgmode.org/")
8919 (synopsis "Outline-based notes management and organizer")
8920 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8921 lists, and project planning with a fast and effective lightweight markup
8922 language. It also is an authoring system with unique support for literate
8923 programming and reproducible research.")
8924 (license license:gpl3+)))
8925
8926 (define-public emacs-org-contrib
8927 (package
8928 (inherit emacs-org)
8929 (name "emacs-org-contrib")
8930 (version "20200213")
8931 (source
8932 (origin
8933 (method url-fetch)
8934 (uri (string-append "https://orgmode.org/elpa/"
8935 "org-plus-contrib-" version ".tar"))
8936 (sha256
8937 (base32 "0g6rrrwplrifz4ip0jg638m4kvpvdg03hwnyghd813w0lm935mh5"))))
8938 (arguments
8939 `(#:modules ((guix build emacs-build-system)
8940 (guix build utils)
8941 (guix build emacs-utils)
8942 (ice-9 ftw)
8943 (srfi srfi-1))
8944 #:phases
8945 (modify-phases %standard-phases
8946 (add-after 'install 'delete-org-files
8947 (lambda* (#:key inputs outputs #:allow-other-keys)
8948 (let* ((out (assoc-ref outputs "out"))
8949 (org (assoc-ref inputs "org"))
8950 (contrib-files
8951 (map basename (find-files out)))
8952 (org+contrib-files
8953 (map basename (find-files org)))
8954 (duplicates (lset-intersection string=?
8955 contrib-files
8956 org+contrib-files)))
8957 (with-directory-excursion
8958 (string-append out "/share/emacs/site-lisp")
8959 (for-each delete-file duplicates))
8960 #t))))))
8961 (propagated-inputs
8962 `(("arduino-mode" ,emacs-arduino-mode)
8963 ("cider" ,emacs-cider)
8964 ("org" ,emacs-org)
8965 ("scel" ,emacs-scel)))
8966 (synopsis "Contributed packages to Org mode")
8967 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8968 lists, and project planning with a fast and effective plain-text system.
8969
8970 This package is equivalent to org-plus-contrib, but only includes additional
8971 files that you would find in @file{contrib/} from the git repository.")))
8972
8973 (define-public emacs-flx
8974 (package
8975 (name "emacs-flx")
8976 (version "0.6.1")
8977 (source
8978 (origin
8979 (method git-fetch)
8980 (uri (git-reference
8981 (url "https://github.com/lewang/flx.git")
8982 (commit (string-append "v" version))))
8983 (sha256
8984 (base32
8985 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
8986 (file-name (git-file-name name version))))
8987 (build-system emacs-build-system)
8988 (home-page "https://github.com/lewang/flx")
8989 (synopsis "Fuzzy matching for Emacs")
8990 (description
8991 "Flx provides fuzzy matching for emacs a la sublime text.
8992 The sorting algorithm is a balance between word beginnings (abbreviation)
8993 and contiguous matches (substring). The longer the substring match,
8994 the higher it scores. This maps well to how we think about matching.
8995 Flx has support for ido (interactively do things) through flx-ido.")
8996 (license license:gpl3+)))
8997
8998 (define-public emacs-cyberpunk-theme
8999 (package
9000 (name "emacs-cyberpunk-theme")
9001 (version "1.22")
9002 (source
9003 (origin
9004 (method git-fetch)
9005 (uri (git-reference
9006 (url "https://github.com/n3mo/cyberpunk-theme.el/")
9007 (commit version)))
9008 (sha256
9009 (base32
9010 "06nff38pcy5rgz13svkajsg0jjk73qy4a8m7p9f76yxcywxlgxlc"))
9011 (file-name (git-file-name name version))))
9012 (build-system emacs-build-system)
9013 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
9014 (synopsis "Cyberpunk theme for Emacs built-in color theme support")
9015 (description
9016 "Cyberpunk color theme for the Emacs 24+ built-in color theme support
9017 known loosely as deftheme. Many mode-specific customizations are included.")
9018 (license license:gpl3+)))
9019
9020 (define-public emacs-danneskjold-theme
9021 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
9022 (revision "1"))
9023 (package
9024 (name "emacs-danneskjold-theme")
9025 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
9026 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
9027 (source
9028 (origin
9029 (method git-fetch)
9030 (uri (git-reference
9031 (url home-page)
9032 (commit commit)))
9033 (file-name (git-file-name name version))
9034 (sha256
9035 (base32
9036 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
9037 (build-system emacs-build-system)
9038 (arguments
9039 `(#:phases
9040 (modify-phases %standard-phases
9041 (add-after 'unpack 'delete-screenshots
9042 (lambda _
9043 (delete-file-recursively "screenshots") #t)))))
9044 (synopsis "High-contrast Emacs theme")
9045 (description
9046 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
9047 (license license:gpl3+))))
9048
9049 (define-public emacs-dream-theme
9050 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
9051 (revision "1"))
9052 (package
9053 (name "emacs-dream-theme")
9054 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
9055 (source
9056 (origin
9057 (method git-fetch)
9058 (uri (git-reference
9059 (url "https://github.com/djcb/dream-theme")
9060 (commit commit)))
9061 (file-name (git-file-name name version))
9062 (sha256
9063 (base32
9064 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
9065 (build-system emacs-build-system)
9066 (home-page "https://github.com/djcb/dream-theme")
9067 (synopsis "High-contrast Emacs theme")
9068 (description
9069 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
9070 by zenburn, sinburn and similar themes, but slowly diverging from them.")
9071 (license license:gpl3+))))
9072
9073 (define-public emacs-dracula-theme
9074 (package
9075 (name "emacs-dracula-theme")
9076 (version "1.7.0")
9077 (source
9078 (origin
9079 (method git-fetch)
9080 (uri (git-reference
9081 (url "https://github.com/dracula/emacs")
9082 (commit (string-append "v" version))))
9083 (file-name (git-file-name name version))
9084 (sha256
9085 (base32 "15y2djc5jljlvls1x9kp50m1kp0dcksmyixafsyimj66xpq9ngh0"))))
9086 (build-system emacs-build-system)
9087 (home-page "https://draculatheme.com/")
9088 (synopsis "Dark theme for Emacs")
9089 (description
9090 "Dracula is a dark color theme for many editors, shells and more. This
9091 package provides the Emacs theme.")
9092 (license license:expat)))
9093
9094 (define-public emacs-auto-complete
9095 (package
9096 (name "emacs-auto-complete")
9097 (version "1.5.1")
9098 (source
9099 (origin
9100 (method git-fetch)
9101 (uri (git-reference
9102 (url "https://github.com/auto-complete/auto-complete.git")
9103 (commit (string-append "v" version))))
9104 (sha256
9105 (base32
9106 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
9107 (file-name (git-file-name name version))))
9108 (build-system emacs-build-system)
9109 (propagated-inputs
9110 `(("emacs-popup" ,emacs-popup)))
9111 (home-page "https://github.com/auto-complete/auto-complete")
9112 (synopsis "Intelligent auto-completion extension for Emacs")
9113 (description
9114 "Auto-Complete is an intelligent auto-completion extension for Emacs.
9115 It extends the standard Emacs completion interface and provides an environment
9116 that allows users to concentrate more on their own work. Its features are:
9117 a visual interface, reduce overhead of completion by using statistic method,
9118 extensibility.")
9119 (license license:gpl3+)))
9120
9121 (define-public emacs-nginx-mode
9122 (package
9123 (name "emacs-nginx-mode")
9124 (version "1.1.9")
9125 (source
9126 (origin
9127 (method git-fetch)
9128 (uri (git-reference
9129 (url "https://github.com/ajc/nginx-mode.git")
9130 (commit (string-append "v" version))))
9131 (file-name (git-file-name name version))
9132 (sha256
9133 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
9134 (build-system emacs-build-system)
9135 (home-page "https://github.com/ajc/nginx-mode")
9136 (synopsis "Emacs major mode for editing nginx config files")
9137 (description "This package provides an Emacs major mode for
9138 editing nginx config files.")
9139 (license license:gpl2+)))
9140
9141 (define-public emacs-stream
9142 (package
9143 (name "emacs-stream")
9144 (version "2.2.5")
9145 (source
9146 (origin
9147 (method url-fetch)
9148 (uri (string-append "https://elpa.gnu.org/packages/"
9149 "stream-" version ".tar"))
9150 (file-name (git-file-name name version))
9151 (sha256
9152 (base32 "00c3n4gyxzv7vczqms0d62kl8zsmjfyxa92mwxn2snyx857a9jfw"))))
9153 (build-system emacs-build-system)
9154 (home-page "http://elpa.gnu.org/packages/stream.html")
9155 (synopsis "Implementation of streams for Emacs")
9156 (description "This library provides an implementation of streams for Emacs.
9157 Streams are implemented as delayed evaluation of cons cells.")
9158 (license license:gpl3+)))
9159
9160 (define-public emacs-cl-print
9161 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
9162 (revision "1"))
9163 (package
9164 (name "emacs-cl-print")
9165 (version (git-version "1.0" revision commit))
9166 (source
9167 (origin
9168 (method git-fetch)
9169 (uri (git-reference
9170 (url "https://github.com/emacsmirror/cl-print.git")
9171 (commit commit)))
9172 (file-name (git-file-name name version))
9173 (sha256
9174 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
9175 (build-system emacs-build-system)
9176 (home-page "https://github.com/emacsmirror/cl-print")
9177 (synopsis "CL-style generic printing")
9178 (description "This package provides a generic function,
9179 @code{cl-print-object}, to which the programmer can add any method they
9180 please.")
9181 (license license:gpl3+))))
9182
9183 (define-public emacs-el-search
9184 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
9185 (revision "2"))
9186 (package
9187 (name "emacs-el-search")
9188 (version (git-version "1.12.6.1" revision commit))
9189 (source
9190 (origin
9191 (method git-fetch)
9192 (uri (git-reference
9193 (url "https://github.com/emacsmirror/el-search.git")
9194 (commit commit)))
9195 (file-name (git-file-name name version))
9196 (sha256
9197 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
9198 (build-system emacs-build-system)
9199 (inputs
9200 `(("emacs-stream" ,emacs-stream)
9201 ("emacs-cl-print" ,emacs-cl-print)))
9202 (home-page "https://github.com/emacsmirror/el-search")
9203 (synopsis "Expression based interactive search for emacs-lisp-mode")
9204 (description "This package provides expression based interactive search
9205 procedures for emacs-lisp-mode.")
9206 (license license:gpl3+))))
9207
9208 (define-public emacs-ht
9209 (package
9210 (name "emacs-ht")
9211 (version "2.2")
9212 (source
9213 (origin
9214 (method git-fetch)
9215 (uri (git-reference
9216 (url "https://github.com/Wilfred/ht.el.git")
9217 (commit version)))
9218 (file-name (git-file-name name version))
9219 (sha256
9220 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
9221 (build-system emacs-build-system)
9222 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
9223 (native-inputs
9224 `(("emacs-ert-runner" ,emacs-ert-runner)))
9225 (arguments
9226 `(#:tests? #t
9227 #:test-command '("ert-runner")))
9228 (home-page "https://github.com/Wilfred/ht.el")
9229 (synopsis "Hash table library for Emacs")
9230 (description
9231 "This package simplifies the use of hash tables in elisp. It also
9232 provides functions to convert hash tables from and to alists and plists.")
9233 (license license:gpl3+)))
9234
9235 (define-public emacs-log4e
9236 (package
9237 (name "emacs-log4e")
9238 (version "0.3.0")
9239 (source
9240 (origin
9241 (method git-fetch)
9242 (uri (git-reference
9243 (url "https://github.com/aki2o/log4e.git")
9244 (commit (string-append "v" version))))
9245 (file-name (git-file-name name version))
9246 (sha256
9247 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
9248 (build-system emacs-build-system)
9249 (arguments
9250 `(#:phases
9251 (modify-phases %standard-phases
9252 (add-after 'unpack 'remove-tests
9253 ;; Guile builder complains about null characters in some
9254 ;; strings of test files. Remove "test" directory (it is not
9255 ;; needed anyway).
9256 (lambda _
9257 (delete-file-recursively "test"))))))
9258 (home-page "https://github.com/aki2o/log4e")
9259 (synopsis "Logging framework for elisp")
9260 (description
9261 "This package provides a logging framework for elisp. It allows
9262 you to deal with multiple log levels.")
9263 (license license:gpl3+)))
9264
9265 (define-public emacs-gntp
9266 (package
9267 (name "emacs-gntp")
9268 (version "0.1")
9269 (source
9270 (origin
9271 (method git-fetch)
9272 (uri (git-reference
9273 (url "https://github.com/tekai/gntp.el.git")
9274 (commit (string-append "v" version))))
9275 (file-name (git-file-name name version))
9276 (sha256
9277 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
9278 (build-system emacs-build-system)
9279 (home-page "https://github.com/tekai/gntp.el")
9280 (synopsis "Growl Notification Protocol for Emacs")
9281 (description
9282 "This package implements the Growl Notification Protocol GNTP
9283 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
9284 It is incomplete as it only lets you send but not receive
9285 notifications.")
9286 (license license:bsd-3)))
9287
9288 (define-public emacs-alert
9289 (package
9290 (name "emacs-alert")
9291 (version "1.3")
9292 (source
9293 (origin
9294 (method git-fetch)
9295 (uri (git-reference
9296 (url "https://github.com/jwiegley/alert.git")
9297 (commit (string-append "v" version))))
9298 (file-name (git-file-name name version))
9299 (sha256
9300 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
9301 (build-system emacs-build-system)
9302 (propagated-inputs
9303 `(("emacs-gntp" ,emacs-gntp)
9304 ("emacs-log4e" ,emacs-log4e)))
9305 (home-page "https://github.com/jwiegley/alert")
9306 (synopsis "Growl-style notification system for Emacs")
9307 (description
9308 "Alert is a Growl-workalike for Emacs which uses a common notification
9309 interface and multiple, selectable \"styles\", whose use is fully
9310 customizable by the user.")
9311 (license license:gpl2+)))
9312
9313 (define-public emacs-zones
9314 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
9315 (revision "2"))
9316 (package
9317 (name "emacs-zones")
9318 (version (git-version "0" revision commit))
9319 (source
9320 (origin
9321 (method git-fetch)
9322 (uri (git-reference
9323 (url "https://github.com/emacsmirror/zones.git")
9324 (commit commit)))
9325 (file-name (git-file-name name version))
9326 (sha256
9327 (base32
9328 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
9329 (patches
9330 (search-patches
9331 "emacs-zones-called-interactively.patch"))))
9332 (build-system emacs-build-system)
9333 (home-page "https://www.emacswiki.org/emacs/Zones")
9334 (synopsis "Define and act on multiple zones of buffer text")
9335 (description "Library @file{zones.el} lets you easily define and
9336 subsequently act on multiple zones of buffer text. You can think of this as
9337 enlarging the notion of region. In effect, it can remove the requirement of
9338 target text being a contiguous sequence of characters. A set of buffer zones
9339 is, in effect, a (typically) noncontiguous set of text.")
9340 (license license:gpl3+))))
9341
9342 (define-public emacs-mu4e-alert
9343 (package
9344 (name "emacs-mu4e-alert")
9345 (version "1.0")
9346 (source
9347 (origin
9348 (method git-fetch)
9349 (uri (git-reference
9350 (url "https://github.com/iqbalansari/mu4e-alert.git")
9351 (commit (string-append "v" version))))
9352 (file-name (git-file-name name version))
9353 (sha256
9354 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
9355 (build-system emacs-build-system)
9356 (propagated-inputs
9357 `(("emacs-alert" ,emacs-alert)
9358 ("emacs-s" ,emacs-s)
9359 ("emacs-ht" ,emacs-ht)
9360 ("mu" ,mu)))
9361 (home-page "https://github.com/iqbalansari/mu4e-alert")
9362 (synopsis "Desktop notification for mu4e")
9363 (description
9364 "This package provides desktop notifications for mu4e.
9365 Additionally it can display the number of unread emails in the
9366 mode-line.")
9367 (license license:gpl3+)))
9368
9369 (define-public emacs-mu4e-jump-to-list
9370 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
9371 (revision "1"))
9372 (package
9373 (name "emacs-mu4e-jump-to-list")
9374 (version (git-version "1.0" revision commit))
9375 (source
9376 (origin
9377 (method git-fetch)
9378 (uri (git-reference
9379 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
9380 (commit commit)))
9381 (file-name (git-file-name name version))
9382 (sha256
9383 (base32
9384 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
9385 (build-system emacs-build-system)
9386 (propagated-inputs
9387 `(("mu" ,mu)))
9388 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
9389 (synopsis "Select and view mailing lists in mu4e")
9390 (description
9391 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
9392 automatically using existing List-ID headers in your mu database. Just press
9393 \"l\" in the headers view and any mailing list you've subscribed to will be
9394 automatically discovered and presented in recency order.")
9395 (license license:gpl3+))))
9396
9397 (define-public emacs-mu4e-patch
9398 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
9399 (revision "1"))
9400 (package
9401 (name "emacs-mu4e-patch")
9402 (version (git-version "0.1.0" revision commit))
9403 (source (origin
9404 (method git-fetch)
9405 (uri (git-reference
9406 (url "https://github.com/seanfarley/mu4e-patch")
9407 (commit commit)))
9408 (file-name (git-file-name name version))
9409 (sha256
9410 (base32
9411 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
9412 (build-system emacs-build-system)
9413 (propagated-inputs
9414 `(("mu" ,mu)))
9415 (home-page "https://github.com/seanfarley/mu4e-patch")
9416 (synopsis "Colorize patch-like emails in mu4e")
9417 (description
9418 "Extension for mu4e to colorize patch-like emails with diff-mode.
9419 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
9420 been adapted to work with mu4e.")
9421 (license license:gpl3+))))
9422
9423 (define-public emacs-pretty-mode
9424 (package
9425 (name "emacs-pretty-mode")
9426 (version "2.0.3")
9427 (source
9428 (origin
9429 (method git-fetch)
9430 (uri (git-reference
9431 (url "https://github.com/akatov/pretty-mode/")
9432 (commit version)))
9433 (file-name (git-file-name name version))
9434 (sha256
9435 (base32
9436 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
9437 (build-system emacs-build-system)
9438 (home-page "https://github.com/akatov/pretty-mode")
9439 (synopsis "Redisplay parts of the buffer as Unicode symbols")
9440 (description
9441 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
9442 (license license:gpl3+)))
9443
9444 (define-public emacs-yasnippet
9445 (package
9446 (name "emacs-yasnippet")
9447 (version "0.14.0")
9448 (source
9449 (origin
9450 (method git-fetch)
9451 (uri (git-reference
9452 (url "https://github.com/joaotavora/yasnippet.git")
9453 (commit version)))
9454 (file-name (string-append name "-" version ".tar.gz"))
9455 (sha256
9456 (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
9457 (modules '((guix build utils)))
9458 (snippet
9459 '(begin
9460 ;; YASnippet expects a "snippets" subdirectory in the same
9461 ;; directory as yasnippet.el, but we don't install it because it's
9462 ;; a git submodule pointing to an external repository. Adjust
9463 ;; `yas-snippet-dirs' to prevent warnings about a missing
9464 ;; directory.
9465 (substitute* "yasnippet.el"
9466 (("^ +'yas-installed-snippets-dir\\)\\)\n")
9467 "))\n"))
9468 #t))))
9469 (build-system emacs-build-system)
9470 (arguments
9471 `(#:tests? #t
9472 #:test-command '("emacs" "--batch"
9473 "-l" "yasnippet-tests.el"
9474 "-f" "ert-run-tests-batch-and-exit")
9475 ;; FIXME: one failing test.
9476 #:phases
9477 (modify-phases %standard-phases
9478 (add-before 'check 'make-tests-writable
9479 (lambda _
9480 (make-file-writable "yasnippet-tests.el")
9481 #t))
9482 (add-before 'check 'delete-rebinding-test
9483 (lambda _
9484 (emacs-batch-edit-file "yasnippet-tests.el"
9485 `(progn (goto-char (point-min))
9486 (re-search-forward "ert-deftest test-rebindings")
9487 (beginning-of-line)
9488 (kill-sexp)
9489 (basic-save-buffer)))
9490 #t)))))
9491 (home-page "https://github.com/joaotavora/yasnippet")
9492 (synopsis "Yet another snippet extension for Emacs")
9493 (description
9494 "YASnippet is a template system for Emacs. It allows you to type an
9495 abbreviation and automatically expand it into function templates.")
9496 (license license:gpl3+)))
9497
9498 (define-public emacs-yasnippet-snippets
9499 (package
9500 (name "emacs-yasnippet-snippets")
9501 (version "0.20")
9502 (source
9503 (origin
9504 (method git-fetch)
9505 (uri (git-reference
9506 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
9507 (commit version)))
9508 (file-name (git-file-name name version))
9509 (sha256
9510 (base32 "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"))))
9511 (build-system trivial-build-system)
9512 (arguments
9513 `(#:modules ((guix build utils))
9514 #:builder
9515 (begin
9516 (use-modules (guix build utils))
9517 (let* ((source (assoc-ref %build-inputs "source"))
9518 (out (assoc-ref %outputs "out"))
9519 (snippet-dir
9520 (string-append out "/share/emacs/yasnippet-snippets/")))
9521 (with-directory-excursion source
9522 (mkdir-p snippet-dir)
9523 (copy-recursively "snippets" snippet-dir)))
9524 #t)))
9525 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
9526 (synopsis "Collection of YASnippet snippets for many languages")
9527 (description
9528 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
9529 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
9530 To make YASnippet aware of these snippets, add the above directory to
9531 @code{yas-snippet-dirs}.")
9532 (license license:gpl3+)))
9533
9534 (define-public emacs-helm-c-yasnippet
9535 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
9536 (revision "1"))
9537 (package
9538 (name "emacs-helm-c-yasnippet")
9539 (version (string-append "0.6.7" "-" revision "."
9540 (string-take commit 7)))
9541 (source (origin
9542 (method git-fetch)
9543 (uri (git-reference
9544 (url "https://github.com/emacs-jp/helm-c-yasnippet")
9545 (commit commit)))
9546 (file-name (git-file-name name version))
9547 (sha256
9548 (base32
9549 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
9550 (build-system emacs-build-system)
9551 (propagated-inputs
9552 `(("emacs-helm" ,emacs-helm)
9553 ("emacs-yasnippet" ,emacs-yasnippet)))
9554 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
9555 (synopsis "Helm integration for Yasnippet")
9556 (description "This Emacs library provides Helm interface for
9557 Yasnippet.")
9558 (license license:gpl2+))))
9559
9560 (define-public emacs-helm-system-packages
9561 ;; There won't be a new release after 1.10.1 until
9562 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
9563 ;; and latest commits fix import issues with Guix.
9564 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
9565 (package
9566 (name "emacs-helm-system-packages")
9567 (version (git-version "1.10.1" "1" commit))
9568 (source (origin
9569 (method git-fetch)
9570 (uri (git-reference
9571 (url "https://github.com/emacs-helm/helm-system-packages")
9572 (commit commit)))
9573 (file-name (git-file-name name version))
9574 (sha256
9575 (base32
9576 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
9577 (build-system emacs-build-system)
9578 (inputs
9579 `(("recutils" ,recutils)))
9580 (propagated-inputs
9581 `(("emacs-helm" ,emacs-helm)))
9582 (arguments
9583 `(#:phases
9584 (modify-phases %standard-phases
9585 (add-after 'unpack 'configure
9586 (lambda* (#:key inputs outputs #:allow-other-keys)
9587 (let ((recutils (assoc-ref inputs "recutils")))
9588 ;; Specify the absolute file names of the various
9589 ;; programs so that everything works out-of-the-box.
9590 (substitute* "helm-system-packages-guix.el"
9591 (("recsel") (string-append recutils "/bin/recsel")))))))))
9592 (home-page "https://github.com/emacs-helm/helm-system-packages")
9593 (synopsis "Helm System Packages is an interface to your package manager")
9594 (description "List all available packages in Helm (with installed
9595 packages displayed in their own respective face). Fuzzy-search, mark and
9596 execute the desired action over any selections of packages: Install,
9597 uninstall, display packages details (in Org Mode) or insert details at point,
9598 find files owned by packages... And much more, including performing all the
9599 above over the network.")
9600 (license license:gpl3+))))
9601
9602 (define-public emacs-helm-org-rifle
9603 (package
9604 (name "emacs-helm-org-rifle")
9605 (version "1.7.0")
9606 (source
9607 (origin
9608 (method git-fetch)
9609 (uri (git-reference
9610 (url "https://github.com/alphapapa/helm-org-rifle")
9611 (commit version)))
9612 (file-name (git-file-name name version))
9613 (sha256
9614 (base32
9615 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
9616 (build-system emacs-build-system)
9617 (propagated-inputs
9618 `(("emacs-dash" ,emacs-dash)
9619 ("emacs-f" ,emacs-f)
9620 ("emacs-helm" ,emacs-helm)
9621 ("emacs-org" ,emacs-org)
9622 ("emacs-s" ,emacs-s)))
9623 (home-page "https://github.com/alphapapa/helm-org-rifle")
9624 (synopsis "Rifle through Org files")
9625 (description "This package searches both headings and contents of entries
9626 in Org buffers and displays matching entries.")
9627 (license license:gpl3+)))
9628
9629 (define-public emacs-dired-git-info
9630 ;; Upstream has no proper release. The base version is extracted from the
9631 ;; "Version" keyword in the main file.
9632 (let ((commit "91d57e3a4c5104c66a3abc18e281ee55e8979176")
9633 (revision "0"))
9634 (package
9635 (name "emacs-dired-git-info")
9636 (version (git-version "0.3.1" revision commit))
9637 (source
9638 (origin
9639 (method git-fetch)
9640 (uri
9641 (git-reference
9642 (url "https://github.com/clemera/dired-git-info")
9643 (commit commit)))
9644 (file-name (git-file-name name version))
9645 (sha256
9646 (base32 "1dr4iv95s4barxxj56znqkl9z0lg5jw731jmjr01s6vn8ar69gik"))))
9647 (build-system emacs-build-system)
9648 (home-page "https://github.com/clemera/dired-git-info/")
9649 (synopsis "Show git info in Emacs Dired")
9650 (description "This Emacs package provides a minor mode which shows git
9651 information inside the Dired buffer.")
9652 (license license:gpl3+))))
9653
9654 (define-public emacs-dired-toggle-sudo
9655 (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
9656 (revision "0"))
9657 (package
9658 (name "emacs-dired-toggle-sudo")
9659 (version (git-version "1.0" revision commit))
9660 (source
9661 (origin
9662 (method git-fetch)
9663 (uri (git-reference
9664 (url "https://github.com/renard/dired-toggle-sudo")
9665 (commit commit)))
9666 (file-name (git-file-name name version))
9667 (sha256
9668 (base32
9669 "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car"))))
9670 (build-system emacs-build-system)
9671 (home-page "https://github.com/renard/dired-toggle-sudo")
9672 (synopsis "Browse directory with @code{sudo} privileges")
9673 (description "This package allows for the use of @code{dired} with
9674 @code{sudo} privileges.")
9675 (license license:wtfpl2))))
9676
9677 (define-public emacs-diredfl
9678 (package
9679 (name "emacs-diredfl")
9680 (version "0.4")
9681 (source
9682 (origin
9683 (method git-fetch)
9684 (uri
9685 (git-reference
9686 (url "https://github.com/purcell/diredfl")
9687 (commit version)))
9688 (file-name (git-file-name name version))
9689 (sha256
9690 (base32 "1zb2lz7rp58zqvpniqcsmqabi7nqg2d8bfd0hgmq68bn2hd25b5z"))))
9691 (build-system emacs-build-system)
9692 (home-page "https://github.com/purcell/diredfl/")
9693 (synopsis "Extra Emacs font lock rules for a more colourful Dired")
9694 (description "This library enables additional font locking in Dired mode.
9695 This is adapted from the extra font lock rules provided by Drew Adams' Dired+
9696 package.")
9697 (license license:gpl3+)))
9698
9699 (define-public emacs-memoize
9700 (package
9701 (name "emacs-memoize")
9702 (version "1.1")
9703 (source
9704 (origin
9705 (method git-fetch)
9706 (uri (git-reference
9707 (url "https://github.com/skeeto/emacs-memoize.git")
9708 (commit version)))
9709 (file-name (git-file-name name version))
9710 (sha256
9711 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
9712 (build-system emacs-build-system)
9713 (arguments
9714 `(#:tests? #t
9715 #:test-command '("emacs" "--batch"
9716 "-l" "memoize-test.el"
9717 "-f" "ert-run-tests-batch-and-exit")))
9718 (home-page "https://github.com/skeeto/emacs-memoize")
9719 (synopsis "Emacs lisp memoization library")
9720 (description "@code{emacs-memoize} is an Emacs library for
9721 memoizing functions.")
9722 (license license:unlicense)))
9723
9724 (define-public emacs-linum-relative
9725 (package
9726 (name "emacs-linum-relative")
9727 (version "0.6")
9728 (source
9729 (origin
9730 (method git-fetch)
9731 (uri (git-reference
9732 (url "https://github.com/coldnew/linum-relative.git")
9733 (commit version)))
9734 (file-name (git-file-name name version))
9735 (sha256
9736 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
9737 (build-system emacs-build-system)
9738 (home-page "https://github.com/coldnew/linum-relative")
9739 (synopsis "Relative line numbering for Emacs")
9740 (description "@code{emacs-linum-relative} displays the relative line
9741 number on the left margin in Emacs.")
9742 (license license:gpl2+)))
9743
9744 (define-public emacs-idle-highlight
9745 (package
9746 (name "emacs-idle-highlight")
9747 (version "1.1.3")
9748 (source
9749 (origin
9750 (method git-fetch)
9751 (uri (git-reference
9752 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
9753 (commit version)))
9754 (file-name (git-file-name name version))
9755 (sha256
9756 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
9757 (build-system emacs-build-system)
9758 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
9759 (synopsis "Highlights all occurrences of the word the point is on")
9760 (description
9761 "This Emacs package provides @code{idle-highlight-mode} that sets
9762 an idle timer to highlight all occurrences in the buffer of the word under
9763 the point.")
9764 (license license:gpl3+)))
9765
9766 (define-public emacs-ox-twbs
9767 (package
9768 (name "emacs-ox-twbs")
9769 (version "1.1.1")
9770 (source
9771 (origin
9772 (method git-fetch)
9773 (uri (git-reference
9774 (url "https://github.com/marsmining/ox-twbs.git")
9775 (commit (string-append "v" version))))
9776 (file-name (git-file-name name version))
9777 (sha256
9778 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
9779 (build-system emacs-build-system)
9780 (home-page "https://github.com/marsmining/ox-twbs")
9781 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
9782 (description
9783 "This Emacs package outputs your org-mode docs with a simple, clean and
9784 modern look. It implements a new HTML back-end for exporting org-mode docs as
9785 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
9786 jQuery and Bootstrap resources included via osscdn.")
9787 (license license:gpl3+)))
9788
9789 (define-public emacs-highlight-sexp
9790 (package
9791 (name "emacs-highlight-sexp")
9792 (version "1.0")
9793 (source
9794 (origin
9795 (method git-fetch)
9796 (uri (git-reference
9797 (url "https://github.com/daimrod/highlight-sexp.git")
9798 (commit (string-append "v" version))))
9799 (file-name (git-file-name name version))
9800 (sha256
9801 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
9802 (build-system emacs-build-system)
9803 (home-page "https://github.com/daimrod/highlight-sexp")
9804 (synopsis "Minor mode that highlights the s-exp at the current position")
9805 (description
9806 "This Emacs package highlights the s-exp at the current position.")
9807 (license license:gpl3+)))
9808
9809 (define-public emacs-highlight-stages
9810 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
9811 (revision "1"))
9812 (package
9813 (name "emacs-highlight-stages")
9814 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
9815 (source
9816 (origin
9817 (method git-fetch)
9818 (uri (git-reference
9819 (url "https://github.com/zk-phi/highlight-stages.git")
9820 (commit commit)))
9821 (file-name (git-file-name name version))
9822 (sha256
9823 (base32
9824 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
9825 (patches
9826 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
9827 (build-system emacs-build-system)
9828 (home-page "https://github.com/wigust/highlight-stages")
9829 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
9830 (description "@code{highlight-stages} provides an Emacs minor mode that
9831 highlights quasi-quoted expressions.")
9832 (license license:gpl3+))))
9833
9834 (define-public emacspeak
9835 (package
9836 (name "emacspeak")
9837 (version "52.0")
9838 (source
9839 (origin
9840 (method url-fetch)
9841 (uri (string-append
9842 "https://github.com/tvraman/emacspeak/releases/download/"
9843 version "/emacspeak-" version ".tar.bz2"))
9844 (sha256
9845 (base32 "0x5b0s38r5ih2lk7f5hasi9arrgxlmmq5jaddadbxi8in2gw2jzl"))))
9846 (build-system gnu-build-system)
9847 (arguments
9848 '(#:make-flags (list (string-append "prefix="
9849 (assoc-ref %outputs "out")))
9850 #:phases
9851 (modify-phases %standard-phases
9852 (add-after 'unpack 'delete-broken-symlink
9853 (lambda _
9854 (delete-file "lisp/sudoku.el")
9855 #t))
9856 (replace 'configure
9857 (lambda _
9858 (setenv "SHELL" (which "sh"))
9859 ;; Configure Emacspeak according to etc/install.org.
9860 (invoke "make" "config")))
9861 (add-after 'build 'build-espeak
9862 (lambda _
9863 (invoke "make" "espeak")))
9864 (replace 'install
9865 (lambda* (#:key inputs outputs #:allow-other-keys)
9866 (let* ((out (assoc-ref outputs "out"))
9867 (bin (string-append out "/bin"))
9868 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
9869 (info (string-append out "/share/info"))
9870 (emacs (string-append (assoc-ref inputs "emacs")
9871 "/bin/emacs")))
9872 ;; According to etc/install.org, the Emacspeak directory should
9873 ;; be copied to its installation destination.
9874 (for-each
9875 (lambda (file)
9876 (copy-recursively file (string-append lisp "/" file)))
9877 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
9878 "stumpwm" "xsl"))
9879 ;; Make sure emacspeak is loaded from the correct directory.
9880 (substitute* "run"
9881 (("\\./lisp/emacspeak-setup.el")
9882 (string-append lisp "/lisp/emacspeak-setup.el")))
9883 ;; Install the convenient startup script.
9884 (mkdir-p bin)
9885 (copy-file "run" (string-append bin "/emacspeak")))
9886 #t))
9887 (add-after 'install 'wrap-program
9888 (lambda* (#:key inputs outputs #:allow-other-keys)
9889 (let* ((out (assoc-ref outputs "out"))
9890 (emacspeak (string-append out "/bin/emacspeak"))
9891 (espeak (string-append (assoc-ref inputs "espeak")
9892 "/bin/espeak")))
9893 ;; The environment variable DTK_PROGRAM tells emacspeak what
9894 ;; program to use for speech.
9895 (wrap-program emacspeak
9896 `("DTK_PROGRAM" ":" prefix (,espeak)))
9897 #t))))
9898 #:tests? #f)) ; no check target
9899 (inputs
9900 `(("emacs" ,emacs)
9901 ("espeak" ,espeak-ng)
9902 ("perl" ,perl)
9903 ("tcl" ,tcl)
9904 ("tclx" ,tclx)))
9905 (home-page "http://emacspeak.sourceforge.net")
9906 (synopsis "Audio desktop interface for Emacs")
9907 (description
9908 "Emacspeak is a speech interface that allows visually impaired users to
9909 interact independently and efficiently with the computer. Audio
9910 formatting---a technique pioneered by AsTeR---and full support for W3C's Aural
9911 CSS (ACSS) allows Emacspeak to produce rich aural presentations of electronic
9912 information. By seamlessly blending all aspects of the Internet such as
9913 Web-surfing and messaging, Emacspeak speech-enables local and remote
9914 information via a consistent and well-integrated user interface.")
9915 (license license:gpl2+)))
9916
9917 (define-public emacs-adaptive-wrap
9918 (package
9919 (name "emacs-adaptive-wrap")
9920 (version "0.7")
9921 (source
9922 (origin
9923 (method url-fetch)
9924 (uri (string-append "https://elpa.gnu.org/packages/"
9925 "adaptive-wrap-" version ".el"))
9926 (sha256
9927 (base32 "10fb8gzvkbnrgzv28n1rczs03dvapr7rvi0kd73j6yf1zg2iz6qp"))))
9928 (build-system emacs-build-system)
9929 (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html")
9930 (synopsis "Smart line-wrapping with wrap-prefix")
9931 (description
9932 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
9933 minor mode which sets the wrap-prefix property on the fly so that
9934 single-long-line paragraphs get word-wrapped in a way similar to what
9935 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
9936 actually changing the buffer's text.")
9937 (license license:gpl3+)))
9938
9939 (define-public emacs-diff-hl
9940 (package
9941 (name "emacs-diff-hl")
9942 (version "1.8.7")
9943 (source
9944 (origin
9945 (method git-fetch)
9946 (uri (git-reference
9947 (url "https://github.com/dgutov/diff-hl")
9948 (commit version)))
9949 (file-name (git-file-name name version))
9950 (sha256
9951 (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"))))
9952 (build-system emacs-build-system)
9953 (home-page "https://github.com/dgutov/diff-hl")
9954 (synopsis
9955 "Highlight uncommitted changes using VC")
9956 (description
9957 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
9958 window (using the fringe, by default), allows you to jump between
9959 the hunks and revert them selectively.")
9960 (license license:gpl3+)))
9961
9962 (define-public emacs-diminish
9963 (package
9964 (name "emacs-diminish")
9965 (version "0.45")
9966 (source
9967 (origin
9968 (method git-fetch)
9969 (uri (git-reference
9970 (url "https://github.com/myrjola/diminish.el.git")
9971 (commit (string-append "v" version))))
9972 (file-name (git-file-name name version))
9973 (sha256
9974 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
9975 (build-system emacs-build-system)
9976 (home-page "https://github.com/myrjola/diminish.el")
9977 (synopsis "Diminish minor modes with no modeline display")
9978 (description "@code{emacs-diminish} implements hiding or
9979 abbreviation of the mode line displays (lighters) of minor modes.")
9980 (license license:gpl2+)))
9981
9982 (define-public emacs-use-package
9983 (package
9984 (name "emacs-use-package")
9985 (version "2.4")
9986 (source (origin
9987 (method git-fetch)
9988 (uri (git-reference
9989 (url "https://github.com/jwiegley/use-package")
9990 (commit version)))
9991 (file-name (git-file-name name version))
9992 (sha256
9993 (base32
9994 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
9995 (build-system emacs-build-system)
9996 (propagated-inputs
9997 `(("emacs-diminish" ,emacs-diminish)))
9998 (arguments
9999 `(#:tests? #t
10000 #:test-command '("emacs" "--batch"
10001 "-l" "use-package-tests.el"
10002 "-f" "ert-run-tests-batch-and-exit")))
10003 (home-page "https://github.com/jwiegley/use-package")
10004 (synopsis "Declaration for simplifying your .emacs")
10005 (description "The use-package macro allows you to isolate package
10006 configuration in your @file{.emacs} file in a way that is both
10007 performance-oriented and tidy.")
10008 (license license:gpl2+)))
10009
10010 (define-public emacs-leaf
10011 (package
10012 (name "emacs-leaf")
10013 (version "3.5.0")
10014 (source
10015 (origin
10016 (method git-fetch)
10017 (uri (git-reference
10018 (url "https://github.com/conao3/leaf.el.git")
10019 (commit (string-append "v" version))))
10020 (file-name (git-file-name name version))
10021 (sha256
10022 (base32
10023 "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d"))))
10024 (build-system emacs-build-system)
10025 (home-page "https://github.com/conao3/leaf.el")
10026 (arguments
10027 `(#:tests? #t
10028 #:test-command '("emacs" "--batch"
10029 "-l" "leaf-tests.el"
10030 "-f" "cort-test-run")))
10031 (synopsis
10032 "Simplify your init.el configuration, extended use-package")
10033 (description
10034 "This package provides macros that allows you to declaratively configure
10035 settings typical of an Elisp package with various keywords. The syntax is
10036 similar, but not identical to use-package -- overall, leaf aims at a cleaner
10037 and more predictable implementation.")
10038 (license license:agpl3+)))
10039
10040 (define-public emacs-strace-mode
10041 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
10042 (revision "1"))
10043 (package
10044 (name "emacs-strace-mode")
10045 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
10046 (source (origin
10047 (method git-fetch)
10048 (uri (git-reference
10049 (url "https://github.com/pkmoore/strace-mode")
10050 (commit commit)))
10051 (file-name (git-file-name name version))
10052 (sha256
10053 (base32
10054 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
10055 (build-system emacs-build-system)
10056 (home-page "https://github.com/pkmoore/strace-mode")
10057 (synopsis "Emacs major mode to highlight strace outputs")
10058 (description "@code{emacs-strace-mode} provides an Emacs major mode
10059 highlighting strace outputs.")
10060 (license license:gpl3+))))
10061
10062 (define-public emacs-default-encrypt
10063 (package
10064 (name "emacs-default-encrypt")
10065 (version "4.4")
10066 (source
10067 (origin
10068 (method url-fetch)
10069 (uri (string-append
10070 "https://informationelle-selbstbestimmung-im-internet.de"
10071 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
10072 (file-name (string-append "jl-encrypt-" version ".el"))
10073 (sha256
10074 (base32
10075 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
10076 (build-system emacs-build-system)
10077 (home-page
10078 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
10079 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
10080 (description
10081 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
10082 automatically encrypts messages that you send (e.g., email) when public keys
10083 for all recipients are available, and it protects you from accidentally
10084 sending un-encrypted messages. It can also be configured to automatically
10085 sign messages that you send. For details and instructions on how to use
10086 DefaultEncrypt, please refer to the home page or read the comments in the
10087 source file, @file{jl-encrypt.el}.")
10088 (license license:gpl3+)))
10089
10090 (define-public emacs-extend-smime
10091 (package
10092 (name "emacs-extend-smime")
10093 (version "3.3")
10094 (source
10095 (origin
10096 (method url-fetch)
10097 (uri (string-append
10098 "https://informationelle-selbstbestimmung-im-internet.de"
10099 "/emacs/jl-smime" version "/jl-smime.el"))
10100 (file-name (string-append "jl-smime-" version ".el"))
10101 (sha256
10102 (base32
10103 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
10104 (build-system emacs-build-system)
10105 (home-page
10106 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
10107 (synopsis "Improved S/MIME support for Gnus in Emacs")
10108 (propagated-inputs
10109 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
10110 (description
10111 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
10112 ;; should not be translated. The name "emacs-default-encrypt" refers to
10113 ;; the Guix package that provides DefaultEncrypt.
10114 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
10115 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
10116 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
10117 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
10118 certificates via LDAP and imports them into @code{gpgsm}. When certificates
10119 for all recipients are available, DefaultEncrypt automatically encrypts the
10120 message. For details and instructions on how to use ExtendSMIME, please refer
10121 to the home page or read the comments in the source file,
10122 @file{jl-smime.el}.")
10123 (license license:gpl3+)))
10124
10125 (define-public emacs-htmlize
10126 (package
10127 (name "emacs-htmlize")
10128 (version "1.55")
10129 (source
10130 (origin
10131 (method git-fetch)
10132 (uri (git-reference
10133 (url "https://github.com/hniksic/emacs-htmlize.git")
10134 (commit (string-append "release/" version))))
10135 (file-name (git-file-name name version))
10136 (sha256
10137 (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"))))
10138 (build-system emacs-build-system)
10139 (home-page "https://github.com/hniksic/emacs-htmlize")
10140 (synopsis "Convert buffer text and decorations to HTML")
10141 (description "@code{emacs-htmlize} converts the buffer text and
10142 the associated decorations to HTML. Output to CSS, inline CSS and
10143 fonts is supported.")
10144 (license license:gpl2+)))
10145
10146 (define-public emacs-xmlgen
10147 (package
10148 (name "emacs-xmlgen")
10149 (version "0.5")
10150 (source
10151 (origin
10152 (method git-fetch)
10153 (uri (git-reference
10154 (url "https://github.com/philjackson/xmlgen.git")
10155 (commit version)))
10156 (file-name (git-file-name name version))
10157 (sha256
10158 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
10159 (build-system emacs-build-system)
10160 (arguments
10161 `(#:tests? #t
10162 #:test-command '("emacs" "--batch"
10163 "-l" "xmlgen-test.el"
10164 "-f" "ert-run-tests-batch-and-exit")))
10165 (home-page "https://github.com/philjackson/xmlgen")
10166 (synopsis "S-expression to XML domain specific language (DSL) in
10167 Emacs Lisp")
10168 (description "@code{emacs-xmlgen} provides S-expression to XML
10169 conversion for Emacs Lisp.")
10170 (license license:gpl2+)))
10171
10172 (define-public emacs-cdlatex
10173 (package
10174 (name "emacs-cdlatex")
10175 (version "4.7")
10176 (source
10177 (origin
10178 (method git-fetch)
10179 (uri (git-reference
10180 (url "https://github.com/cdominik/cdlatex.git")
10181 (commit version)))
10182 (file-name (git-file-name name version))
10183 (sha256
10184 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
10185 (build-system emacs-build-system)
10186 (propagated-inputs
10187 `(("emacs-auctex" ,emacs-auctex)))
10188 (home-page "https://github.com/cdominik/cdlatex")
10189 (synopsis "Fast Emacs input methods for LaTeX environments and
10190 math")
10191 (description "CDLaTeX is an Emacs minor mode supporting fast
10192 insertion of environment templates and math in LaTeX. Similar
10193 commands are also offered as part of the AUCTeX package, but it is not
10194 the same - CDLaTeX focuses on speediness for inserting LaTeX
10195 constructs.")
10196 (license license:gpl3+)))
10197
10198 (define-public emacs-cnfonts
10199 (package
10200 (name "emacs-cnfonts")
10201 (version "0.9.1")
10202 (source
10203 (origin
10204 (method git-fetch)
10205 (uri (git-reference
10206 (url "https://github.com/tumashu/cnfonts.git")
10207 (commit (string-append "v" version))))
10208 (file-name (git-file-name name version))
10209 (sha256
10210 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
10211 (build-system emacs-build-system)
10212 (home-page "https://github.com/tumashu/cnfonts")
10213 (synopsis "Emacs Chinese fonts setup tool")
10214 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
10215 configuration of Chinese fonts.")
10216 (license license:gpl2+)))
10217
10218 (define-public emacs-php-mode
10219 (package
10220 (name "emacs-php-mode")
10221 (version "1.23.0")
10222 (source
10223 (origin
10224 (method git-fetch)
10225 (uri (git-reference
10226 (url "https://github.com/ejmr/php-mode.git")
10227 (commit (string-append "v" version))))
10228 (file-name (git-file-name name version))
10229 (sha256
10230 (base32 "0wnkcxg6djy4jvxhshiy1iw6b5cf79pjwjhfd1a060cavhfm4v5c"))))
10231 (build-system emacs-build-system)
10232 (home-page "https://github.com/ejmr/php-mode")
10233 (synopsis "Major mode for editing PHP code")
10234 (description
10235 "PHP mode is a major mode for editing PHP source code. It's an extension
10236 of C mode; thus it inherits all C mode's navigation functionality. But it
10237 colors according to the PHP grammar and indents according to the PEAR coding
10238 guidelines. It also includes a couple handy IDE-type features such as
10239 documentation search and a source and class browser.")
10240 (license license:gpl3+)))
10241
10242 (define-public emacs-pos-tip
10243 (package
10244 (name "emacs-pos-tip")
10245 (version "0.4.6")
10246 (source
10247 (origin
10248 (method git-fetch)
10249 (uri (git-reference
10250 (url "https://github.com/pitkali/pos-tip.git")
10251 (commit version)))
10252 (file-name (git-file-name name version))
10253 (sha256
10254 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
10255 (build-system emacs-build-system)
10256 ;; The following functions and variables needed by emacs-pos-tip are
10257 ;; not included in emacs-minimal:
10258 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
10259 (arguments `(#:emacs ,emacs))
10260 (home-page "https://github.com/pitkali/pos-tip")
10261 (synopsis "Show tooltip at point")
10262 (description "The standard library tooltip.el provides a function for
10263 displaying a tooltip at the mouse position. However, locating a tooltip at an
10264 arbitrary buffer position in a window is not easy. Pos-tip provides such a
10265 function to be used by other frontend programs.")
10266 (license license:gpl2+)))
10267
10268 (define-public emacs-pyim-basedict
10269 (package
10270 (name "emacs-pyim-basedict")
10271 (version "0.3.1")
10272 (source
10273 (origin
10274 (method git-fetch)
10275 (uri (git-reference
10276 (url "https://github.com/tumashu/pyim-basedict.git")
10277 (commit (string-append "v" version))))
10278 (file-name (git-file-name name version))
10279 (sha256
10280 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
10281 (build-system emacs-build-system)
10282 (home-page "https://github.com/tumashu/pyim-basedict")
10283 (synopsis "Input method dictionary of pyim")
10284 (description "Pyim-basedict is the default pinyin input method dictionary,
10285 containing words from the rime project.")
10286 (license license:gpl2+)))
10287
10288 (define-public emacs-pyim
10289 (package
10290 (name "emacs-pyim")
10291 (version "1.8")
10292 (source
10293 (origin
10294 (method git-fetch)
10295 (uri (git-reference
10296 (url "https://github.com/tumashu/pyim")
10297 (commit (string-append "v" version))))
10298 (file-name (git-file-name name version))
10299 (sha256
10300 (base32
10301 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
10302 (build-system emacs-build-system)
10303 (propagated-inputs
10304 `(("emacs-async" ,emacs-async)
10305 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
10306 ("emacs-popup" ,emacs-popup)
10307 ("emacs-posframe" ,emacs-posframe)))
10308 (home-page "https://github.com/tumashu/pyim")
10309 (synopsis "Chinese input method")
10310 (description "Chinese input method which supports quanpin, shuangpin, wubi
10311 and cangjie.")
10312 (license license:gpl2+)))
10313
10314 (define-public emacs-posframe
10315 (package
10316 (name "emacs-posframe")
10317 (version "0.7.0")
10318 (source
10319 (origin
10320 (method url-fetch)
10321 (uri (string-append "https://elpa.gnu.org/packages/"
10322 "posframe-" version ".el"))
10323 (sha256
10324 (base32 "1kwl83jb5k1hnx0s2qw972v0gjqbbvk4sdcdb1qbdxsyw36sylc9"))))
10325 (build-system emacs-build-system)
10326 ;; emacs-minimal does not include the function font-info.
10327 (arguments
10328 `(#:emacs ,emacs))
10329 (home-page "https://github.com/tumashu/posframe")
10330 (synopsis "Pop a posframe (a child frame) at point")
10331 (description "@code{emacs-posframe} can pop a posframe at point. A
10332 posframe is a child frame displayed within its root window's buffer.
10333 @code{emacs-posframe} is fast and works well with CJK languages.")
10334 (license license:gpl3+)))
10335
10336 (define-public emacs-el2org
10337 (package
10338 (name "emacs-el2org")
10339 (version "0.6.0")
10340 (source
10341 (origin
10342 (method git-fetch)
10343 (uri (git-reference
10344 (url "https://github.com/tumashu/el2org.git")
10345 (commit (string-append "v" version))))
10346 (file-name (git-file-name name version))
10347 (sha256
10348 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
10349 (build-system emacs-build-system)
10350 (home-page "https://github.com/tumashu/el2org")
10351 (synopsis "Convert Emacs-lisp file to org file")
10352 (description "El2org is a simple tool, which can convert Emacs-lisp file
10353 to org file, you can use this tool to write orgify commentary.")
10354 (license license:gpl2+)))
10355
10356 (define-public emacs-mustache
10357 (package
10358 (name "emacs-mustache")
10359 (version "0.23")
10360 (source
10361 (origin
10362 (method git-fetch)
10363 (uri (git-reference
10364 (url "https://github.com/Wilfred/mustache.el.git")
10365 (commit version)))
10366 (file-name (git-file-name name version))
10367 (sha256
10368 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
10369 (build-system emacs-build-system)
10370 (propagated-inputs
10371 `(("emacs-dash" ,emacs-dash)
10372 ("emacs-ht" ,emacs-ht)
10373 ("emacs-s" ,emacs-s)))
10374 (home-page "https://github.com/Wilfred/mustache.el")
10375 (synopsis "Mustache templating library for Emacs")
10376 (description "Mustache templating library for Emacs, mustache is
10377 a simple web template system, which is described as a logic-less system
10378 because it lacks any explicit control flow statements, both looping and
10379 conditional evaluation can be achieved using section tags processing lists
10380 and lambdas.")
10381 (license license:gpl3+)))
10382
10383 (define-public emacs-org2web
10384 (package
10385 (name "emacs-org2web")
10386 (version "0.9.1")
10387 (source
10388 (origin
10389 (method git-fetch)
10390 (uri (git-reference
10391 (url "https://github.com/tumashu/org2web.git")
10392 (commit (string-append "v" version))))
10393 (file-name (git-file-name name version))
10394 (sha256
10395 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
10396 (build-system emacs-build-system)
10397 (propagated-inputs
10398 `(("emacs-dash" ,emacs-dash)
10399 ("emacs-el2org" ,emacs-el2org)
10400 ("emacs-ht" ,emacs-ht)
10401 ("emacs-mustache" ,emacs-mustache)
10402 ("emacs-simple-httpd" ,emacs-simple-httpd)))
10403 (home-page "https://github.com/tumashu/org2web")
10404 (synopsis "Static site generator based on org-mode ")
10405 (description "Org2web is a static site generator based on org-mode,
10406 which code derived from Kelvin H's org-page.")
10407 (license license:gpl2+)))
10408
10409 (define-public emacs-xelb
10410 (package
10411 (name "emacs-xelb")
10412 (version "0.18")
10413 (source (origin
10414 (method url-fetch)
10415 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
10416 version ".tar"))
10417 (sha256
10418 (base32
10419 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
10420 (build-system emacs-build-system)
10421 ;; The following functions and variables needed by emacs-xelb are
10422 ;; not included in emacs-minimal:
10423 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
10424 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
10425 ;; x-display-pixel-width, x-display-pixel-height
10426 (arguments
10427 `(#:emacs ,emacs
10428 #:phases
10429 (modify-phases %standard-phases
10430 (add-after 'unpack 'regenerate-el-files
10431 (lambda* (#:key inputs #:allow-other-keys)
10432 (invoke "make"
10433 (string-append "PROTO_PATH="
10434 (assoc-ref inputs "xcb-proto")
10435 "/share/xcb")
10436 (string-append "EMACS_BIN="
10437 (assoc-ref inputs "emacs")
10438 "/bin/emacs -Q")))))))
10439 (native-inputs `(("xcb-proto" ,xcb-proto)))
10440 (home-page "https://github.com/ch11ng/xelb")
10441 (synopsis "X protocol Emacs Lisp binding")
10442 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
10443 X11 protocol based on the XML description files from the XCB project. It
10444 features an object-oriented API and permits a certain degree of concurrency.
10445 It should enable you to implement low-level X11 applications.")
10446 (license license:gpl3+)))
10447
10448 (define-public emacs-exwm
10449 (package
10450 (name "emacs-exwm")
10451 (version "0.23")
10452 (synopsis "Emacs X window manager")
10453 (source (origin
10454 (method url-fetch)
10455 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
10456 version ".tar"))
10457 (sha256
10458 (base32
10459 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
10460 (build-system emacs-build-system)
10461 (propagated-inputs
10462 `(("emacs-xelb" ,emacs-xelb)))
10463 (inputs
10464 `(("xhost" ,xhost)
10465 ("dbus" ,dbus)))
10466 ;; The following functions and variables needed by emacs-exwm are
10467 ;; not included in emacs-minimal:
10468 ;; scroll-bar-mode, fringe-mode
10469 ;; x-display-pixel-width, x-display-pixel-height
10470 (arguments
10471 `(#:emacs ,emacs
10472 #:phases
10473 (modify-phases %standard-phases
10474 (add-after 'build 'install-xsession
10475 (lambda* (#:key inputs outputs #:allow-other-keys)
10476 (let* ((out (assoc-ref outputs "out"))
10477 (xsessions (string-append out "/share/xsessions"))
10478 (bin (string-append out "/bin"))
10479 (exwm-executable (string-append bin "/exwm")))
10480 ;; Add a .desktop file to xsessions
10481 (mkdir-p xsessions)
10482 (mkdir-p bin)
10483 (make-desktop-entry-file
10484 (string-append xsessions "/exwm.desktop")
10485 #:name ,name
10486 #:comment ,synopsis
10487 #:exec exwm-executable
10488 #:try-exec exwm-executable)
10489 ;; Add a shell wrapper to bin
10490 (with-output-to-file exwm-executable
10491 (lambda _
10492 (format #t "#!~a ~@
10493 ~a +SI:localuser:$USER ~@
10494 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
10495 (string-append (assoc-ref inputs "bash") "/bin/sh")
10496 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
10497 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
10498 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
10499 '(cond
10500 ((file-exists-p "~/.exwm")
10501 (load-file "~/.exwm"))
10502 ((not (featurep 'exwm))
10503 (require 'exwm)
10504 (require 'exwm-config)
10505 (exwm-config-default)
10506 (message (concat "exwm configuration not found. "
10507 "Falling back to default configuration...")))))))
10508 (chmod exwm-executable #o555)
10509 #t))))))
10510 (home-page "https://github.com/ch11ng/exwm")
10511 (description "EXWM is a full-featured tiling X window manager for Emacs
10512 built on top of XELB.")
10513 (license license:gpl3+)))
10514
10515 (define-public emacs-switch-window
10516 (package
10517 (name "emacs-switch-window")
10518 (version "1.6.2")
10519 (source
10520 (origin
10521 (method git-fetch)
10522 (uri (git-reference
10523 (url "https://github.com/dimitri/switch-window")
10524 (commit (string-append "v" version))))
10525 (file-name (git-file-name name version))
10526 (sha256
10527 (base32
10528 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
10529 (build-system emacs-build-system)
10530 (home-page "https://github.com/dimitri/switch-window")
10531 (synopsis "Emacs window switch tool")
10532 (description "Switch-window is an emacs window switch tool, which
10533 offer a visual way to choose a window to switch to, delete, split or
10534 other operations.")
10535 (license license:wtfpl2)))
10536
10537 (define-public emacs-exwm-x
10538 (package
10539 (name "emacs-exwm-x")
10540 (version "1.9.0")
10541 (synopsis "Derivative window manager based on EXWM")
10542 (source
10543 (origin
10544 (method git-fetch)
10545 (uri (git-reference
10546 (url "https://github.com/tumashu/exwm-x")
10547 (commit (string-append "v" version))))
10548 (file-name (git-file-name name version))
10549 (sha256
10550 (base32
10551 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
10552 (build-system emacs-build-system)
10553 (propagated-inputs
10554 `(("emacs-exwm" ,emacs-exwm)
10555 ("emacs-switch-window" ,emacs-switch-window)
10556 ("emacs-ivy" ,emacs-ivy)
10557 ("emacs-use-package" ,emacs-use-package)))
10558 (inputs
10559 `(("xhost" ,xhost)
10560 ("dbus" ,dbus)))
10561 ;; Need emacs instead of emacs-minimal,
10562 ;; for emacs's bin path will be inserted into bin/exwm-x file.
10563 (arguments
10564 `(#:emacs ,emacs
10565 #:phases
10566 (modify-phases %standard-phases
10567 (add-after 'build 'install-xsession
10568 (lambda* (#:key inputs outputs #:allow-other-keys)
10569 (let* ((out (assoc-ref outputs "out"))
10570 (xsessions (string-append out "/share/xsessions"))
10571 (bin (string-append out "/bin"))
10572 (exwm-executable (string-append bin "/exwm-x")))
10573 ;; Add a .desktop file to xsessions
10574 (mkdir-p xsessions)
10575 (mkdir-p bin)
10576 (with-output-to-file
10577 (string-append xsessions "/exwm-x.desktop")
10578 (lambda _
10579 (format #t "[Desktop Entry]~@
10580 Name=~a~@
10581 Comment=~a~@
10582 Exec=~a~@
10583 TryExec=~@*~a~@
10584 Type=Application~%" ,name ,synopsis exwm-executable)))
10585 ;; Add a shell wrapper to bin
10586 (with-output-to-file exwm-executable
10587 (lambda _
10588 (format #t "#!~a ~@
10589 ~a +SI:localuser:$USER ~@
10590 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
10591 (string-append (assoc-ref inputs "bash") "/bin/sh")
10592 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
10593 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
10594 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
10595 '(require 'exwmx-loader))))
10596 (chmod exwm-executable #o555)
10597 #t))))))
10598 (home-page "https://github.com/tumashu/exwm-x")
10599 (description "EXWM-X is a derivative window manager based on EXWM, with focus
10600 on mouse-control.")
10601 (license license:gpl3+)))
10602
10603 (define-public emacs-gnugo
10604 (package
10605 (name "emacs-gnugo")
10606 (version "3.1.0")
10607 (source
10608 (origin
10609 (method url-fetch)
10610 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
10611 version ".tar"))
10612 (sha256
10613 (base32
10614 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
10615 (build-system emacs-build-system)
10616 (arguments
10617 `(#:phases (modify-phases %standard-phases
10618 (add-after 'unpack 'configure-default-gnugo-xpms-variable
10619 (lambda _
10620 (substitute* "gnugo.el"
10621 (("defvar gnugo-xpms nil")
10622 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
10623 #t)))))
10624 (propagated-inputs
10625 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
10626 ("emacs-xpm" ,emacs-xpm)))
10627 (home-page "https://elpa.gnu.org/packages/gnugo.html")
10628 (synopsis "Emacs major mode for playing GNU Go")
10629 (description "This package provides an Emacs based interface for GNU Go.
10630 It has a graphical mode where the board and stones are drawn using XPM images
10631 and supports the use of a mouse.")
10632 (license license:gpl3+)))
10633
10634 (define-public emacs-gnuplot
10635 (package
10636 (name "emacs-gnuplot")
10637 (version "0.7.0")
10638 (source
10639 (origin
10640 (method git-fetch)
10641 (uri (git-reference
10642 (url "https://github.com/bruceravel/gnuplot-mode.git")
10643 (commit version)))
10644 (file-name (git-file-name name version))
10645 (sha256
10646 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
10647 (build-system gnu-build-system)
10648 (native-inputs `(("emacs" ,emacs-minimal)))
10649 (arguments
10650 (let ((elisp-dir "/share/emacs/site-lisp"))
10651 `(#:modules ((guix build gnu-build-system)
10652 (guix build utils)
10653 (guix build emacs-utils))
10654 #:imported-modules (,@%gnu-build-system-modules
10655 (guix build emacs-utils))
10656 #:configure-flags
10657 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
10658 "/bin/emacs")
10659 (string-append "--with-lispdir=" %output ,elisp-dir))
10660 #:phases
10661 (modify-phases %standard-phases
10662 (add-after 'install 'generate-autoloads
10663 (lambda* (#:key outputs #:allow-other-keys)
10664 (emacs-generate-autoloads
10665 "gnuplot"
10666 (string-append (assoc-ref outputs "out") ,elisp-dir))
10667 #t))))))
10668 (home-page "https://github.com/bruceravel/gnuplot-mode")
10669 (synopsis "Emacs major mode for interacting with gnuplot")
10670 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
10671 with gnuplot.")
10672 (license license:gpl2+)))
10673
10674 (define-public emacs-transpose-frame
10675 (package
10676 (name "emacs-transpose-frame")
10677 (version "0.1.0")
10678 (source
10679 (origin
10680 (method url-fetch)
10681 (uri "https://www.emacswiki.org/emacs/download/transpose-frame.el")
10682 (file-name (string-append "transpose-frame-" version ".el"))
10683 (sha256
10684 (base32
10685 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
10686 (build-system emacs-build-system)
10687 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
10688 (synopsis "Transpose window arrangement in current frame")
10689 (description "@code{emacs-transpose-frame} provides some interactive
10690 functions which allows users to transpose windows arrangement in currently
10691 selected frame.")
10692 (license license:bsd-2)))
10693
10694 (define-public emacs-key-chord
10695 (package
10696 (name "emacs-key-chord")
10697 (version "0.6")
10698 (source
10699 (origin
10700 (method url-fetch)
10701 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
10702 (file-name (string-append "key-chord-" version ".el"))
10703 (sha256
10704 (base32
10705 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
10706 (build-system emacs-build-system)
10707 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
10708 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
10709 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
10710 mode for binding key chords to commands. A key chord is defined as two keys
10711 pressed simultaneously or a single key quickly pressed twice.")
10712 (license license:gpl2+)))
10713
10714 (define-public emacs-evil-surround
10715 (package
10716 (name "emacs-evil-surround")
10717 (version "1.1.0")
10718 (source
10719 (origin
10720 (method git-fetch)
10721 (uri (git-reference
10722 (url "https://github.com/emacs-evil/evil-surround")
10723 (commit version)))
10724 (file-name (git-file-name name version))
10725 (sha256
10726 (base32 "15v2spg5rhddr97pxjfvxj36sh7knp753a9qpw8v5zjnp65kf2kn"))))
10727 (build-system emacs-build-system)
10728 (propagated-inputs
10729 `(("emacs-evil" ,emacs-evil)))
10730 (arguments
10731 `(#:tests? #t
10732 #:test-command '("make" "test")))
10733 (home-page "https://github.com/emacs-evil/evil-surround")
10734 (synopsis "Easily modify surrounding parentheses and quotes")
10735 (description "@code{emacs-evil-surround} allows easy deletion, change and
10736 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
10737 (license license:gpl3+)))
10738
10739 (define-public emacs-evil-commentary
10740 (package
10741 (name "emacs-evil-commentary")
10742 (version "2.1.1")
10743 (source
10744 (origin
10745 (method git-fetch)
10746 (uri (git-reference
10747 (url "https://github.com/linktohack/evil-commentary.git")
10748 (commit (string-append "v" version))))
10749 (file-name (git-file-name name version))
10750 (sha256
10751 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
10752 (build-system emacs-build-system)
10753 (propagated-inputs
10754 `(("emacs-evil" ,emacs-evil)))
10755 (home-page "https://github.com/linktohack/evil-commentary")
10756 (synopsis "Comment out code in evil mode")
10757 (description "@code{emacs-evil-commentary} adds keybindings to easily
10758 comment out lines of code in evil mode. It provides @code{gcc} to comment out
10759 lines, and @code{gc} to comment out the target of a motion.")
10760 (license license:gpl3+)))
10761
10762 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
10763 ;; therefore cannot be run
10764 (define-public emacs-ansi
10765 (package
10766 (name "emacs-ansi")
10767 (version "0.4.1")
10768 (source
10769 (origin
10770 (method git-fetch)
10771 (uri (git-reference
10772 (url "https://github.com/rejeep/ansi.el.git")
10773 (commit (string-append "v" version))))
10774 (file-name (git-file-name name version))
10775 (sha256
10776 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
10777 (build-system emacs-build-system)
10778 (propagated-inputs
10779 `(("emacs-dash" ,emacs-dash)
10780 ("emacs-s" ,emacs-s)))
10781 (home-page "https://github.com/rejeep/ansi.el")
10782 (synopsis "Convert strings to ANSI")
10783 (description "@code{emacs-ansi} defines functions that turns simple
10784 strings to ANSI strings. Turning a string into an ANSI string can be to add
10785 color to a text, add color in the background of a text or adding a style, such
10786 as bold, underscore or italic.")
10787 (license license:gpl3+)))
10788
10789 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
10790 ;; therefore cannot be run
10791 (define-public emacs-commander
10792 (package
10793 (name "emacs-commander")
10794 (version "0.7.0")
10795 (source
10796 (origin
10797 (method git-fetch)
10798 (uri (git-reference
10799 (url "https://github.com/rejeep/commander.el.git")
10800 (commit (string-append "v" version))))
10801 (file-name (git-file-name name version))
10802 (sha256
10803 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
10804 (build-system emacs-build-system)
10805 (propagated-inputs
10806 `(("emacs-dash" ,emacs-dash)
10807 ("emacs-f" ,emacs-f)
10808 ("emacs-s" ,emacs-s)))
10809 (home-page "https://github.com/rejeep/commander.el")
10810 (synopsis "Emacs command line parser")
10811 (description "@code{emacs-commander} provides command line parsing for
10812 Emacs.")
10813 (license license:gpl3+)))
10814
10815 (define-public emacs-eglot
10816 (package
10817 (name "emacs-eglot")
10818 (version "1.6")
10819 (source
10820 (origin
10821 (method url-fetch)
10822 (uri (string-append "https://elpa.gnu.org/packages/"
10823 "eglot-" version ".tar"))
10824 (sha256
10825 (base32 "15hd6sx7qrpvlvhwwkcgdiki8pswwf4mm7hkm0xvznskfcp44spx"))))
10826 (build-system emacs-build-system)
10827 (propagated-inputs
10828 `(("emacs-jsonrpc" ,emacs-jsonrpc)))
10829 (home-page "https://github.com/joaotavora/eglot")
10830 (synopsis "Client for Language Server Protocol (LSP) servers")
10831 (description
10832 "Emacs Polyglot, or Eglot, is an Emacs @acronym{Language Server Protocol,
10833 LSP} client that stays out of the way. It guesses the LSP program to start
10834 for the current file, using the major mode as a hint. It prompts you to enter
10835 one if it fails.")
10836 (license license:gpl3+)))
10837
10838 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
10839 ;; cannot be run
10840 (define-public emacs-ert-runner
10841 (package
10842 (name "emacs-ert-runner")
10843 (version "0.8.0")
10844 (source
10845 (origin
10846 (method git-fetch)
10847 (uri (git-reference
10848 (url "https://github.com/rejeep/ert-runner.el.git")
10849 (commit (string-append "v" version))))
10850 (file-name (git-file-name name version))
10851 (sha256
10852 (base32
10853 "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98"))))
10854 (build-system emacs-build-system)
10855 (inputs
10856 `(("emacs-ansi" ,emacs-ansi)
10857 ("emacs-commander" ,emacs-commander)
10858 ("emacs-dash" ,emacs-dash)
10859 ("emacs-f" ,emacs-f)
10860 ("emacs-s" ,emacs-s)
10861 ("emacs-shut-up" ,emacs-shut-up)))
10862 (arguments
10863 `(#:phases
10864 (modify-phases %standard-phases
10865 (add-after 'install 'install-executable
10866 (lambda* (#:key inputs outputs #:allow-other-keys)
10867 (let ((out (assoc-ref outputs "out"))
10868 (source-directory (string-append
10869 (getenv "TMPDIR") "/source")))
10870 (substitute* "bin/ert-runner"
10871 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
10872 (string-append "ERT_RUNNER=\"" out
10873 "/share/emacs/site-lisp")))
10874 (install-file "bin/ert-runner" (string-append out "/bin"))
10875 (wrap-program (string-append out "/bin/ert-runner")
10876 (list "EMACSLOADPATH" ":" 'prefix
10877 ;; Do not capture the transient source directory in
10878 ;; the wrapper.
10879 (delete source-directory
10880 (string-split (getenv "EMACSLOADPATH") #\:))))
10881 #t))))
10882 #:include (cons* "^reporters/.*\\.el$" %default-include)))
10883 (home-page "https://github.com/rejeep/ert-runner.el")
10884 (synopsis "Opinionated Ert testing workflow")
10885 (description "@code{ert-runner} is a tool for Emacs projects tested
10886 using ERT. It assumes a certain test structure setup and can therefore make
10887 running tests easier.")
10888 (license license:gpl3+)))
10889
10890 (define-public emacs-xtest
10891 (package
10892 (name "emacs-xtest")
10893 (version "1.1.0")
10894 (source (origin
10895 (method git-fetch)
10896 (uri (git-reference
10897 (url "https://github.com/promethial/xtest.git")
10898 (commit (string-append "v" version))))
10899 (file-name (git-file-name name version))
10900 (sha256
10901 (base32
10902 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
10903 (arguments
10904 `(#:exclude '()))
10905 (build-system emacs-build-system)
10906 (home-page "https://github.com/promethial/xtest/")
10907 (synopsis "Simple testing with Emacs")
10908 (description "This package provides a simple testing library for Emacs.")
10909 (license license:gpl3+)))
10910
10911 (define-public emacs-disable-mouse
10912 (package
10913 (name "emacs-disable-mouse")
10914 (version "0.2")
10915 (source
10916 (origin
10917 (method git-fetch)
10918 (uri (git-reference
10919 (url "https://github.com/purcell/disable-mouse.git")
10920 (commit version)))
10921 (file-name (git-file-name name version))
10922 (sha256
10923 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
10924 (build-system emacs-build-system)
10925 (home-page "https://github.com/purcell/disable-mouse")
10926 (synopsis "Disable mouse commands globally")
10927 (description
10928 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
10929 pair of minor modes which suppress all mouse events by intercepting them and
10930 running a customisable handler command (@code{ignore} by default). ")
10931 (license license:gpl3+)))
10932
10933 (define-public emacs-json-reformat
10934 (package
10935 (name "emacs-json-reformat")
10936 (version "0.0.6")
10937 (source
10938 (origin
10939 (method git-fetch)
10940 (uri (git-reference
10941 (url "https://github.com/gongo/json-reformat.git")
10942 (commit version)))
10943 (file-name (git-file-name name version))
10944 (sha256
10945 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
10946 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
10947 (build-system emacs-build-system)
10948 (propagated-inputs
10949 `(("emacs-undercover" ,emacs-undercover)))
10950 (native-inputs
10951 `(("emacs-dash" ,emacs-dash)
10952 ("emacs-shut-up" ,emacs-shut-up)
10953 ("ert-runner" ,emacs-ert-runner)))
10954 (arguments
10955 `(#:tests? #t
10956 #:test-command '("ert-runner")
10957 #:phases
10958 (modify-phases %standard-phases
10959 (add-before 'check 'make-tests-writable
10960 (lambda _
10961 (for-each make-file-writable (find-files "test"))
10962 #t))
10963 (add-before 'check 'delete-json-objects-order-test
10964 (lambda _
10965 (emacs-batch-edit-file "test/json-reformat-test.el"
10966 `(progn (progn (goto-char (point-min))
10967 (re-search-forward
10968 "ert-deftest json-reformat-test:json-reformat-region")
10969 (beginning-of-line)
10970 (kill-sexp))
10971 (basic-save-buffer)))
10972 #t)))))
10973 (home-page "https://github.com/gongo/json-reformat")
10974 (synopsis "Reformatting tool for JSON")
10975 (description "@code{json-reformat} provides a reformatting tool for
10976 @url{http://json.org/, JSON}.")
10977 (license license:gpl3+)))
10978
10979 (define-public emacs-json-snatcher
10980 (package
10981 (name "emacs-json-snatcher")
10982 (version "1.0.0")
10983 (source
10984 (origin
10985 (method git-fetch)
10986 (uri (git-reference
10987 (url "https://github.com/Sterlingg/json-snatcher.git")
10988 (commit version)))
10989 (file-name (git-file-name name version))
10990 (sha256
10991 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
10992 (build-system emacs-build-system)
10993 (home-page "https://github.com/sterlingg/json-snatcher")
10994 (synopsis "Grabs the path to JSON values in a JSON file")
10995 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
10996 a @url{http://json.org/, JSON} file.")
10997 (license license:gpl3+)))
10998
10999 (define-public emacs-json-mode
11000 (package
11001 (name "emacs-json-mode")
11002 (version "1.7.0")
11003 (source
11004 (origin
11005 (method git-fetch)
11006 (uri (git-reference
11007 (url "https://github.com/joshwnj/json-mode.git")
11008 (commit (string-append "v" version))))
11009 (file-name (git-file-name name version))
11010 (sha256
11011 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
11012 (build-system emacs-build-system)
11013 (propagated-inputs
11014 `(("emacs-json-reformat" ,emacs-json-reformat)
11015 ("emacs-json-snatcher" ,emacs-json-snatcher)))
11016 (home-page "https://github.com/joshwnj/json-mode")
11017 (synopsis "Major mode for editing JSON files")
11018 (description "@code{json-mode} extends the builtin js-mode syntax
11019 highlighting.")
11020 (license license:gpl3+)))
11021
11022 (define-public emacs-jsonrpc
11023 (package
11024 (name "emacs-jsonrpc")
11025 (version "1.0.12")
11026 (source
11027 (origin
11028 (method url-fetch)
11029 (uri (string-append "https://elpa.gnu.org/packages/"
11030 "jsonrpc-" version ".el"))
11031 (sha256
11032 (base32 "0cqp05awikbrn88ifld3vwnv6cxgmr83wlnsvxw8bqb96djz70ad"))))
11033 (build-system emacs-build-system)
11034 (home-page "http://elpa.gnu.org/packages/jsonrpc.html")
11035 (synopsis "JSON-RPC library")
11036 (description
11037 "This library implements the JSONRPC 2.0 specification as
11038 described in @url{http://www.jsonrpc.org/}. As the name suggests,
11039 JSONRPC is a generic Remote Procedure Call protocol designed around
11040 JSON objects.")
11041 (license license:gpl3+)))
11042
11043 (define-public emacs-restclient
11044 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
11045 (version "0")
11046 (revision "2")) ;Guix package revision,
11047 ;upstream doesn't have official releases
11048 (package
11049 (name "emacs-restclient")
11050 (version (git-version version revision commit))
11051 (source (origin
11052 (method git-fetch)
11053 (uri (git-reference
11054 (url "https://github.com/pashky/restclient.el.git")
11055 (commit commit)))
11056 (sha256
11057 (base32
11058 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
11059 (file-name (git-file-name name version))))
11060 (build-system emacs-build-system)
11061 (propagated-inputs
11062 `(("emacs-helm" ,emacs-helm)))
11063 (home-page "https://github.com/pashky/restclient.el")
11064 (synopsis "Explore and test HTTP REST webservices")
11065 (description
11066 "This tool allows for testing and exploration of HTTP REST Web services
11067 from within Emacs. Restclient runs queries from a plan-text query sheet,
11068 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
11069 (license license:public-domain))))
11070
11071 (define-public emacs-whitespace-cleanup-mode
11072 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
11073 (revision "1"))
11074 (package
11075 (name "emacs-whitespace-cleanup-mode")
11076 (version (git-version "0.10" revision commit))
11077 (source (origin
11078 (method git-fetch)
11079 (uri (git-reference
11080 (url "https://github.com/purcell/whitespace-cleanup-mode")
11081 (commit commit)))
11082 (sha256
11083 (base32
11084 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
11085 (file-name (git-file-name name version))))
11086 (build-system emacs-build-system)
11087 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
11088 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
11089 (description
11090 "This package provides a minor mode that calls
11091 @code{whitespace-cleanup} before saving the current buffer only if the
11092 whitespace in the buffer was initially clean.")
11093 (license license:gpl3+))))
11094
11095 (define-public emacs-eimp
11096 (let ((version "1.4.0")
11097 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
11098 (revision "1"))
11099 (package
11100 (name "emacs-eimp")
11101 (version (git-version version revision commit))
11102 (source
11103 (origin
11104 (method git-fetch)
11105 (uri (git-reference
11106 (url "https://github.com/nicferrier/eimp.git")
11107 (commit commit)))
11108 (file-name (git-file-name name version))
11109 (sha256
11110 (base32
11111 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
11112 (build-system emacs-build-system)
11113 (arguments
11114 `(#:phases
11115 (modify-phases %standard-phases
11116 (add-after 'unpack 'configure
11117 (lambda* (#:key inputs #:allow-other-keys)
11118 (let ((imagemagick (assoc-ref inputs "imagemagick")))
11119 ;; eimp.el is read-only in git.
11120 (chmod "eimp.el" #o644)
11121 (emacs-substitute-variables "eimp.el"
11122 ("eimp-mogrify-program"
11123 (string-append imagemagick "/bin/mogrify"))))
11124 #t)))))
11125 (inputs
11126 `(("imagemagick" ,imagemagick)))
11127 (home-page "https://github.com/nicferrier/eimp")
11128 (synopsis "Interactive image manipulation utility for Emacs")
11129 (description "@code{emacs-eimp} allows interactive image manipulation
11130 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
11131 the actual transformations.")
11132 (license license:gpl2+))))
11133
11134 (define-public emacs-dired-hacks
11135 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
11136 (revision "2"))
11137 (package
11138 (name "emacs-dired-hacks")
11139 (version (git-version "0.0.1" revision commit))
11140 (source (origin
11141 (method git-fetch)
11142 (uri (git-reference
11143 (url "https://github.com/Fuco1/dired-hacks.git")
11144 (commit commit)))
11145 (file-name (git-file-name name version))
11146 (sha256
11147 (base32
11148 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
11149 (build-system emacs-build-system)
11150 (propagated-inputs
11151 `(("emacs-dash" ,emacs-dash)
11152 ("emacs-eimp" ,emacs-eimp)
11153 ("emacs-f" ,emacs-f)
11154 ("emacs-s" ,emacs-s)))
11155 (home-page "https://github.com/Fuco1/dired-hacks")
11156 (synopsis
11157 "Collection of useful dired additions")
11158 (description
11159 "This package provides the following collection of Emacs dired mode
11160 additions:
11161
11162 @itemize
11163 @item dired-avfs
11164 @item dired-columns
11165 @item dired-filter
11166 @item dired-hacks-utils
11167 @item dired-images
11168 @item dired-list
11169 @item dired-narrow
11170 @item dired-open
11171 @item dired-rainbow
11172 @item dired-ranger
11173 @item dired-subtree
11174 @item dired-tagsistant
11175 @end itemize\n")
11176 (license license:gpl3+))))
11177
11178 (define-public emacs-dired-sidebar
11179 (let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc")
11180 (revision "1"))
11181 (package
11182 (name "emacs-dired-sidebar")
11183 (home-page "https://github.com/jojojames/dired-sidebar")
11184 (version (git-version "0.1.0" revision commit))
11185 (source (origin
11186 (method git-fetch)
11187 (uri (git-reference (url home-page) (commit commit)))
11188 (file-name (git-file-name name version))
11189 (sha256
11190 (base32
11191 "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"))))
11192 (build-system emacs-build-system)
11193 (propagated-inputs
11194 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
11195 (synopsis "Sidebar for Emacs using Dired")
11196 (description
11197 "This package provides a sidebar for Emacs similar to @code{NeoTree}
11198 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
11199 (license license:gpl3+))))
11200
11201 (define-public emacs-which-key
11202 (package
11203 (name "emacs-which-key")
11204 (version "3.4.0")
11205 (source
11206 (origin
11207 (method git-fetch)
11208 (uri (git-reference
11209 (url "https://github.com/justbur/emacs-which-key.git")
11210 (commit (string-append "v" version))))
11211 (file-name (git-file-name name version))
11212 (sha256
11213 (base32 "1ahgb7dqdc75farkl0fg0a6hvx2067gdvjq99cd3z2dz56km0p05"))))
11214 (build-system emacs-build-system)
11215 (arguments
11216 `(#:tests? #t
11217 #:test-command '("emacs" "--batch"
11218 "-l" "which-key-tests.el"
11219 "-f" "ert-run-tests-batch-and-exit")))
11220 (home-page "https://github.com/justbur/emacs-which-key")
11221 (synopsis "Display available key bindings in popup")
11222 (description
11223 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
11224 bindings following your currently entered incomplete command (a prefix) in a
11225 popup. For example, after enabling the minor mode if you enter C-x and wait
11226 for the default of 1 second, the minibuffer will expand with all of the
11227 available key bindings that follow C-x (or as many as space allows given your
11228 settings).")
11229 (license license:gpl3+)))
11230
11231 (define-public emacs-hercules
11232 (package
11233 (name "emacs-hercules")
11234 (version "0.2.1")
11235 (source
11236 (origin
11237 (method git-fetch)
11238 (uri (git-reference
11239 (url "https://gitlab.com/jjzmajic/hercules.el.git")
11240 (commit (string-append "v" version))))
11241 (file-name (git-file-name name version))
11242 (sha256
11243 (base32
11244 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
11245 (build-system emacs-build-system)
11246 (propagated-inputs
11247 `(("emacs-which-key" ,emacs-which-key)))
11248 (home-page "https://gitlab.com/jjzmajic/hercules.el")
11249 (synopsis "Call a chain of related commands without repeated prefix keys")
11250 (description
11251 "This package provides sticky-key-like functionality to obviate the
11252 need for repeated prefix-key sequences, and can reuse existing keymaps. The
11253 list of commands is displayed in a handy popup.")
11254 (license license:gpl3+)))
11255
11256 (define-public emacs-ws-butler
11257 (package
11258 (name "emacs-ws-butler")
11259 (version "0.6")
11260 (source (origin
11261 (method git-fetch)
11262 (uri (git-reference
11263 (url "https://github.com/lewang/ws-butler.git")
11264 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
11265 (file-name (git-file-name name version))
11266 (sha256
11267 (base32
11268 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
11269 (build-system emacs-build-system)
11270 (native-inputs
11271 `(("ert-runner" ,emacs-ert-runner)))
11272 (arguments
11273 `(#:tests? #t
11274 #:test-command '("ert-runner" "tests")))
11275 (home-page "https://github.com/lewang/ws-butler")
11276 (synopsis "Trim spaces from end of lines")
11277 (description
11278 "This Emacs package automatically and unobtrusively trims whitespace
11279 characters from end of lines.")
11280 (license license:gpl3+)))
11281
11282 (define-public emacs-openwith
11283 (let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9")
11284 (revision "0"))
11285 (package
11286 (name "emacs-openwith")
11287 (home-page "https://bitbucket.org/jpkotta/openwith")
11288 (version (git-version "0.0.1" revision changeset))
11289 (source (origin
11290 (method hg-fetch)
11291 (uri (hg-reference (url home-page) (changeset changeset)))
11292 (file-name (git-file-name name version))
11293 (sha256
11294 (base32
11295 "1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01"))))
11296 (build-system emacs-build-system)
11297 (synopsis "Open external applications for files with Emacs")
11298 (description
11299 "This package enables you to associate file name patterns with external
11300 applications that are automatically invoked when you use commands like
11301 @code{find-file}. For example, you can have it open @code{png} files with
11302 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
11303 when browsing files with Dired.")
11304 (license license:gpl2+))))
11305
11306 (define-public emacs-org-edit-latex
11307 (package
11308 (name "emacs-org-edit-latex")
11309 (version "0.8.0")
11310 (source
11311 (origin
11312 (method git-fetch)
11313 (uri (git-reference
11314 (url "https://github.com/et2010/org-edit-latex.git")
11315 (commit (string-append "v" version))))
11316 (file-name (git-file-name name version))
11317 (sha256
11318 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
11319 (build-system emacs-build-system)
11320 (propagated-inputs
11321 `(("emacs-auctex" ,emacs-auctex)
11322 ;; The version of org in Emacs 25.2 is not sufficient, because the
11323 ;; `org-latex-make-preamble' function is required.
11324 ("emacs-org" ,emacs-org)))
11325 (home-page "https://github.com/et2010/org-edit-latex")
11326 (synopsis "Edit a latex fragment just like editing a src block")
11327 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
11328 It lets you edit a latex fragment in a dedicated buffer just like editing a
11329 src block.")
11330 (license license:gpl3+)))
11331
11332 (define-public emacs-emamux
11333 (package
11334 (name "emacs-emamux")
11335 (version "0.14")
11336 (source
11337 (origin
11338 (method git-fetch)
11339 (uri (git-reference
11340 (url "https://github.com/syohex/emacs-emamux.git")
11341 (commit version)))
11342 (file-name (git-file-name name version))
11343 (sha256
11344 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
11345 (build-system emacs-build-system)
11346 (home-page "https://github.com/syohex/emacs-emamux")
11347 (synopsis "Manipulate Tmux from Emacs")
11348 (description
11349 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
11350 multiplexer.")
11351 (license license:gpl3+)))
11352
11353 (define-public emacs-rpm-spec-mode
11354 (package
11355 (name "emacs-rpm-spec-mode")
11356 (version "0.16")
11357 (source
11358 (origin
11359 (method url-fetch)
11360 ;; URI has the Fedora release number instead of the version
11361 ;; number. This will have to updated manually every new release.
11362 (uri (string-append
11363 "https://src.fedoraproject.org/cgit/rpms"
11364 "/emacs-rpm-spec-mode.git/snapshot"
11365 "/emacs-rpm-spec-mode-f26.tar.gz"))
11366 (sha256
11367 (base32
11368 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
11369 (build-system emacs-build-system)
11370 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
11371 (synopsis "Emacs major mode for editing RPM spec files")
11372 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
11373 editing RPM spec files.")
11374 (license license:gpl2+)))
11375
11376 (define-public emacs-lcr
11377 (package
11378 (name "emacs-lcr")
11379 (version "1.1")
11380 (source
11381 (origin
11382 (method git-fetch)
11383 (uri (git-reference
11384 (url "https://github.com/jyp/lcr")
11385 (commit version)))
11386 (file-name (git-file-name name version))
11387 (sha256
11388 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
11389 (build-system emacs-build-system)
11390 (propagated-inputs
11391 `(("emacs-dash" ,emacs-dash)))
11392 (home-page "https://github.com/jyp/lcr")
11393 (synopsis "Lightweight coroutines in Emacs Lisp")
11394 (description "This package provides macros that can translate code into
11395 equivalent continuation-passing code, as well as miscellaneous utility
11396 functions written in continuation-passing style.")
11397 (license license:gpl3+)))
11398
11399 (define-public emacs-attrap
11400 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
11401 (revision "2"))
11402 (package
11403 (name "emacs-attrap")
11404 (version (git-version "1.0" revision commit))
11405 (source (origin
11406 (method git-fetch)
11407 (uri (git-reference
11408 (url "https://github.com/jyp/attrap")
11409 (commit commit)))
11410 (sha256
11411 (base32
11412 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
11413 (file-name (git-file-name name version))))
11414 (build-system emacs-build-system)
11415 (propagated-inputs
11416 `(("emacs-dash" ,emacs-dash)
11417 ("emacs-f" ,emacs-f)
11418 ("emacs-flycheck" ,emacs-flycheck)
11419 ("emacs-s" ,emacs-s)))
11420 (home-page "https://github.com/jyp/attrap")
11421 (synopsis "Fix coding error at point")
11422 (description "This package provides a command to fix the Flycheck error
11423 at point.")
11424 (license license:gpl3+))))
11425
11426 (define-public emacs-git-messenger
11427 (package
11428 (name "emacs-git-messenger")
11429 (version "0.18")
11430 (source
11431 (origin
11432 (method git-fetch)
11433 (uri (git-reference
11434 (url "https://github.com/syohex/emacs-git-messenger.git")
11435 (commit version)))
11436 (file-name (git-file-name name version))
11437 (sha256
11438 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
11439 (build-system emacs-build-system)
11440 (propagated-inputs
11441 `(("emacs-popup" ,emacs-popup)))
11442 (arguments
11443 `(#:tests? #t
11444 #:test-command '("emacs" "--batch" "-l" "test/test.el"
11445 "-f" "ert-run-tests-batch-and-exit")))
11446 (home-page "https://github.com/syohex/emacs-git-messenger")
11447 (synopsis "Popup commit message at current line")
11448 (description "@code{emacs-git-messenger} provides
11449 @code{git-messenger:popup-message}, a function that when called, will popup
11450 the last git commit message for the current line. This uses git-blame
11451 internally.")
11452 (license license:gpl3+)))
11453
11454 (define-public emacs-gitpatch
11455 (package
11456 (name "emacs-gitpatch")
11457 (version "0.5.1")
11458 (source
11459 (origin
11460 (method git-fetch)
11461 (uri (git-reference
11462 (url "https://github.com/tumashu/gitpatch.git")
11463 (commit (string-append "v" version))))
11464 (file-name (git-file-name name version))
11465 (sha256
11466 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
11467 (build-system emacs-build-system)
11468 (home-page "https://github.com/tumashu/gitpatch")
11469 (synopsis "Mail git patch from Emacs")
11470 (description "@code{emacs-gitpatch} lets users easily send git patches,
11471 created by @code{git format-patch}, from @code{magit}, @code{dired} and
11472 @code{ibuffer} buffers.")
11473 (license license:gpl3+)))
11474
11475 (define-public emacs-erc-hl-nicks
11476 (package
11477 (name "emacs-erc-hl-nicks")
11478 (version "1.3.3")
11479 (source
11480 (origin
11481 (method git-fetch)
11482 (uri (git-reference
11483 (url "https://github.com/leathekd/erc-hl-nicks")
11484 (commit version)))
11485 (file-name (git-file-name name version))
11486 (sha256
11487 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
11488 (build-system emacs-build-system)
11489 (synopsis "Nickname highlighting for Emacs ERC")
11490 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
11491 client for Emacs. The main features are:
11492 @itemize
11493 @item Auto-colorizes nicknames without having to specify colors
11494 @item Ignores certain characters that IRC clients add to nicknames to avoid
11495 duplicates (nickname, nickname’, nickname\", etc.)
11496 @item Attempts to produce colors with a sufficient amount of contrast between
11497 the nick color and the background color
11498 @end itemize\n")
11499 (home-page "https://github.com/leathekd/erc-hl-nicks")
11500 (license license:gpl3+)))
11501
11502 (define-public emacs-engine-mode
11503 (package
11504 (name "emacs-engine-mode")
11505 (version "2.1.1")
11506 (source
11507 (origin
11508 (method git-fetch)
11509 (uri (git-reference
11510 (url "https://github.com/hrs/engine-mode.git")
11511 (commit (string-append "v" version))))
11512 (file-name (git-file-name name version))
11513 (sha256
11514 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
11515 (build-system emacs-build-system)
11516 (synopsis "Minor mode for defining and querying search engines")
11517 (description "@code{engine-mode} is a global minor mode for Emacs. It
11518 enables you to easily define search engines, bind them to keybindings, and
11519 query them from the comfort of your editor.")
11520 (home-page "https://github.com/hrs/engine-mode")
11521 (license license:gpl3+)))
11522
11523 (define-public emacs-prop-menu
11524 (package
11525 (name "emacs-prop-menu")
11526 (version "0.1.2")
11527 (source
11528 (origin
11529 (method git-fetch)
11530 (uri (git-reference
11531 (url "https://github.com/david-christiansen/prop-menu-el.git")
11532 (commit version)))
11533 (file-name (git-file-name name version))
11534 (sha256
11535 (base32
11536 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
11537 (build-system emacs-build-system)
11538 (home-page
11539 "https://github.com/david-christiansen/prop-menu-el")
11540 (synopsis
11541 "Create and display a context menu based on text and overlay properties")
11542 (description
11543 "This is a library for computing context menus based on text
11544 properties and overlays. The intended use is to have tools that
11545 annotate source code and others that use these annotations, without
11546 requiring a direct coupling between them, but maintaining
11547 discoverability.
11548
11549 Major modes that wish to use this library should first define an
11550 appropriate value for @code{prop-menu-item-functions}. Then, they should
11551 bind @code{prop-menu-by-completing-read} to an appropriate
11552 key. Optionally, a mouse pop-up can be added by binding
11553 @code{prop-menu-show-menu} to a mouse event.")
11554 (license license:gpl3+)))
11555
11556 (define-public emacs-idris-mode
11557 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
11558 (revision "0"))
11559 (package
11560 (name "emacs-idris-mode")
11561 (version (git-version "0.9.19" revision commit))
11562 (source
11563 (origin
11564 (method git-fetch)
11565 (uri (git-reference
11566 (url "https://github.com/idris-hackers/idris-mode.git")
11567 (commit commit)))
11568 (file-name (git-file-name name commit))
11569 (sha256
11570 (base32
11571 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
11572 (build-system emacs-build-system)
11573 (propagated-inputs
11574 `(("emacs-prop-menu" ,emacs-prop-menu)))
11575 (home-page
11576 "https://github.com/idris-hackers/idris-mode")
11577 (synopsis "Major mode for editing Idris code")
11578 (description
11579 "This is an Emacs mode for editing Idris code. It requires the latest
11580 version of Idris, and some features may rely on the latest Git version of
11581 Idris.")
11582 (license license:gpl3+))))
11583
11584 (define-public emacs-browse-at-remote
11585 (package
11586 (name "emacs-browse-at-remote")
11587 (version "0.10.0")
11588 (source
11589 (origin
11590 (method git-fetch)
11591 (uri (git-reference
11592 (url "https://github.com/rmuslimov/browse-at-remote.git")
11593 (commit version)))
11594 (file-name (git-file-name name version))
11595 (sha256
11596 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
11597 (build-system emacs-build-system)
11598 (propagated-inputs
11599 `(("emacs-f" ,emacs-f)
11600 ("emacs-s" ,emacs-s)))
11601 (native-inputs
11602 `(("ert-runner" ,emacs-ert-runner)))
11603 (arguments
11604 `(#:tests? #t
11605 #:test-command '("ert-runner")))
11606 (home-page "https://github.com/rmuslimov/browse-at-remote")
11607 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
11608 (description
11609 "This Emacs package allows you to open a target page on
11610 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
11611 It supports dired buffers and opens them in tree mode at destination.")
11612 (license license:gpl3+)))
11613
11614 (define-public emacs-tiny
11615 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
11616 (revision "1"))
11617 (package
11618 (name "emacs-tiny")
11619 (version (git-version "0.2.1" revision commit))
11620 (source
11621 (origin
11622 (method git-fetch)
11623 (uri (git-reference
11624 (url "https://github.com/abo-abo/tiny.git")
11625 (commit commit)))
11626 (file-name (git-file-name name version))
11627 (sha256
11628 (base32
11629 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
11630 (build-system emacs-build-system)
11631 (arguments
11632 `(#:tests? #t
11633 #:test-command '("make" "test")))
11634 (home-page "https://github.com/abo-abo/tiny")
11635 (synopsis "Quickly generate linear ranges in Emacs")
11636 (description
11637 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
11638 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
11639 proficiency is an advantage, since you can transform your numeric range with
11640 an elisp expression.")
11641 (license license:gpl3+))))
11642
11643 (define-public emacs-emojify
11644 (package
11645 (name "emacs-emojify")
11646 (version "1.2")
11647 (source
11648 (origin
11649 (method git-fetch)
11650 (uri (git-reference
11651 (url "https://github.com/iqbalansari/emacs-emojify")
11652 (commit (string-append "v" version))))
11653 (file-name (git-file-name name version))
11654 (sha256
11655 (base32
11656 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
11657 (build-system emacs-build-system)
11658 (arguments
11659 `(#:include (cons "^data/" %default-include)))
11660 (propagated-inputs
11661 `(("emacs-ht" ,emacs-ht)))
11662 (home-page "https://github.com/iqbalansari/emacs-emojify")
11663 (synopsis "Display emojis in Emacs")
11664 (description "This package displays emojis in Emacs similar to how Github,
11665 Slack, and other websites do. It can display plain ASCII like @code{:)} as
11666 well as Github-style emojis like @code{:smile:}. It provides a minor mode
11667 @code{emojify-mode} to enable the display of emojis in a buffer.")
11668 (license license:gpl3+)))
11669
11670 (define-public emacs-make-it-so
11671 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
11672 (revision "2"))
11673 (package
11674 (name "emacs-make-it-so")
11675 (version (git-version "0.1.0" revision commit))
11676 (source
11677 (origin
11678 (method git-fetch)
11679 (uri (git-reference
11680 (url "https://github.com/abo-abo/make-it-so")
11681 (commit commit)))
11682 (file-name (git-file-name name version))
11683 (sha256
11684 (base32
11685 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
11686 (build-system emacs-build-system)
11687 (arguments
11688 `(#:include (cons "^recipes/" %default-include)))
11689 (propagated-inputs
11690 `(("emacs-ivy" ,emacs-ivy)))
11691 (home-page "https://github.com/abo-abo/make-it-so")
11692 (synopsis "Transform files with Makefile recipes")
11693 (description "This package provides an interface for selecting from
11694 different conversion recipes, often including tools like @code{ffmpeg} or
11695 @code{convert}. The conversion command need only be written once, and
11696 subsequent invocations can be readily customized. Several recipes are
11697 included by default, and more can be readily added.")
11698 (license license:gpl3+))))
11699
11700 (define-public emacs-unidecode
11701 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
11702 (revision "1"))
11703 (package
11704 (name "emacs-unidecode")
11705 (version (git-version "0.2" revision commit))
11706 (source
11707 (origin
11708 (method git-fetch)
11709 (uri (git-reference
11710 (url "https://github.com/sindikat/unidecode")
11711 (commit commit)))
11712 (file-name (git-file-name name version))
11713 (sha256
11714 (base32
11715 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
11716 (build-system emacs-build-system)
11717 (arguments
11718 `(#:include (cons* "^tools/" "^data/" %default-include)
11719 #:tests? #t
11720 #:test-command '("emacs" "--batch"
11721 "-l" "unidecode-test.el"
11722 "-f" "ert-run-tests-batch-and-exit")
11723 #:phases
11724 (modify-phases %standard-phases
11725 (add-before 'check 'make-tests-writable
11726 (lambda _
11727 (make-file-writable "unidecode-test.el")
11728 #t))
11729 (add-before 'check 'add-require
11730 (lambda _
11731 (emacs-batch-edit-file "unidecode-test.el"
11732 `(progn (progn (goto-char (point-min))
11733 (re-search-forward
11734 "ert-deftest")
11735 (forward-line -1)
11736 (insert "(require 'unidecode)"))
11737 (basic-save-buffer)))
11738 #t)))))
11739 (home-page "https://github.com/sindikat/unidecode")
11740 (synopsis "Transliterate Unicode text to ASCII")
11741 (description "This package provides functions for converting Unicode to ASCII.")
11742 (license license:gpl2+))))
11743
11744 (define-public emacs-pubmed
11745 (package
11746 (name "emacs-pubmed")
11747 (version "0.2.1")
11748 (source
11749 (origin
11750 (method git-fetch)
11751 (uri (git-reference
11752 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
11753 (commit (string-append "v" version))))
11754 (file-name (git-file-name name version))
11755 (sha256
11756 (base32
11757 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
11758 (build-system emacs-build-system)
11759 (propagated-inputs
11760 `(("emacs-deferred" ,emacs-deferred)
11761 ("emacs-esxml" ,emacs-esxml)
11762 ("emacs-s" ,emacs-s)
11763 ("emacs-unidecode" ,emacs-unidecode)))
11764 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
11765 (synopsis "Interface to PubMed")
11766 (description "This package provides an Emacs interface to the PubMed
11767 database of references on life sciences.")
11768 (license license:gpl3+)))
11769
11770 (define-public emacs-websocket
11771 (package
11772 (name "emacs-websocket")
11773 (version "1.12")
11774 (source
11775 (origin
11776 (method url-fetch)
11777 (uri (string-append "https://elpa.gnu.org/packages/"
11778 "websocket-" version ".tar"))
11779 (sha256
11780 (base32 "0ap4z80c6pzpb69wrx0hsvwzignxmd2b9xy974by9gf5xm2wpa8w"))))
11781 (build-system emacs-build-system)
11782 (home-page "https://elpa.gnu.org/packages/websocket.html")
11783 (synopsis "Emacs WebSocket client and server")
11784 (description
11785 "This is an Elisp library for WebSocket clients to talk to WebSocket
11786 servers, and for WebSocket servers to accept connections from WebSocket
11787 clients. This library is designed to be used by other library writers, to
11788 write applications that use WebSockets, and is not useful by itself.")
11789 (license license:gpl3+)))
11790
11791 (define-public emacs-oauth2
11792 (package
11793 (name "emacs-oauth2")
11794 (version "0.13")
11795 (source
11796 (origin
11797 (method url-fetch)
11798 (uri (string-append "https://elpa.gnu.org/packages/"
11799 "oauth2-" version ".el"))
11800 (sha256
11801 (base32 "0y5nbdwxz2hfr09xgsqgyv60vgx0rsaisibcpkz00klvgg26w33r"))))
11802 (build-system emacs-build-system)
11803 (home-page "https://elpa.gnu.org/packages/oauth2.html")
11804 (synopsis "OAuth 2.0 authorization protocol implementation")
11805 (description
11806 "This package provides an Elisp implementation of the OAuth 2.0 draft.
11807 The main entry point is @code{oauth2-auth-and-store} which will return a token
11808 structure. This token structure can be then used with
11809 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
11810 retrieve any data that need OAuth authentication to be accessed. If the token
11811 needs to be refreshed, the code handles it automatically and stores the new
11812 value of the access token.")
11813 (license license:gpl3+)))
11814
11815 (define-public emacs-circe
11816 (package
11817 (name "emacs-circe")
11818 (version "2.11")
11819 (source
11820 (origin
11821 (method git-fetch)
11822 (uri (git-reference
11823 (url "https://github.com/jorgenschaefer/circe.git")
11824 (commit (string-append "v" version))))
11825 (file-name (git-file-name name version))
11826 (sha256
11827 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
11828 (build-system emacs-build-system)
11829 (arguments
11830 `(#:tests? #t
11831 #:test-command '("buttercup" "-L" ".")
11832 #:phases
11833 (modify-phases %standard-phases
11834 ;; The HOME environment variable should be set to an existing
11835 ;; directory for the tests to succeed.
11836 (add-before 'check 'set-home
11837 (lambda _
11838 (setenv "HOME" "/tmp")
11839 #t)))))
11840 (native-inputs
11841 `(("emacs-buttercup" ,emacs-buttercup)))
11842 ;; In order to securely connect to an IRC server using TLS, Circe requires
11843 ;; the GnuTLS binary.
11844 (propagated-inputs
11845 `(("gnutls" ,gnutls)))
11846 (home-page "https://github.com/jorgenschaefer/circe")
11847 (synopsis "Client for IRC in Emacs")
11848 (description "Circe is a Client for IRC in Emacs. It integrates well with
11849 the rest of the editor, using standard Emacs key bindings and indicating
11850 activity in channels in the status bar so it stays out of your way unless you
11851 want to use it.")
11852 (license license:gpl3+)))
11853
11854 (define-public emacs-tracking
11855 (package
11856 (inherit emacs-circe)
11857 (name "emacs-tracking")
11858 (arguments
11859 ;; "tracking.el" is a library extracted from Circe package. It requires
11860 ;; "shorten.el".
11861 `(#:include '("^shorten.el$" "^tracking.el$")
11862 ,@(package-arguments emacs-circe)))
11863 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
11864 (synopsis "Buffer tracking library")
11865 (description "@code{tracking.el} provides a way for different modes to
11866 notify the user that a buffer needs attention. The user then can cycle
11867 through them using @key{C-c C-SPC}.")
11868 (license license:gpl3+)))
11869
11870 (define-public emacs-slack
11871 (let ((commit "a6d9f49bc6161f12c594d25254e77eedf4a67666")
11872 (revision "8"))
11873 (package
11874 (name "emacs-slack")
11875 (version (git-version "0.0.2" revision commit))
11876 (source (origin
11877 (method git-fetch)
11878 (uri (git-reference
11879 (url "https://github.com/yuya373/emacs-slack.git")
11880 (commit commit)))
11881 (file-name (git-file-name name commit))
11882 (sha256
11883 (base32
11884 "0crjjankqi4bqjk5pdz4r2ixf56n1nnq8ab1gz3sbl3v6as6262w"))))
11885 (build-system emacs-build-system)
11886 (arguments
11887 `(#:phases
11888 (modify-phases %standard-phases
11889 ;; HOME needs to exist for source compilation.
11890 (add-before 'build 'set-HOME
11891 (lambda _ (setenv "HOME" "/tmp") #t)))))
11892 (propagated-inputs
11893 `(("emacs-alert" ,emacs-alert)
11894 ("emacs-emojify" ,emacs-emojify)
11895 ("emacs-helm" ,emacs-helm)
11896 ("emacs-request" ,emacs-request)
11897 ("emacs-websocket" ,emacs-websocket)
11898 ("emacs-oauth2" ,emacs-oauth2)
11899 ("emacs-circe" ,emacs-circe)))
11900 (home-page "https://github.com/yuya373/emacs-slack")
11901 (synopsis "Slack client for Emacs")
11902 (description "This package provides an Emacs client for the Slack
11903 messaging service.")
11904 (license license:gpl3+))))
11905
11906 (define-public emacs-bash-completion
11907 (package
11908 (name "emacs-bash-completion")
11909 (version "2.1.0")
11910 (source
11911 (origin
11912 (method git-fetch)
11913 (uri (git-reference
11914 (url "https://github.com/szermatt/emacs-bash-completion.git")
11915 (commit version)))
11916 (file-name (git-file-name name version))
11917 (sha256
11918 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
11919 (inputs `(("bash" ,bash)))
11920 (build-system emacs-build-system)
11921 (arguments
11922 `(#:phases
11923 (modify-phases %standard-phases
11924 (add-after 'unpack 'make-git-checkout-writable
11925 (λ _
11926 (for-each make-file-writable (find-files "."))
11927 #t))
11928 (add-before 'install 'configure
11929 (lambda* (#:key inputs #:allow-other-keys)
11930 (let ((bash (assoc-ref inputs "bash")))
11931 (emacs-substitute-variables "bash-completion.el"
11932 ("bash-completion-prog" (string-append bash "/bin/bash"))))
11933 #t)))))
11934 (home-page "https://github.com/szermatt/emacs-bash-completion")
11935 (synopsis "Bash completion for the shell buffer")
11936 (description
11937 "@code{bash-completion} defines dynamic completion hooks for shell-mode
11938 and shell-command prompts that are based on Bash completion.")
11939 (license license:gpl2+)))
11940
11941 (define-public emacs-easy-kill
11942 (package
11943 (name "emacs-easy-kill")
11944 (version "0.9.3")
11945 (source (origin
11946 (method url-fetch)
11947 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
11948 version ".tar"))
11949 (sha256
11950 (base32
11951 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
11952 (build-system emacs-build-system)
11953 (home-page "https://github.com/leoliu/easy-kill")
11954 (synopsis "Kill and mark things easily in Emacs")
11955 (description
11956 "This package provides commands @code{easy-kill} and @code{easy-mark} to
11957 let users kill or mark things easily.")
11958 (license license:gpl3+)))
11959
11960 (define-public emacs-csv-mode
11961 (package
11962 (name "emacs-csv-mode")
11963 (version "1.12")
11964 (source
11965 (origin
11966 (method url-fetch)
11967 (uri (string-append "https://elpa.gnu.org/packages/"
11968 "csv-mode-" version ".tar"))
11969 (sha256
11970 (base32 "0bya12smlrzwv4cbcmch4kg1fazp4k0ndrh1z17ix9p8c14d0v1j"))))
11971 (build-system emacs-build-system)
11972 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
11973 (synopsis "Major mode for editing comma/char separated values")
11974 (description
11975 "This Emacs package implements CSV mode, a major mode for editing records
11976 in a generalized CSV (character-separated values) format.")
11977 (license license:gpl3+)))
11978
11979 (define-public emacs-transmission
11980 (package
11981 (name "emacs-transmission")
11982 (version "0.12.1")
11983 (source
11984 (origin
11985 (method git-fetch)
11986 (uri (git-reference
11987 (url "https://github.com/holomorph/transmission.git")
11988 (commit version)))
11989 (file-name (git-file-name name version))
11990 (sha256
11991 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
11992 (build-system emacs-build-system)
11993 (home-page "https://github.com/holomorph/transmission")
11994 (synopsis "Emacs interface to a Transmission session")
11995 (description "This package provides an Emacs interface to interact with a
11996 running session of the Transmission Bittorrent client.
11997
11998 Features:
11999
12000 @itemize
12001 @item List, add, start/stop, verify, remove torrents.
12002 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
12003 @item Navigate to the corresponding file list, torrent info, peer info
12004 contexts.
12005 @item Toggle downloading and set priorities for individual files.
12006 @end itemize\n")
12007 (license license:gpl3+)))
12008
12009 (define-public emacs-polymode
12010 (package
12011 (name "emacs-polymode")
12012 (version "0.2")
12013 (source (origin
12014 (method git-fetch)
12015 (uri (git-reference
12016 (url "https://github.com/polymode/polymode.git")
12017 (commit (string-append "v" version))))
12018 (file-name (git-file-name name version))
12019 (sha256
12020 (base32
12021 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
12022 (build-system emacs-build-system)
12023 (home-page "https://github.com/polymode/polymode")
12024 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
12025 (description
12026 "Polymode is an Emacs package that offers generic support for multiple
12027 major modes inside a single Emacs buffer. It is lightweight, object oriented
12028 and highly extensible. Creating a new polymode typically takes only a few
12029 lines of code. Polymode also provides extensible facilities for external
12030 literate programming tools for exporting, weaving and tangling.")
12031 (license license:gpl3+)))
12032
12033 (define-public emacs-polymode-ansible
12034 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
12035 (package
12036 (name "emacs-polymode-ansible")
12037 ;; No upstream version release yet.
12038 (version (git-version "0.1" "1" commit))
12039 (source
12040 (origin
12041 (method git-fetch)
12042 (uri (git-reference
12043 (url "https://gitlab.com/mavit/poly-ansible")
12044 (commit commit)))
12045 (file-name (git-file-name name version))
12046 (sha256
12047 (base32
12048 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
12049 (build-system emacs-build-system)
12050 (propagated-inputs
12051 `(("emacs-ansible-doc" ,emacs-ansible-doc)
12052 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
12053 ("emacs-polymode" ,emacs-polymode)
12054 ("emacs-yaml-mode" ,emacs-yaml-mode)))
12055 (properties '((upstream-name . "poly-ansible")))
12056 (home-page "https://gitlab.com/mavit/poly-ansible/")
12057 (synopsis "Polymode for Ansible - Jinja2 in YAML")
12058 (description
12059 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
12060 (license license:gpl3+))))
12061
12062 (define-public emacs-polymode-org
12063 (package
12064 (name "emacs-polymode-org")
12065 (version "0.2")
12066 (source
12067 (origin
12068 (method git-fetch)
12069 (uri (git-reference
12070 (url "https://github.com/polymode/poly-org.git")
12071 (commit (string-append "v" version))))
12072 (file-name (git-file-name name version))
12073 (sha256
12074 (base32
12075 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
12076 (build-system emacs-build-system)
12077 (propagated-inputs
12078 `(("emacs-polymode" ,emacs-polymode)))
12079 (properties '((upstream-name . "poly-org")))
12080 (home-page "https://github.com/polymode/poly-org")
12081 (synopsis "Polymode definitions for Org mode buffers")
12082 (description
12083 "Provides definitions for @code{emacs-polymode} to support
12084 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
12085 native modes of the blocks' languages while remaining inside the primary Org
12086 buffer.")
12087 (license license:gpl3+)))
12088
12089 (define-public eless
12090 (package
12091 (name "eless")
12092 (version "0.3")
12093 (source
12094 (origin
12095 (method git-fetch)
12096 (uri (git-reference
12097 (url "https://github.com/kaushalmodi/eless.git")
12098 (commit (string-append "v" version))))
12099 (file-name (git-file-name name version))
12100 (sha256
12101 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
12102 (build-system trivial-build-system)
12103 (inputs
12104 `(("bash" ,bash)))
12105 (arguments
12106 `(#:modules ((guix build utils))
12107 #:builder
12108 (begin
12109 (use-modules (guix build utils))
12110 (copy-recursively (assoc-ref %build-inputs "source") "source")
12111 (chdir "source")
12112 (substitute* "eless" (("/usr/bin/env bash")
12113 (string-append (assoc-ref %build-inputs "bash")
12114 "/bin/bash")))
12115 (install-file "eless" (string-append %output "/bin"))
12116 (install-file "doc/eless.info" (string-append %output "/share/info"))
12117 #t)))
12118 (home-page "https://github.com/kaushalmodi/eless")
12119 (synopsis "Use Emacs as a paginator")
12120 (description "@code{eless} provides a combination of Bash script
12121 and a minimal Emacs view-mode.
12122
12123 Feautures:
12124
12125 @itemize
12126 @item Independent of a user’s Emacs config.
12127 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
12128 @item Not require an Emacs server to be already running.
12129 @item Syntax highlighting.
12130 @item Org-mode file rendering.
12131 @item @code{man} page viewer.
12132 @item Info viewer.
12133 @item Dired, wdired, (batch edit symbolic links).
12134 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
12135 @item Filter log files lines matching a regexp.
12136 @item Auto-revert log files similar to @code{tail -f}.
12137 @item Quickly change frame and font sizes.
12138 @end itemize\n")
12139 (license license:expat)))
12140
12141 (define-public emacs-evil-matchit
12142 (package
12143 (name "emacs-evil-matchit")
12144 (version "2.3.4")
12145 (source
12146 (origin
12147 (method git-fetch)
12148 (uri (git-reference
12149 (url "https://github.com/redguardtoo/evil-matchit.git")
12150 (commit version)))
12151 (file-name (git-file-name name version))
12152 (sha256
12153 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
12154 (build-system emacs-build-system)
12155 (propagated-inputs
12156 `(("emacs-evil" ,emacs-evil)))
12157 (home-page "https://github.com/redguardtoo/evil-matchit")
12158 (synopsis "Vim matchit ported into Emacs")
12159 (description
12160 "@code{evil-matchit} is a minor mode for jumping between matching tags in
12161 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
12162 (license license:gpl3+)))
12163
12164 (define-public emacs-evil-smartparens
12165 (package
12166 (name "emacs-evil-smartparens")
12167 (version "0.4.0")
12168 (source
12169 (origin
12170 (method git-fetch)
12171 (uri (git-reference
12172 (url "https://github.com/expez/evil-smartparens.git")
12173 (commit version)))
12174 (file-name (git-file-name name version))
12175 (sha256
12176 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
12177 (build-system emacs-build-system)
12178 (propagated-inputs
12179 `(("emacs-evil" ,emacs-evil)
12180 ("emacs-smartparens" ,emacs-smartparens)))
12181 (home-page "https://github.com/expez/evil-smartparens")
12182 (synopsis "Emacs Evil integration for Smartparens")
12183 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
12184 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
12185 emulates Vim features and provides Vim-like key bindings.")
12186 (license license:gpl3+)))
12187
12188 (define-public emacs-evil-quickscope
12189 (package
12190 (name "emacs-evil-quickscope")
12191 (version "0.1.4")
12192 (source
12193 (origin
12194 (method git-fetch)
12195 (uri (git-reference
12196 (url "https://github.com/blorbx/evil-quickscope.git")
12197 (commit (string-append "v" version))))
12198 (file-name (git-file-name name version))
12199 (sha256
12200 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
12201 (build-system emacs-build-system)
12202 (propagated-inputs
12203 `(("emacs-evil" ,emacs-evil)))
12204 (arguments
12205 `(#:tests? #t
12206 #:test-command '("emacs" "--batch"
12207 "-l" "evil-quickscope-tests.el"
12208 "-f" "ert-run-tests-batch-and-exit")))
12209 (home-page "https://github.com/blorbx/evil-quickscope")
12210 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
12211 (description "@code{emacs-evil-quickscope} highlights targets for Evil
12212 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
12213 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
12214 features and provides Vim-like key bindings.")
12215 (license license:gpl3+)))
12216
12217 (define-public emacs-bongo
12218 (package
12219 (name "emacs-bongo")
12220 (version "1.1")
12221 (source
12222 (origin
12223 (method git-fetch)
12224 (uri (git-reference
12225 (url "https://github.com/dbrock/bongo.git")
12226 (commit version)))
12227 (file-name (git-file-name name version))
12228 (sha256
12229 (base32 "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv"))))
12230 (build-system emacs-build-system)
12231 (home-page "https://github.com/dbrock/bongo")
12232 (synopsis "Media player for Emacs")
12233 (description
12234 "This package provides a flexible media player for Emacs. @code{Bongo}
12235 supports multiple backends such as @code{vlc}, @code{mpg123},
12236 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
12237 @code{afplay}.")
12238 (license license:gpl2+)))
12239
12240 (define-public emacs-groovy-modes
12241 (package
12242 (name "emacs-groovy-modes")
12243 (version "2.0")
12244 (source (origin
12245 (method git-fetch)
12246 (uri (git-reference
12247 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
12248 (commit version)))
12249 (file-name (git-file-name name version))
12250 (sha256
12251 (base32
12252 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
12253 (build-system emacs-build-system)
12254 (propagated-inputs
12255 `(("emacs-s" ,emacs-s)))
12256 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
12257 (synopsis "Groovy related modes for Emacs")
12258 (description
12259 "This package provides @code{groovy-mode} for syntax highlighting in
12260 Groovy source files, REPL integration with run-groovy and Grails project
12261 navigation with the grails mode.")
12262 (license license:gpl3+)))
12263
12264 (define-public emacs-org-tree-slide
12265 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
12266 (revision "2"))
12267 (package
12268 (name "emacs-org-tree-slide")
12269 (version (git-version "2.8.4" revision commit))
12270 (source (origin
12271 (method git-fetch)
12272 (uri (git-reference
12273 (url "https://github.com/takaxp/org-tree-slide.git")
12274 (commit commit)))
12275 (sha256
12276 (base32
12277 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
12278 (file-name (git-file-name name version))))
12279 (build-system emacs-build-system)
12280 (home-page "https://github.com/takaxp/org-tree-slide")
12281 (synopsis "Presentation tool for org-mode")
12282 (description
12283 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
12284 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
12285 @kbd{C-<} to jump to the next and previous slide.")
12286 (license license:gpl3+))))
12287
12288 (define-public emacs-scratch-el
12289 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
12290 (revision "1"))
12291 (package
12292 (name "emacs-scratch-el")
12293 (version (git-version "1.2" revision commit))
12294 (source (origin
12295 (method git-fetch)
12296 (uri (git-reference
12297 (url "https://github.com/ieure/scratch-el.git")
12298 (commit commit)))
12299 (file-name (git-file-name name version))
12300 (sha256
12301 (base32
12302 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
12303 (build-system emacs-build-system)
12304 (native-inputs
12305 `(("texinfo" ,texinfo)))
12306 (arguments
12307 '(#:phases
12308 (modify-phases %standard-phases
12309 (add-after 'install 'install-doc
12310 (lambda* (#:key outputs #:allow-other-keys)
12311 (unless (invoke "makeinfo" "scratch.texi")
12312 (error "makeinfo failed"))
12313 (install-file "scratch.info"
12314 (string-append (assoc-ref outputs "out")
12315 "/share/info"))
12316 #t)))))
12317 (home-page "https://github.com/ieure/scratch-el/")
12318 (synopsis "Create scratch buffers with the same mode as current buffer")
12319 (description "Scratch is an extension to Emacs that enables one to create
12320 scratch buffers that are in the same mode as the current buffer. This is
12321 notably useful when working on code in some language; you may grab code into a
12322 scratch buffer, and, by virtue of this extension, do so using the Emacs
12323 formatting rules for that language.")
12324 (license license:bsd-2))))
12325
12326 (define-public emacs-kv
12327 (package
12328 (name "emacs-kv")
12329 (version "0.0.19")
12330 (source
12331 (origin
12332 (method git-fetch)
12333 (uri (git-reference
12334 (url "https://github.com/nicferrier/emacs-kv.git")
12335 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
12336 (file-name (git-file-name name version))
12337 (sha256
12338 (base32
12339 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
12340 (build-system emacs-build-system)
12341 (arguments
12342 `(#:tests? #t
12343 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
12344 "-f" "ert-run-tests-batch-and-exit")))
12345 (home-page "https://github.com/nicferrier/emacs-kv")
12346 (synopsis "Key/Value data structures library for Emacs Lisp")
12347 (description "@code{emacs-kv} is a collection of tools for dealing with
12348 key/value data structures such as plists, alists and hash-tables in Emacs
12349 Lisp.")
12350 (license license:gpl3+)))
12351
12352 (define-public emacs-esxml
12353 (package
12354 (name "emacs-esxml")
12355 (version "0.3.4")
12356 (source (origin
12357 (method git-fetch)
12358 (uri (git-reference
12359 (url "https://github.com/tali713/esxml.git")
12360 (commit version)))
12361 (file-name (git-file-name name version))
12362 (sha256
12363 (base32
12364 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
12365 (build-system emacs-build-system)
12366 (arguments
12367 `(#:phases
12368 (modify-phases %standard-phases
12369 (add-after 'unpack 'fix-sources
12370 (lambda _
12371 ;; See: https://github.com/tali713/esxml/pull/28.
12372 (substitute* "css-lite.el"
12373 ((";;; main interface")
12374 (string-append ";;; main interface\n"
12375 "(require 'cl-lib)"))
12376 (("mapcan")
12377 "cl-mapcan")
12378 (("',\\(cl-mapcan #'process-css-rule rules\\)")
12379 "(cl-mapcan #'process-css-rule ',rules)"))
12380 (substitute* "esxml-form.el"
12381 ((",esxml-form-field-defn")
12382 "#'esxml-form-field-defn"))
12383 ;; See: https://github.com/tali713/esxml/issues/25
12384 (delete-file "esxpath.el")
12385 #t)))))
12386 (propagated-inputs
12387 `(("emacs-kv" ,emacs-kv)))
12388 (home-page "https://github.com/tali713/esxml/")
12389 (synopsis "SXML for EmacsLisp")
12390 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
12391 Simply, this is the easiest way to write HTML or XML in Lisp. This library
12392 uses the native form of XML representation as used by many libraries already
12393 included within Emacs. See @code{esxml-to-xml} for a concise description of
12394 the format.")
12395 (license license:gpl3+)))
12396
12397 (define-public emacs-nov-el
12398 ;; Upstream does not tag releases. Specify raw commit hash matching the
12399 ;; release.
12400 (let ((commit "ea0c835c1b5e6e70293f4bd64e9c89bdc42f8596"))
12401 (package
12402 (name "emacs-nov-el")
12403 (version "0.3.0")
12404 (source
12405 (origin
12406 (method git-fetch)
12407 (uri (git-reference
12408 (url "https://depp.brause.cc/nov.el.git")
12409 (commit commit)))
12410 (file-name (git-file-name name version))
12411 (sha256
12412 (base32 "04phmm14ywgicjsl2bsg6w9rapd71vdkxdp5wp0brj6px27y85jz"))))
12413 (build-system emacs-build-system)
12414 (arguments
12415 `(#:phases
12416 (modify-phases %standard-phases
12417 (add-after 'unpack 'embed-path-to-unzip
12418 (lambda _
12419 (substitute* "nov.el"
12420 (("\\(executable-find \"unzip\"\\)")
12421 (string-append "\"" (which "unzip") "\"")))
12422 #t)))))
12423 (propagated-inputs
12424 `(("emacs-dash" ,emacs-dash)
12425 ("emacs-esxml" ,emacs-esxml)))
12426 (inputs
12427 `(("unzip" ,unzip)))
12428 (home-page "https://depp.brause.cc/nov.el/")
12429 (synopsis "Major mode for reading EPUBs in Emacs")
12430 (description "@code{nov.el} provides a major mode for reading EPUB
12431 documents.
12432
12433 Features:
12434
12435 @itemize
12436 @item Basic navigation (jump to TOC, previous/next chapter)
12437 @item Remembering and restoring the last read position
12438 @item Jump to next chapter when scrolling beyond end
12439 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
12440 @item Hyperlinks to internal and external targets
12441 @item Supports textual and image documents
12442 @item View source of document files
12443 @item Metadata display
12444 @item Image rescaling
12445 @end itemize
12446 ")
12447 (license license:gpl3+))))
12448
12449 (define-public epipe
12450 (package
12451 (name "epipe")
12452 (version "0.1.0")
12453 (source
12454 (origin
12455 (method git-fetch)
12456 (uri (git-reference
12457 (url "https://github.com/cute-jumper/epipe.git")
12458 (commit version)))
12459 (file-name (git-file-name name version))
12460 (sha256
12461 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
12462 (build-system trivial-build-system)
12463 (inputs
12464 `(("bash" ,bash)
12465 ("perl" ,perl)))
12466 (arguments
12467 `(#:modules
12468 ((guix build utils))
12469 #:builder
12470 (begin
12471 (use-modules (guix build utils))
12472 ;; Extract source.
12473 (copy-recursively (assoc-ref %build-inputs "source") "source")
12474 (chdir "source")
12475 ;; Patch shebangs.
12476 (substitute* "epipe"
12477 (("/usr/bin/env bash")
12478 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
12479 (patch-shebang "epipe.pl"
12480 (list (string-append (assoc-ref %build-inputs "perl")
12481 "/bin")))
12482 ;; Install.
12483 (for-each (lambda (file)
12484 (install-file file (string-append %output "/bin")))
12485 '("epipe" "epipe.pl"))
12486 #t)))
12487 (home-page "https://github.com/cute-jumper/epipe")
12488 (synopsis "Pipe to the @code{emacsclient}")
12489 (description "@code{epipe} provides an utility to use your editor in
12490 the pipeline, featuring the support for running @code{emacsclient}.")
12491 (license license:gpl3+)))
12492
12493 (define-public emacs-hcl-mode
12494 (package
12495 (name "emacs-hcl-mode")
12496 (version "0.03")
12497 (source
12498 (origin
12499 (method git-fetch)
12500 (uri (git-reference
12501 (url "https://github.com/syohex/emacs-hcl-mode.git")
12502 (commit version)))
12503 (file-name (git-file-name name version))
12504 (sha256
12505 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
12506 (build-system emacs-build-system)
12507 (home-page "https://github.com/syohex/emacs-hcl-mode")
12508 (synopsis "Major mode for the Hashicorp Configuration Language")
12509 (description
12510 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
12511 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
12512 highlighting and indentation support.")
12513 (license license:gpl3+)))
12514
12515 (define-public emacs-terraform-mode
12516 (package
12517 (name "emacs-terraform-mode")
12518 (version "0.06")
12519 (source
12520 (origin
12521 (method git-fetch)
12522 (uri (git-reference
12523 (url "https://github.com/syohex/emacs-terraform-mode.git")
12524 (commit version)))
12525 (file-name (git-file-name name version))
12526 (sha256
12527 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
12528 (build-system emacs-build-system)
12529 (propagated-inputs
12530 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
12531 (home-page "https://github.com/syohex/emacs-terraform-mode")
12532 (synopsis "Major mode for Terraform")
12533 (description
12534 "@code{emacs-terraform-mode} provides a major mode for working with
12535 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
12536 functionality is inherited from @code{hcl-mode}.")
12537 (license license:gpl3+)))
12538
12539 (define-public emacs-exec-path-from-shell
12540 (package
12541 (name "emacs-exec-path-from-shell")
12542 (version "1.12")
12543 (source
12544 (origin
12545 (method git-fetch)
12546 (uri (git-reference
12547 (url "https://github.com/purcell/exec-path-from-shell")
12548 (commit version)))
12549 (file-name (git-file-name name version))
12550 (sha256
12551 (base32
12552 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
12553 (build-system emacs-build-system)
12554 (home-page "https://github.com/purcell/exec-path-from-shell")
12555 (synopsis "Get environment variables such as @var{PATH} from the shell")
12556 (description
12557 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
12558 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
12559 the like work as expected on systems on which Emacs is not guaranteed to
12560 inherit a login shell's environment variables. It also allows other
12561 environment variables to be retrieved from the shell, so that Emacs will see
12562 the same values you get in a terminal.")
12563 (license license:gpl3+)))
12564
12565 (define-public emacs-frog-menu
12566 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
12567 (revision "1"))
12568 (package
12569 (name "emacs-frog-menu")
12570 (version (git-version "0.2.9" revision commit))
12571 (source
12572 (origin
12573 (method git-fetch)
12574 (uri (git-reference
12575 (url "https://github.com/clemera/frog-menu")
12576 (commit commit)))
12577 (file-name (git-file-name name version))
12578 (sha256
12579 (base32
12580 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
12581 (build-system emacs-build-system)
12582 (propagated-inputs
12583 `(("emacs-posframe" ,emacs-posframe)
12584 ("emacs-avy" ,emacs-avy)))
12585 (home-page "https://github.com/clemera/frog-menu")
12586 (synopsis "Quickly pick items from ad hoc menus")
12587 (description
12588 "This package provides a popup offering a preview of a list of
12589 candidates on which user-defined dispatch actions can act.")
12590 (license license:gpl3+))))
12591
12592 (define-public emacs-frog-jump-buffer
12593 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
12594 (revision "1"))
12595 (package
12596 (name "emacs-frog-jump-buffer")
12597 (version (git-version "0.1.4" revision commit))
12598 (source
12599 (origin
12600 (method git-fetch)
12601 (uri (git-reference
12602 (url "https://github.com/waymondo/frog-jump-buffer")
12603 (commit commit)))
12604 (file-name (git-file-name name version))
12605 (sha256
12606 (base32
12607 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
12608 (build-system emacs-build-system)
12609 (propagated-inputs
12610 `(("emacs-dash" ,emacs-dash)
12611 ("emacs-frog-menu" ,emacs-frog-menu)
12612 ("emacs-avy" ,emacs-avy)))
12613 (home-page "https://github.com/waymondo/frog-jump-buffer")
12614 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
12615 (description
12616 "This package provides a preview window of buffers that can be switched
12617 to with quicklink-style selections.")
12618 (license license:gpl3+))))
12619
12620 (define-public emacs-deft
12621 (package
12622 (name "emacs-deft")
12623 (version "0.8")
12624 (source
12625 (origin
12626 (method git-fetch)
12627 (uri (git-reference
12628 (url "https://github.com/jrblevin/deft.git")
12629 (commit (string-append "v" version))))
12630 (file-name (git-file-name name version))
12631 (sha256
12632 (base32
12633 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
12634 (build-system emacs-build-system)
12635 (home-page "https://jblevins.org/projects/deft/")
12636 (synopsis "Quickly browse, filter, and edit plain text notes")
12637 (description
12638 "Deft is an Emacs mode for quickly browsing, filtering, and editing
12639 directories of plain text notes, inspired by Notational Velocity.")
12640 (license license:bsd-3)))
12641
12642 (define-public emacs-anzu
12643 (package
12644 (name "emacs-anzu")
12645 (version "0.62")
12646 (source
12647 (origin
12648 (method git-fetch)
12649 (uri (git-reference
12650 (url "https://github.com/syohex/emacs-anzu.git")
12651 (commit version)))
12652 (file-name (git-file-name name version))
12653 (sha256
12654 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
12655 (build-system emacs-build-system)
12656 (home-page "https://github.com/syohex/emacs-anzu")
12657 (synopsis "Show number of matches in mode-line while searching")
12658 (description
12659 "Anzu provides a minor mode which displays \"current match/total
12660 matches\" in the mode line in various search modes. This is an Emacs port of
12661 Anzu.zim.")
12662 (license license:gpl3+)))
12663
12664 (define-public emacs-ascii-art-to-unicode
12665 (package
12666 (name "emacs-ascii-art-to-unicode")
12667 (version "1.12")
12668 (source
12669 (origin
12670 (method url-fetch)
12671 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
12672 version ".el"))
12673 (sha256
12674 (base32
12675 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
12676 (build-system emacs-build-system)
12677 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
12678 (synopsis "ASCII to Unicode art converter for Emacs")
12679 (description "This Emacs package provides the commands @command{aa2u} and
12680 @command{aa2u-rectangle}. Both of these commands can be used to convert
12681 simple ASCII art line drawings to Unicode; the former works on the active
12682 region of the buffer, while the latter works on rectangular selections.")
12683 (license license:gpl3+)))
12684
12685 (define-public emacs-emmet-mode
12686 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
12687 (revision "1"))
12688 (package
12689 (name "emacs-emmet-mode")
12690 (version (git-version "1.0.8" revision commit))
12691 (source (origin
12692 (method git-fetch)
12693 (uri (git-reference
12694 (url "https://github.com/smihica/emmet-mode.git")
12695 (commit commit)))
12696 (file-name (git-file-name name version))
12697 (sha256
12698 (base32
12699 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
12700 (build-system emacs-build-system)
12701 (home-page "https://github.com/smihica/emmet-mode")
12702 (synopsis "Unofficial Emmet's support for Emacs")
12703 (description
12704 "Unfold CSS-selector-like expressions to markup. It is intended to be
12705 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
12706 (license license:gpl3+))))
12707
12708 (define-public emacs-ergoemacs-mode
12709 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
12710 (revision "1"))
12711 (package
12712 (name "emacs-ergoemacs-mode")
12713 (version (git-version "5.16.10.12" revision commit))
12714 (source
12715 (origin
12716 (method git-fetch)
12717 (uri (git-reference
12718 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
12719 (commit commit)))
12720 (file-name (git-file-name name version))
12721 (sha256
12722 (base32
12723 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
12724 (build-system emacs-build-system)
12725 (propagated-inputs
12726 `(("emacs-undo-tree" ,emacs-undo-tree)))
12727 (home-page "https://ergoemacs.github.io/")
12728 (synopsis "Emacs mode based on common modern interface and ergonomics")
12729 (description
12730 "This package provides an efficient Emacs keybinding set based on
12731 statistics of command frequency, and supports common shortcuts for open,
12732 close, copy, cut, paste, undo, redo.")
12733 (license license:gpl3+))))
12734
12735 (define-public emacs-password-store
12736 (package
12737 (name "emacs-password-store")
12738 (version "1.7.3")
12739 (source (origin
12740 (method url-fetch)
12741 (uri
12742 (string-append "https://git.zx2c4.com/password-store/snapshot/"
12743 "password-store-" version ".tar.xz"))
12744 (sha256
12745 (base32
12746 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
12747 (build-system emacs-build-system)
12748 (arguments
12749 `(#:phases
12750 (modify-phases %standard-phases
12751 (add-after 'unpack 'extract-el-file
12752 (lambda _
12753 (copy-file "contrib/emacs/password-store.el" "password-store.el")
12754 (delete-file-recursively "contrib")
12755 (delete-file-recursively "man")
12756 (delete-file-recursively "src")
12757 (delete-file-recursively "tests"))))))
12758 (propagated-inputs
12759 `(("emacs-f" ,emacs-f)
12760 ("emacs-s" ,emacs-s)
12761 ("emacs-with-editor" ,emacs-with-editor)
12762 ("password-store" ,password-store)))
12763 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
12764 (synopsis "Password store (pass) support for Emacs")
12765 (description
12766 "This package provides functions for working with pass (\"the
12767 standard Unix password manager\").")
12768 (license license:gpl2+)))
12769
12770 (define-public emacs-auth-source-pass
12771 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
12772 (revision "2"))
12773 (package
12774 (name "emacs-auth-source-pass")
12775 (version (git-version "5.0.0" revision commit))
12776 (source
12777 (origin
12778 (method git-fetch)
12779 (uri (git-reference
12780 (url "https://github.com/DamienCassou/auth-password-store.git")
12781 (commit commit)))
12782 (file-name (git-file-name name version))
12783 (sha256
12784 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
12785 (build-system emacs-build-system)
12786 (arguments
12787 `(#:tests? #t
12788 #:test-command '("emacs" "--batch"
12789 "-L" "."
12790 "-l" "test/auth-source-pass-tests.el"
12791 "-f" "ert-run-tests-batch-and-exit")))
12792 (home-page "https://github.com/DamienCassou/auth-password-store")
12793 (synopsis "Integrate @code{auth-source} with @code{password-store}")
12794 (description "This package helps Emacs integrate with the Unix
12795 @code{password-store} application.")
12796 (license license:gpl3+))))
12797
12798 (define-public emacs-pass
12799 (package
12800 (name "emacs-pass")
12801 (version "2.0")
12802 (source
12803 (origin
12804 (method git-fetch)
12805 (uri (git-reference
12806 (url "https://github.com/NicolasPetton/pass.git")
12807 (commit version)))
12808 (file-name (git-file-name name version))
12809 (sha256
12810 (base32 "0jc8j421mlflspg24jvrqc2n3y5n3cpk3hjy560il8g36xi1049p"))))
12811 (build-system emacs-build-system)
12812 (propagated-inputs
12813 `(("emacs-password-store" ,emacs-password-store)
12814 ("emacs-f" ,emacs-f)))
12815 (home-page "https://github.com/NicolasPetton/pass")
12816 (synopsis "Major mode for @file{password-store.el}")
12817 (description "This is a major mode for managing password-store (pass)
12818 keychains. The keychain entries are displayed in a directory-like structure
12819 and can be consulted and modified.")
12820 (license license:gpl3+)))
12821
12822 (define-public emacs-psc-ide
12823 ;; There is no proper release. The base version is extracted from the
12824 ;; "Version" keyword in the main file.
12825 (let ((commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe")
12826 (revision "1"))
12827 (package
12828 (name "emacs-psc-ide")
12829 (version (git-version "0.1.0" revision commit))
12830 (source
12831 (origin
12832 (method git-fetch)
12833 (uri
12834 (git-reference
12835 (url "https://github.com/purescript-emacs/psc-ide-emacs")
12836 (commit commit)))
12837 (file-name (git-file-name name version))
12838 (sha256
12839 (base32 "0r0fymyai30jimm34z1cmav4wgij8ci6s1d9y7qigygfbbfrdsmj"))))
12840 (build-system emacs-build-system)
12841 (propagated-inputs
12842 `(("emacs-company" ,emacs-company)
12843 ("emacs-dash" ,emacs-dash)
12844 ("emacs-flycheck" ,emacs-flycheck)
12845 ("emacs-let-alist" ,emacs-let-alist)
12846 ("emacs-s" ,emacs-s)
12847 ("emacs-seq" ,emacs-seq)))
12848 (home-page "https://github.com/purescript-emacs/psc-ide-emacs")
12849 (synopsis "Emacs integration for PureScript's psc-ide tool")
12850 (description
12851 "This package provices Emacs integration for @code{psc-ide}, an IDE
12852 protocol for PureScript programming language. It features:
12853
12854 @itemize
12855 @item Completions
12856 @item Type at point
12857 @item Go to definition
12858 @item Automatic imports
12859 @item Case split
12860 @item Build system integration, and
12861 @item Flycheck support
12862 @end itemize")
12863 (license license:gpl3+))))
12864
12865 (define-public emacs-evil-anzu
12866 (package
12867 (name "emacs-evil-anzu")
12868 (version "0.03")
12869 (source
12870 (origin
12871 (method git-fetch)
12872 (uri (git-reference
12873 (url "https://github.com/syohex/emacs-evil-anzu")
12874 (commit version)))
12875 (file-name (git-file-name name version))
12876 (sha256
12877 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
12878 (build-system emacs-build-system)
12879 (propagated-inputs
12880 `(("emacs-evil" ,emacs-evil)
12881 ("emacs-anzu" ,emacs-anzu)))
12882 (home-page "https://github.com/syohex/emacs-evil-anzu")
12883 (synopsis "Anzu for evil-mode")
12884 (description "@code{anzu} provides a minor mode that displays the current
12885 match and total match information in the mode-line in various search modes.")
12886 (license license:gpl3+)))
12887
12888 (define-public emacs-pg
12889 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
12890 (package
12891 (name "emacs-pg")
12892 (version (git-version "0.1" "1" commit))
12893 (source (origin
12894 (method git-fetch)
12895 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
12896 (commit commit)))
12897 (file-name (git-file-name name version))
12898 (sha256
12899 (base32
12900 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
12901 (build-system emacs-build-system)
12902 (home-page "https://github.com/cbbrowne/pg.el")
12903 (synopsis "Emacs Lisp interface for PostgreSQL")
12904 (description
12905 "This package provides an Emacs Lisp interface for PostgreSQL.")
12906 (license license:gpl3+))))
12907
12908 (define-public emacs-cl-generic
12909 (package
12910 (name "emacs-cl-generic")
12911 (version "0.3")
12912 (source
12913 (origin
12914 (method url-fetch)
12915 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
12916 version ".el"))
12917 (sha256
12918 (base32
12919 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
12920 (build-system emacs-build-system)
12921 ;; Byte compilation of the autoload file fails.
12922 (arguments
12923 `(#:phases (modify-phases %standard-phases
12924 (delete 'enable-autoloads-compilation))))
12925 (home-page "https://elpa.gnu.org/packages/seq.html")
12926 (synopsis
12927 "Forward @code{cl-generic} compatibility for Emacs before version 25")
12928 (description "This package provides a subset of the features of the
12929 @code{cl-generic} package introduced in Emacs-25, for use on previous
12930 @code{emacsen}.")
12931 (license license:gpl3+)))
12932
12933 (define-public emacs-finalize
12934 (package
12935 (name "emacs-finalize")
12936 (version "2.0.0")
12937 (source
12938 (origin
12939 (method git-fetch)
12940 (uri (git-reference
12941 (url "https://github.com/skeeto/elisp-finalize.git")
12942 (commit version)))
12943 (file-name (git-file-name name version))
12944 (sha256
12945 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
12946 (build-system emacs-build-system)
12947 (propagated-inputs
12948 `(("emacs-cl-generic" ,emacs-cl-generic)))
12949 (home-page "https://github.com/skeeto/elisp-finalize")
12950 (synopsis "Finalizers for Emacs Lisp")
12951 (description
12952 "This package runs a callback (a finalizer)
12953 after its registered lisp object has been garbage collected. This allows
12954 extra resources, such as buffers and processes, to be cleaned up after the
12955 object has been freed.")
12956 (license license:unlicense)))
12957
12958 (define-public emacs-emacsql
12959 (package
12960 (name "emacs-emacsql")
12961 (version "3.0.0")
12962 (source (origin
12963 (method git-fetch)
12964 (uri (git-reference
12965 (url "https://github.com/skeeto/emacsql.git")
12966 (commit (string-append version))))
12967 (file-name (git-file-name name version))
12968 (sha256
12969 (base32
12970 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
12971 (build-system emacs-build-system)
12972 (arguments
12973 `(#:modules ((guix build emacs-build-system)
12974 (guix build utils)
12975 (guix build emacs-utils)
12976 (srfi srfi-26))
12977 #:phases
12978 (modify-phases %standard-phases
12979 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
12980 (add-before 'install 'patch-elisp-shell-shebangs
12981 (lambda _
12982 (substitute* (find-files "." "\\.el")
12983 (("/bin/sh") (which "sh")))
12984 #t))
12985 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
12986 (lambda _
12987 (setenv "SHELL" "sh")))
12988 (add-after 'setenv-shell 'build-emacsql-sqlite
12989 (lambda _
12990 (invoke "make" "binary" "CC=gcc")))
12991 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
12992 ;; This build phase installs emacs-emacsql binary.
12993 (lambda* (#:key outputs #:allow-other-keys)
12994 (install-file "sqlite/emacsql-sqlite"
12995 (string-append (assoc-ref outputs "out")
12996 "/bin"))
12997 #t))
12998 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
12999 ;; This build phase removes interactive prompts
13000 ;; and makes sure Emacs look for binaries in the right places.
13001 (lambda* (#:key outputs #:allow-other-keys)
13002 (let ((file "emacsql-sqlite.el"))
13003 (chmod file #o644)
13004 (emacs-substitute-sexps file
13005 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
13006 ("(executable-find" (which "gcc"))
13007 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
13008 ;; in the right place.
13009 ("(defvar emacsql-sqlite-executable"
13010 (string-append (assoc-ref outputs "out")
13011 "/bin/emacsql-sqlite"))))))
13012 (replace 'install
13013 (lambda* (#:key outputs #:allow-other-keys)
13014 (let* ((out (assoc-ref outputs "out")))
13015 (install-file "sqlite/emacsql-sqlite"
13016 (string-append out "/bin"))
13017 (for-each (cut install-file <>
13018 (string-append out "/share/emacs/site-lisp"))
13019 (find-files "." "\\.elc*$")))
13020 #t)))))
13021 (inputs
13022 `(("emacs-minimal" ,emacs-minimal)
13023 ("mariadb" ,mariadb "lib")
13024 ("mariadb-dev" ,mariadb "dev")
13025 ("postgresql" ,postgresql)))
13026 (propagated-inputs
13027 `(("emacs-finalize" ,emacs-finalize)
13028 ("emacs-pg" ,emacs-pg)))
13029 (home-page "https://github.com/skeeto/emacsql")
13030 (synopsis "Emacs high-level SQL database front-end")
13031 (description "Any readable Lisp value can be stored as a value in EmacSQL,
13032 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
13033 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
13034 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
13035 (license license:gpl3+)))
13036
13037 (define-public emacs-closql
13038 ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3.
13039 (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef"))
13040 (package
13041 (name "emacs-closql")
13042 (version (git-version "1.0.0" "1" commit))
13043 (source
13044 (origin
13045 (method git-fetch)
13046 (uri (git-reference
13047 (url "https://github.com/emacscollective/closql.git")
13048 (commit commit)))
13049 (file-name (git-file-name name version))
13050 (sha256
13051 (base32
13052 "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"))))
13053 (build-system emacs-build-system)
13054 (propagated-inputs
13055 `(("emacs-emacsql" ,emacs-emacsql)))
13056 (home-page "https://github.com/emacscollective/closql")
13057 (synopsis "Store EIEIO objects using EmacSQL")
13058 (description
13059 "This package stores uniform EIEIO objects in an EmacSQL
13060 database. SQLite is used as backend. This library imposes some restrictions
13061 on what kind of objects can be stored; it isn't intended to store arbitrary
13062 objects. All objects have to share a common superclass and subclasses cannot
13063 add any additional instance slots.")
13064 (license license:gpl3))))
13065
13066 (define-public emacs-epkg
13067 ;; The release version is to old for the current database scheme.
13068 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
13069 (package
13070 (name "emacs-epkg")
13071 (version (git-version "3.0.0" "1" commit))
13072 (source
13073 (origin
13074 (method git-fetch)
13075 (uri (git-reference
13076 (url "https://github.com/emacscollective/epkg.git")
13077 (commit commit)))
13078 (file-name (git-file-name name version))
13079 (sha256
13080 (base32
13081 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
13082 (build-system emacs-build-system)
13083 (propagated-inputs
13084 `(("emacs-closql" ,emacs-closql)
13085 ("emacs-dash" ,emacs-dash)))
13086 (home-page "https://emacsmirror.net")
13087 (synopsis "Browse the Emacsmirror package database")
13088 (description "This package provides access to a local copy of the
13089 Emacsmirror package database. It provides low-level functions for querying
13090 the database and a @file{package.el} user interface for browsing the database.
13091 Epkg itself is not a package manager.
13092
13093 Getting a local copy:
13094
13095 @example
13096 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
13097 cd ~/.emacs.d/epkgs
13098 git submodule init
13099 git config --global url.https://github.com/.insteadOf git@@github.com:
13100 git submodule update
13101 @end example
13102
13103 Some submodule may be missing. In this case Git will prompt for a GitHub user
13104 name and password. To skip it press a @key{Return} key.
13105
13106 You could get a Epkg package list by invoking @code{epkg-list-packages} in
13107 Emacs.")
13108 (license license:gpl3+))))
13109
13110 (define-public emacs-elisp-slime-nav
13111 (package
13112 (name "emacs-elisp-slime-nav")
13113 (version "0.9")
13114 (source
13115 (origin
13116 (method git-fetch)
13117 (uri (git-reference
13118 (url "https://github.com/purcell/elisp-slime-nav.git")
13119 (commit version)))
13120 (file-name (git-file-name name version))
13121 (sha256
13122 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
13123 (build-system emacs-build-system)
13124 (home-page "https://github.com/purcell/elisp-slime-nav")
13125 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
13126 (description
13127 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
13128 in @code{emacs-lisp-mode}, together with an elisp equivalent of
13129 @code{slime-describe-symbol}.")
13130 (license license:gpl3+)))
13131
13132 (define-public emacs-dedicated
13133 (package
13134 (name "emacs-dedicated")
13135 (version "1.0.0")
13136 (source
13137 (origin
13138 (method git-fetch)
13139 (uri (git-reference
13140 (url "https://github.com/emacsorphanage/dedicated.git")
13141 (commit version)))
13142 (file-name (git-file-name name version))
13143 (sha256
13144 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
13145 (build-system emacs-build-system)
13146 (home-page "https://github.com/emacsorphanage/dedicated")
13147 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
13148 (description
13149 "This simple Emacs minor mode allows you to toggle a window's
13150 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
13151 files into that window. This can be quite handy since many commands will use
13152 another window to show results (compilation mode, starting info, and so on).
13153 A dedicated window won't be used for such a purpose. For details, please read
13154 the source file.")
13155 (license license:gpl2+)))
13156
13157 (define-public emacs-nnreddit
13158 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
13159 (revision "1"))
13160 (package
13161 (name "emacs-nnreddit")
13162 (version (string-append "0.0.1-" revision "."
13163 (string-take commit 7)))
13164 (source (origin
13165 (method git-fetch)
13166 (uri (git-reference
13167 (url "https://github.com/paul-issartel/nnreddit.git")
13168 (commit commit)))
13169 (file-name (git-file-name name version))
13170 (sha256
13171 (base32
13172 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
13173 (build-system emacs-build-system)
13174 (home-page "https://github.com/paul-issartel/nnreddit")
13175 (synopsis "Reddit backend for the Gnus newsreader")
13176 (description "@url{https://www.reddit.com} backend for the Gnus
13177 newsreader.")
13178 (license license:gpl3+))))
13179
13180 (define-public emacs-makey
13181 (package
13182 (name "emacs-makey")
13183 (version "0.3")
13184 (source
13185 (origin
13186 (method git-fetch)
13187 (uri (git-reference
13188 (url "https://github.com/mickeynp/makey.git")
13189 (commit version)))
13190 (file-name (git-file-name name version))
13191 (sha256
13192 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
13193 (build-system emacs-build-system)
13194 (home-page "https://github.com/mickeynp/makey")
13195 (synopsis "Emacs interactive command-line mode")
13196 (description
13197 "This package provides an Emacs interactive command-line mode.")
13198 (license license:gpl3+)))
13199
13200 (define-public emacs-outorg
13201 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
13202 (package
13203 (name "emacs-outorg")
13204 (version (git-version "2.0" "1" commit))
13205 (source
13206 (origin
13207 (method git-fetch)
13208 (uri (git-reference
13209 (url "https://github.com/alphapapa/outorg")
13210 (commit commit)))
13211 (file-name (git-file-name name version))
13212 (sha256
13213 (base32
13214 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
13215 (build-system emacs-build-system)
13216 (home-page "https://github.com/alphapapa/outorg")
13217 (synopsis "Org-style comment editing")
13218 (description "Outorg is for editing comment-sections of source-code
13219 files in temporary Org-mode buffers. It turns conventional
13220 literate-programming upside-down in that the default mode is the
13221 programming-mode, and special action has to be taken to switch to the
13222 text-mode (i.e. Org-mode).")
13223 (license license:gpl3+))))
13224
13225 (define-public emacs-outshine
13226 (package
13227 (name "emacs-outshine")
13228 (version "3.0.1")
13229 (source (origin
13230 (method git-fetch)
13231 (uri (git-reference
13232 (url "https://github.com/alphapapa/outshine.git")
13233 (commit (string-append "v" version))))
13234 (file-name (git-file-name name version))
13235 (sha256
13236 (base32
13237 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
13238 (build-system emacs-build-system)
13239 (propagated-inputs
13240 `(("emacs-outorg" ,emacs-outorg)))
13241 (home-page "https://github.com/alphapapa/outshine")
13242 (synopsis "Emacs outline with outshine")
13243 (description "Outshine attempts to bring the look and feel of
13244 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
13245 of @code{outline-minor-mode} (@code{org-mode} itself derives from
13246 outline-mode), so there is no such thing like an outshine mode, only
13247 @code{outline-minor-mode} with outshine extensions loaded.")
13248 (license license:gpl3+)))
13249
13250 (define-public emacs-frecency
13251 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
13252 (version "0.1-pre")
13253 (revision "1"))
13254 (package
13255 (name "emacs-frecency")
13256 (version (git-version version revision commit))
13257 (source (origin
13258 (method git-fetch)
13259 (uri (git-reference
13260 (url "https://github.com/alphapapa/frecency.el")
13261 (commit commit)))
13262 (sha256
13263 (base32
13264 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
13265 (file-name (git-file-name name version))))
13266 (build-system emacs-build-system)
13267 (propagated-inputs
13268 `(("emacs-a" ,emacs-a)
13269 ("emacs-dash" ,emacs-dash)))
13270 (home-page "https://github.com/alphapapa/frecency.el")
13271 (synopsis "Sort items by frequency and recency of access")
13272 (description "This package provides a way of sorting items via
13273 a heuristic based on frequency and recency.")
13274 (license license:gpl3+))))
13275
13276 (define-public emacs-org-recent-headings
13277 (package
13278 (name "emacs-org-recent-headings")
13279 (version "0.1")
13280 (source (origin
13281 (method git-fetch)
13282 (uri (git-reference
13283 (url "https://github.com/alphapapa/org-recent-headings.git")
13284 (commit version)))
13285 (file-name (git-file-name name version))
13286 (sha256
13287 (base32
13288 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
13289 (build-system emacs-build-system)
13290 (propagated-inputs
13291 `(("emacs-org" ,emacs-org)
13292 ("emacs-dash" ,emacs-dash)
13293 ("emacs-frecency" ,emacs-frecency)))
13294 (home-page "https://github.com/alphapapa/org-recent-headings")
13295 (synopsis "Navigate to recently used Org headings and lists")
13296 (description "This package maintains a list of recently used Org headings,
13297 as well as functions for navigating between these headings.")
13298 (license license:gpl3+)))
13299
13300 (define-public emacs-org-super-agenda
13301 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
13302 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
13303 (revision "3"))
13304 (package
13305 (name "emacs-org-super-agenda")
13306 (version (git-version "1.1.1" revision commit))
13307 (source (origin
13308 (method git-fetch)
13309 (uri (git-reference
13310 (url "https://github.com/alphapapa/org-super-agenda")
13311 (commit commit)))
13312 (file-name (git-file-name name version))
13313 (sha256
13314 (base32
13315 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
13316 (build-system emacs-build-system)
13317 (propagated-inputs
13318 `(("emacs-org" ,emacs-org)
13319 ("emacs-dash" ,emacs-dash)
13320 ("emacs-ts" ,emacs-ts)
13321 ("emacs-ht" ,emacs-ht)
13322 ("emacs-s" ,emacs-s)))
13323 (home-page "https://github.com/alphapapa/org-super-agenda")
13324 (synopsis "Supercharged Org agenda")
13325 (description "This package allows items in the Org agenda to be grouped
13326 into sections while preserving the structure imposed by any timestamps.")
13327 (license license:gpl3+))))
13328
13329 (define-public emacs-org-make-toc
13330 (package
13331 (name "emacs-org-make-toc")
13332 (version "0.5")
13333 (source (origin
13334 (method git-fetch)
13335 (uri (git-reference
13336 (url "https://github.com/alphapapa/org-make-toc")
13337 (commit version)))
13338 (file-name (git-file-name name version))
13339 (sha256
13340 (base32
13341 "180ji6nnj6qj0rs1rdp1zlcrfsqf7ikb44ym8icbp5d6al2s4hnr"))))
13342 (build-system emacs-build-system)
13343 (propagated-inputs
13344 `(("emacs-org" ,emacs-org)
13345 ("emacs-dash" ,emacs-dash)
13346 ("emacs-s" ,emacs-s)))
13347 (home-page "https://github.com/alphapapa/org-make-toc")
13348 (synopsis "Maintain a table of contents for an Org file")
13349 (description "This package facilitates the creation and maintenance of
13350 tables of contents.")
13351 (license license:gpl3+)))
13352
13353 (define-public emacs-ts
13354 (package
13355 (name "emacs-ts")
13356 (version "0.2")
13357 (source
13358 (origin
13359 (method git-fetch)
13360 (uri (git-reference
13361 (url "https://github.com/alphapapa/ts.el")
13362 (commit version)))
13363 (sha256
13364 (base32 "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb"))
13365 (file-name (git-file-name name version))))
13366 (build-system emacs-build-system)
13367 (propagated-inputs
13368 `(("emacs-s" ,emacs-s)
13369 ("emacs-dash" ,emacs-dash)))
13370 (arguments
13371 ;; XXX: Three tests are failing because of a timezone-related issue
13372 ;; with how they're written. On my machine, all the failing test
13373 ;; results are 18000 seconds (5 hours) off.
13374
13375 ;; The ts-parse-org function accepts a string without any timezone
13376 ;; info, not assumed to be in Unix time, and converts it to a so-called
13377 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
13378 ;; then seems to assume the struct's corresponding time is in terms of
13379 ;; the user's current time zone, before returning a Unix time in
13380 ;; seconds.
13381
13382 ;; The failing tests all have similar problems, but nothing else about
13383 ;; the library seems particularly off.
13384
13385 `(#:tests? #t
13386 #:test-command '("emacs" "--batch"
13387 "-l" "test/test.el"
13388 "-f" "ert-run-tests-batch-and-exit")
13389 #:phases
13390 (modify-phases %standard-phases
13391 (add-before 'check 'make-tests-writable
13392 (lambda _
13393 (make-file-writable "test/test.el")
13394 #t))
13395 (add-before 'check 'delete-failing-tests
13396 (lambda _
13397 (emacs-batch-edit-file "test/test.el"
13398 `(progn (progn
13399 (goto-char (point-min))
13400 (dolist (test-regexp
13401 '("ert-deftest ts-format"
13402 "ert-deftest ts-parse-org\\_>"
13403 "ert-deftest ts-parse-org-element"
13404 "ert-deftest ts-update"))
13405 (re-search-forward test-regexp)
13406 (beginning-of-line)
13407 (kill-sexp)))
13408 (basic-save-buffer)))
13409 #t)))))
13410 (home-page "https://github.com/alphapapa/ts.el")
13411 (synopsis "Timestamp and date/time library")
13412 (description "This package facilitates manipulating dates, times, and
13413 timestamps by providing a @code{ts} struct.")
13414 (license license:gpl3+)))
13415
13416 (define-public emacs-peg
13417 (package
13418 (name "emacs-peg")
13419 (version "0.6")
13420 (source (origin
13421 (method git-fetch)
13422 (uri (git-reference
13423 (url "https://github.com/emacsmirror/peg")
13424 (commit version)))
13425 (sha256
13426 (base32
13427 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
13428 (file-name (git-file-name name version))))
13429 (build-system emacs-build-system)
13430 (home-page "https://github.com/emacsmirror/peg/")
13431 (synopsis "Parsing Expression Grammars in Elisp")
13432 (description "This package provides a macro that parses the current buffer
13433 according to a parsing expression grammar.")
13434 (license license:gpl3+)))
13435
13436 (define-public emacs-org-ql
13437 (package
13438 (name "emacs-org-ql")
13439 (version "0.3.2")
13440 (source (origin
13441 (method git-fetch)
13442 (uri (git-reference
13443 (url "https://github.com/alphapapa/org-ql")
13444 (commit version)))
13445 (sha256
13446 (base32
13447 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
13448 (file-name (git-file-name name version))))
13449 (build-system emacs-build-system)
13450 (propagated-inputs
13451 `(("emacs-s" ,emacs-s)
13452 ("emacs-f" ,emacs-f)
13453 ("emacs-ov" ,emacs-ov)
13454 ("emacs-peg" ,emacs-peg)
13455 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
13456 ("emacs-ts" ,emacs-ts)
13457 ("emacs-org" ,emacs-org)
13458 ("emacs-helm" ,emacs-helm)
13459 ("emacs-helm-org" ,emacs-helm-org)
13460 ("emacs-dash" ,emacs-dash)))
13461 (native-inputs
13462 `(("emacs-buttercup" ,emacs-buttercup)))
13463 (arguments
13464 `(#:phases
13465 (modify-phases %standard-phases
13466 (add-after 'unpack 'require-helm
13467 (lambda _
13468 (substitute* "helm-org-ql.el"
13469 (("^;;;; Requirements")
13470 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
13471 #t)))
13472 #:tests? #t
13473 #:test-command '("buttercup" "-L" ".")))
13474 (home-page "https://github.com/alphapapa/org-ql/")
13475 (synopsis "Query language for Org buffers")
13476 (description "This package provides a Lispy query language for Org
13477 files, allowing for actions to be performed based on search criteria.")
13478 (license license:gpl3+)))
13479
13480 (define-public emacs-org-auto-expand
13481 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
13482 (revision "1"))
13483 (package
13484 (name "emacs-org-auto-expand")
13485 (version (git-version "0.1" revision commit))
13486 (source (origin
13487 (method git-fetch)
13488 (uri (git-reference
13489 (url "https://github.com/alphapapa/org-auto-expand")
13490 (commit commit)))
13491 (file-name (git-file-name name version))
13492 (sha256
13493 (base32
13494 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
13495 (build-system emacs-build-system)
13496 (propagated-inputs
13497 `(("emacs-org" ,emacs-org)
13498 ("emacs-dash" ,emacs-dash)))
13499 (home-page "https://github.com/alphapapa/org-auto-expand")
13500 (synopsis "Automatically expand certain Org headings")
13501 (description "This package allows a customizable set of headings in Org
13502 files to be expanded upon opening them.")
13503 (license license:gpl3+))))
13504
13505 (define-public emacs-parsebib
13506 (package
13507 (name "emacs-parsebib")
13508 (version "2.3.3")
13509 (source
13510 (origin
13511 (method git-fetch)
13512 (uri (git-reference
13513 (url "https://github.com/joostkremers/parsebib.git")
13514 (commit version)))
13515 (file-name (git-file-name name version))
13516 (sha256
13517 (base32 "0mpgyy9qfb5x4fvlmb274hgayjbwf0bgk65dxyx31zikjwpcd56p"))))
13518 (build-system emacs-build-system)
13519 (home-page "https://github.com/joostkremers/parsebib")
13520 (synopsis "Library for parsing @file{.bib} files")
13521 (description
13522 "This package provides an Emacs library for parsing @file{.bib} files.")
13523 (license license:gpl3+)))
13524
13525 (define-public emacs-ebib
13526 (package
13527 (name "emacs-ebib")
13528 (version "2.22.1")
13529 (source
13530 (origin
13531 (method git-fetch)
13532 (uri (git-reference
13533 (url "https://github.com/joostkremers/ebib.git")
13534 (commit version)))
13535 (file-name (git-file-name name version))
13536 (sha256
13537 (base32 "0spiz5r2y4pdpyc4d3f9w228giq0j9rm8f5h5akzn5rwiq9pfkwz"))))
13538 (build-system emacs-build-system)
13539 (propagated-inputs
13540 `(("emacs-parsebib" ,emacs-parsebib)))
13541 (home-page "https://joostkremers.github.io/ebib/")
13542 (synopsis "BibTeX database manager for Emacs")
13543 (description
13544 "Ebib is a BibTeX database manager that runs in GNU Emacs.
13545 With Ebib you can create, sort and manage your @file{.bib} database files, all
13546 within Emacs. It supports searching, multi-line field values and
13547 @samp{@@String} and @samp{@@Preamble} definitions. Ebib integrates
13548 with (La)TeX mode, Org mode and other Emacs editing modes.")
13549 ;; The Ebib source files are released under a BSD license with
13550 ;; the exception of org-ebib.el, which is released under the GNU
13551 ;; GPL.
13552 (license (list license:bsd-3
13553 license:gpl3+))))
13554
13555 (define-public emacs-biblio
13556 (package
13557 (name "emacs-biblio")
13558 (version "0.2")
13559 (source
13560 (origin
13561 (method git-fetch)
13562 (uri (git-reference
13563 (url "https://github.com/cpitclaudel/biblio.el.git")
13564 (commit version)))
13565 (file-name (git-file-name name version))
13566 (sha256
13567 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
13568 (build-system emacs-build-system)
13569 (propagated-inputs
13570 `(("emacs-seq" ,emacs-seq)
13571 ("emacs-dash" ,emacs-dash)
13572 ("emacs-let-alist" ,emacs-let-alist)))
13573 (home-page "https://github.com/cpitclaudel/biblio.el")
13574 (synopsis "Browse and import bibliographic references")
13575 (description "This package provides an extensible Emacs package for
13576 browsing and fetching references.
13577
13578 @file{biblio.el} makes it easy to browse and gather bibliographic references
13579 and publications from various sources, by keywords or by DOI. References are
13580 automatically fetched from well-curated sources, and formatted as BibTeX.")
13581 (license license:gpl3+)))
13582
13583 (define-public emacs-helm-bibtex
13584 (let ((commit "d4471232be26793fbf56c0ac3690b5f537c378b9")
13585 (revision "2"))
13586 (package
13587 (name "emacs-helm-bibtex")
13588 (version (string-append "2.0.0" "-" revision "."
13589 (string-take commit 7)))
13590 (source
13591 (origin
13592 (method git-fetch)
13593 (uri (git-reference
13594 (url "https://github.com/tmalsburg/helm-bibtex.git")
13595 (commit commit)))
13596 (file-name (git-file-name name version))
13597 (sha256
13598 (base32
13599 "1bkzhic6qckb267025il1r3xcpz99kisphxiafni1pxvf9jafr0j"))))
13600 (build-system emacs-build-system)
13601 (propagated-inputs
13602 `(("emacs-helm" ,emacs-helm)
13603 ("emacs-parsebib" ,emacs-parsebib)
13604 ("emacs-s" ,emacs-s)
13605 ("emacs-dash" ,emacs-dash)
13606 ("emacs-f" ,emacs-f)
13607 ("emacs-biblio" ,emacs-biblio)
13608 ("emacs-ivy" ,emacs-ivy)))
13609 (home-page "https://github.com/tmalsburg/helm-bibtex")
13610 (synopsis "Bibliography manager based on Helm")
13611 (description "This package provides bibliography manager for Emacs,
13612 based on Helm and the bibtex-completion backend.
13613
13614 Key features:
13615
13616 @itemize
13617 @item Quick access to your bibliography from within Emacs
13618 @item Powerful search capabilities
13619 @item Provides instant search results as you type
13620 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
13621 @item Open the PDFs, URLs, or DOIs associated with an entry
13622 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
13623 BibTeX entries, or plain text references at point, attach PDFs to emails
13624 @item Support for note taking
13625 @item Quick access to online bibliographic databases such as Pubmed,
13626 arXiv, Google Scholar, Library of Congress, etc.
13627 @item Imports BibTeX entries from CrossRef and other sources.
13628 @end itemize\n")
13629 (license license:gpl3+))))
13630
13631 (define-public emacs-ewmctrl
13632 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
13633 (package
13634 (name "emacs-ewmctrl")
13635 (version (git-version "0.0.1" "1" commit))
13636 (source
13637 (origin
13638 (method git-fetch)
13639 (uri (git-reference
13640 (url "https://github.com/flexibeast/ewmctrl.git")
13641 (commit commit)))
13642 (file-name (git-file-name name version))
13643 (sha256
13644 (base32
13645 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
13646 (build-system emacs-build-system)
13647 (arguments
13648 '(#:phases
13649 (modify-phases %standard-phases
13650 (add-after 'unpack 'patch-ewmctrl
13651 ;; This build phase makes sure ‘ewmctrl’ looks
13652 ;; for ‘wmctrl’ in the right place.
13653 (lambda _
13654 (let ((file "ewmctrl.el"))
13655 (chmod file #o644)
13656 (emacs-substitute-sexps file
13657 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
13658 (inputs
13659 `(("wmctrl" ,wmctrl)))
13660 (home-page "https://github.com/flexibeast/ewmctrl")
13661 (synopsis "Emacs interface to @code{wmctrl}")
13662 (description "@code{ewmctrl} provides an Emacs interface to
13663 @code{wmctrl} command-line window-management program.")
13664 (license license:gpl3+))))
13665
13666 (define-public emacs-erc-image
13667 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
13668 (revision "1"))
13669 (package
13670 (name "emacs-erc-image")
13671 (version (git-version "0" revision commit))
13672 (source
13673 (origin
13674 (method git-fetch)
13675 (uri (git-reference
13676 (url "https://github.com/kidd/erc-image.el")
13677 (commit commit)))
13678 (file-name (git-file-name name version))
13679 (sha256
13680 (base32
13681 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
13682 (build-system emacs-build-system)
13683 (home-page "https://github.com/kidd/erc-image.el")
13684 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
13685 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
13686 and @code{erc-send-modify-hook} to download and show images.")
13687 (license license:gpl3+))))
13688
13689 (define-public emacs-helm-gtags
13690 (package
13691 (name "emacs-helm-gtags")
13692 (version "1.5.6")
13693 (source
13694 (origin
13695 (method git-fetch)
13696 (uri (git-reference
13697 (url "https://github.com/syohex/emacs-helm-gtags.git")
13698 (commit version)))
13699 (file-name (git-file-name name version))
13700 (sha256
13701 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
13702 (build-system emacs-build-system)
13703 (propagated-inputs
13704 `(("emacs-helm" ,emacs-helm)))
13705 (home-page "https://github.com/syohex/emacs-helm-gtags")
13706 (synopsis "Emacs Helm interface to GNU Global")
13707 (description
13708 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
13709 (license license:gpl3+)))
13710
13711 (define-public emacs-list-utils
13712 (package
13713 (name "emacs-list-utils")
13714 (version "0.4.4")
13715 (source
13716 (origin
13717 (method git-fetch)
13718 (uri (git-reference
13719 (url "https://github.com/rolandwalker/list-utils.git")
13720 (commit (string-append "v" version))))
13721 (file-name (git-file-name name version))
13722 (sha256
13723 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
13724 (build-system emacs-build-system)
13725 (home-page "https://github.com/rolandwalker/list-utils")
13726 (synopsis "List-manipulation utility functions")
13727 (description "This package provides a list manipulation library for Emacs.")
13728 (license license:gpl3+)))
13729
13730 (define-public emacs-move-text
13731 (package
13732 (name "emacs-move-text")
13733 (version "2.0.8")
13734 (source
13735 (origin
13736 (method git-fetch)
13737 (uri (git-reference
13738 (url "https://github.com/emacsfodder/move-text.git")
13739 (commit version)))
13740 (file-name (git-file-name name version))
13741 (sha256
13742 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
13743 (build-system emacs-build-system)
13744 (home-page "https://github.com/emacsfodder/move-text")
13745 (synopsis "Move current line or region with M-up or M-down")
13746 (description "This package provide functions to move the current line
13747 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
13748 region instead.")
13749 (license license:gpl3+)))
13750
13751 (define-public emacs-validate
13752 (package
13753 (name "emacs-validate")
13754 (version "1.0.5")
13755 (source (origin
13756 (method git-fetch)
13757 (uri (git-reference
13758 (url "https://github.com/Malabarba/validate.el")
13759 (commit version)))
13760 (file-name (git-file-name name version))
13761 (sha256
13762 (base32
13763 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
13764 (build-system emacs-build-system)
13765 (home-page "https://github.com/Malabarba/validate.el")
13766 (synopsis "Emacs library for scheme validation")
13767 (description "This Emacs library provides two functions that perform
13768 schema validation.")
13769 (license license:gpl3+)))
13770
13771 (define-public emacs-rainbow-blocks
13772 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
13773 (package
13774 (name "emacs-rainbow-blocks")
13775 (version (git-version "1.0.0" "1" commit))
13776 (source (origin
13777 (method git-fetch)
13778 (uri (git-reference
13779 (url "https://github.com/istib/rainbow-blocks.git")
13780 (commit commit)))
13781 (file-name (git-file-name name version))
13782 (sha256
13783 (base32
13784 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
13785 (build-system emacs-build-system)
13786 (home-page "https://github.com/istib/rainbow-blocks")
13787 (synopsis "Highlight sexp blocks")
13788 (description "Rainbow-blocks is an Emacs mode that highlights blocks
13789 made of parentheses, brackets, and braces according to their depth. Each
13790 successive level is highlighted in a different color. This makes it easy to
13791 orient yourself in the code, and tell which statements are at a given level.")
13792 (license license:gpl3+))))
13793
13794 (define-public emacs-hierarchy
13795 (package
13796 (name "emacs-hierarchy")
13797 (version "0.7.0")
13798 (source
13799 (origin
13800 (method git-fetch)
13801 (uri (git-reference
13802 (url "https://github.com/DamienCassou/hierarchy.git")
13803 (commit (string-append "v" version))))
13804 (file-name (git-file-name name version))
13805 (sha256
13806 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
13807 (build-system emacs-build-system)
13808 (native-inputs
13809 `(("emacs-buttercup" ,emacs-buttercup)))
13810 (arguments
13811 `(#:tests? #t
13812 #:test-command '("buttercup" "-L" ".")))
13813 (home-page "https://github.com/DamienCassou/hierarchy")
13814 (synopsis "Library to create and display hierarchy structures")
13815 (description "This package provides an Emacs library to create, query,
13816 navigate and display hierarchy structures.")
13817 (license license:gpl3+)))
13818
13819 (define-public emacs-tree-mode
13820 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
13821 (revision "1"))
13822 (package
13823 (name "emacs-tree-mode")
13824 (version (string-append "0.0.1" "-" revision "."
13825 (string-take commit 7)))
13826 (source
13827 (origin
13828 (method git-fetch)
13829 (uri (git-reference
13830 (url "https://github.com/emacsorphanage/tree-mode.git")
13831 (commit commit)))
13832 (file-name (git-file-name name version))
13833 (sha256
13834 (base32
13835 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
13836 (build-system emacs-build-system)
13837 (home-page "https://github.com/emacsorphanage/tree-mode")
13838 (synopsis "Emacs mode to manage tree widgets")
13839 (description
13840 "This package provides an Emacs library to manage tree widgets.")
13841 (license license:gpl3+))))
13842
13843 (define-public emacs-md4rd
13844 (package
13845 (name "emacs-md4rd")
13846 (version "0.3.1")
13847 (source (origin
13848 (method git-fetch)
13849 (uri (git-reference
13850 (url "https://github.com/ahungry/md4rd.git")
13851 (commit version)))
13852 (file-name (git-file-name name version))
13853 (sha256
13854 (base32
13855 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
13856 (propagated-inputs
13857 `(("emacs-hierarchy" ,emacs-hierarchy)
13858 ("emacs-request" ,emacs-request)
13859 ("emacs-dash" ,emacs-dash)
13860 ("emacs-s" ,emacs-s)
13861 ("emacs-tree-mode" ,emacs-tree-mode)))
13862 (build-system emacs-build-system)
13863 (home-page "https://github.com/ahungry/md4rd")
13864 (synopsis "Emacs Mode for Reddit")
13865 (description
13866 "This package allows reading Reddit from within Emacs interactively.")
13867 (license license:gpl3+)))
13868
13869 (define-public emacs-pulseaudio-control
13870 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
13871 (revision "3"))
13872 (package
13873 (name "emacs-pulseaudio-control")
13874 (version (git-version "0.0.1" revision commit))
13875 (source
13876 (origin
13877 (method git-fetch)
13878 (uri (git-reference
13879 (url "https://github.com/flexibeast/pulseaudio-control.git")
13880 (commit commit)))
13881 (file-name (git-file-name name version))
13882 (sha256
13883 (base32
13884 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
13885 (build-system emacs-build-system)
13886 (arguments
13887 '(#:phases (modify-phases %standard-phases
13888 (add-after 'unpack 'patch-file-name
13889 (lambda* (#:key inputs #:allow-other-keys)
13890 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
13891 (chmod "pulseaudio-control.el" #o600)
13892 (emacs-substitute-variables "pulseaudio-control.el"
13893 ("pulseaudio-control-pactl-path"
13894 (string-append pulseaudio "/bin/pactl")))
13895 #t))))))
13896 (inputs `(("pulseaudio" ,pulseaudio)))
13897 (home-page "https://github.com/flexibeast/pulseaudio-control")
13898 (synopsis "Control @code{pulseaudio} from Emacs")
13899 (description
13900 "This package allows controlling @code{pulseaudio} from Emacs.")
13901 (license license:gpl3+))))
13902
13903 (define-public emacs-datetime
13904 (package
13905 (name "emacs-datetime")
13906 (version "0.3")
13907 (source
13908 (origin
13909 (method git-fetch)
13910 (uri (git-reference
13911 (url "https://github.com/doublep/datetime.git")
13912 (commit version)))
13913 (file-name (git-file-name name version))
13914 (sha256
13915 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
13916 (build-system emacs-build-system)
13917 (home-page "https://github.com/doublep/datetime/")
13918 (synopsis "Library to work with dates in Emacs")
13919 (description "Parsing, formatting, matching and recoding
13920 timestamps and date-time format strings library for Emacs.")
13921 (license license:gpl3+)))
13922
13923 (define-public emacs-org-mind-map
13924 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
13925 (revision "1"))
13926 (package
13927 (name "emacs-org-mind-map")
13928 (version (string-append "0.0.1" "-" revision "."
13929 (string-take commit 7)))
13930 (source
13931 (origin
13932 (method git-fetch)
13933 (uri (git-reference
13934 (url "https://github.com/theodorewiles/org-mind-map.git")
13935 (commit commit)))
13936 (file-name (git-file-name name version))
13937 (sha256
13938 (base32
13939 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
13940 (propagated-inputs
13941 `(("emacs-dash" ,emacs-dash)))
13942 (build-system emacs-build-system)
13943 (home-page "https://github.com/theodorewiles/org-mind-map")
13944 (synopsis "Create Graphviz directed graphs from Org files")
13945 (description
13946 "This package creates Graphviz directed graphs from Org files.")
13947 (license license:gpl3+))))
13948
13949 (define-public emacs-npm-mode
13950 (package
13951 (name "emacs-npm-mode")
13952 (version "0.6.0")
13953 (source
13954 (origin
13955 (method git-fetch)
13956 (uri (git-reference
13957 (url "https://github.com/mojochao/npm-mode.git")
13958 (commit version)))
13959 (file-name (git-file-name name version))
13960 (sha256
13961 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
13962 (build-system emacs-build-system)
13963 (home-page "https://github.com/mojochao/npm-mode")
13964 (synopsis "Minor mode for working with @code{npm} projects")
13965 (description
13966 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
13967 (license license:gpl3+)))
13968
13969 (define-public emacs-seq
13970 (package
13971 (name "emacs-seq")
13972 (version "2.20")
13973 (source
13974 (origin
13975 (method url-fetch)
13976 (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar"))
13977 (sha256
13978 (base32
13979 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
13980 (build-system emacs-build-system)
13981 (home-page "https://elpa.gnu.org/packages/seq.html")
13982 (synopsis "Sequence manipulation functions")
13983 (description "Sequence-manipulation functions that complement basic
13984 functions provided by @file{subr.el}.")
13985 (license license:gpl3+)))
13986
13987 (define-public emacs-itail
13988 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
13989 (revision "1"))
13990 (package
13991 (name "emacs-itail")
13992 (version (string-append "0.0.1" "-" revision "."
13993 (string-take commit 7)))
13994 (source
13995 (origin
13996 (method git-fetch)
13997 (uri (git-reference
13998 (url "https://github.com/re5et/itail.git")
13999 (commit commit)))
14000 (file-name (git-file-name name version))
14001 (sha256
14002 (base32
14003 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
14004 (build-system emacs-build-system)
14005 (home-page "https://github.com/re5et/itail")
14006 (synopsis "Interactive @code{tail} Emacs mode")
14007 (description "@code{itail} provides interactive @code{tail} mode
14008 that allows you to filter the tail with unix pipes and highlight the
14009 contents of the tailed file. Works locally or on remote files using
14010 tramp.")
14011 (license license:gpl3+))))
14012
14013 (define-public emacs-loop
14014 (package
14015 (name "emacs-loop")
14016 (version "1.3")
14017 (source
14018 (origin
14019 (method git-fetch)
14020 (uri (git-reference
14021 (url "https://github.com/Wilfred/loop.el.git")
14022 (commit version)))
14023 (file-name (git-file-name name version))
14024 (sha256
14025 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
14026 (build-system emacs-build-system)
14027 (native-inputs
14028 `(("emacs-ert-runner" ,emacs-ert-runner)
14029 ("emacs-undercover" ,emacs-undercover)))
14030 (arguments
14031 `(#:tests? #t
14032 #:test-command '("ert-runner")))
14033 (home-page "https://github.com/Wilfred/loop.el")
14034 (synopsis "Imperative loop structures for Emacs")
14035 (description "Loop structures familiar to users of other languages. This
14036 library adds a selection of popular loop structures as well as break and
14037 continue.")
14038 (license license:gpl3+)))
14039
14040 (define-public emacs-elisp-refs
14041 (package
14042 (name "emacs-elisp-refs")
14043 (version "1.3")
14044 (source
14045 (origin
14046 (method git-fetch)
14047 (uri (git-reference
14048 (url "https://github.com/Wilfred/elisp-refs.git")
14049 (commit version)))
14050 (file-name (git-file-name name version))
14051 (sha256
14052 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
14053 (build-system emacs-build-system)
14054 (propagated-inputs
14055 `(("emacs-dash" ,emacs-dash)
14056 ("emacs-f" ,emacs-f)
14057 ("emacs-list-utils" ,emacs-list-utils)
14058 ("emacs-loop" ,emacs-loop)
14059 ("emacs-s" ,emacs-s)
14060 ("emacs-shut-up" ,emacs-shut-up)))
14061 (native-inputs
14062 `(("emacs-ert-runner" ,emacs-ert-runner)
14063 ("emacs-undercover" ,emacs-undercover)))
14064 (arguments
14065 `(#:tests? #t
14066 #:test-command '("ert-runner")))
14067 (home-page "https://github.com/Wilfred/elisp-refs")
14068 (synopsis "Find callers of elisp functions or macros")
14069 (description "Find references to functions, macros or variables. Unlike a
14070 dumb text search, @code{elisp-refs} actually parses the code, so it's never
14071 confused by comments or @code{foo-bar} matching @code{foo}.")
14072 (license license:gpl3+)))
14073
14074 (define-public emacs-crux
14075 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
14076 (revision "2"))
14077 (package
14078 (name "emacs-crux")
14079 (version (git-version "0.3.0" revision commit))
14080 (source
14081 (origin
14082 (method git-fetch)
14083 (uri (git-reference
14084 (url "https://github.com/bbatsov/crux.git")
14085 (commit commit)))
14086 (file-name (git-file-name name version))
14087 (sha256
14088 (base32
14089 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
14090 (build-system emacs-build-system)
14091 (home-page "https://github.com/bbatsov/crux")
14092 (synopsis "Collection of useful functions for Emacs")
14093 (description
14094 "@code{crux} provides a collection of useful functions for Emacs.")
14095 (license license:gpl3+))))
14096
14097 (define-public emacs-edit-server
14098 (package
14099 (name "emacs-edit-server")
14100 (version "1.15")
14101 (source
14102 (origin
14103 (method git-fetch)
14104 (uri (git-reference
14105 (url "https://github.com/stsquad/emacs_chrome.git")
14106 (commit (string-append "v" version))))
14107 (file-name (git-file-name name version))
14108 (sha256
14109 (base32 "0xxby3ghs38i1l7kag12rnzlzcg9297pm8k6kqq3aqzsg9d2950y"))))
14110 (build-system emacs-build-system)
14111 (arguments
14112 `(#:phases
14113 (modify-phases %standard-phases
14114 (add-after 'unpack 'chdir-elisp
14115 ;; Elisp directory is not in root of the source.
14116 (lambda _
14117 (chdir "servers"))))))
14118 (home-page "https://github.com/stsquad/emacs_chrome")
14119 (synopsis "Server that responds to edit requests from Chromium")
14120 (description
14121 "This package provides an edit server to respond to requests from Emacs.")
14122 (license license:gpl3+)))
14123
14124 (define-public emacs-m-buffer-el
14125 (package
14126 (name "emacs-m-buffer-el")
14127 (version "0.15")
14128 (source
14129 (origin
14130 (method git-fetch)
14131 (uri (git-reference
14132 (url "https://github.com/phillord/m-buffer-el")
14133 (commit (string-append "v" version))))
14134 (file-name (git-file-name name version))
14135 (sha256
14136 (base32
14137 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
14138 (arguments
14139 `(#:phases
14140 (modify-phases %standard-phases
14141 (add-before 'install 'check
14142 (lambda* (#:key inputs #:allow-other-keys)
14143 (invoke "emacs" "--batch" "-L" "."
14144 "-l" "test/m-buffer-test.el"
14145 "-l" "test/m-buffer-at-test.el"
14146 "-f" "ert-run-tests-batch-and-exit"))))))
14147 (build-system emacs-build-system)
14148 (home-page "https://github.com/phillord/m-buffer-el")
14149 (synopsis "List oriented buffer operations for Emacs")
14150 (description "@code{m-buffer} provides a set of list-orientated functions
14151 for operating over the contents of Emacs buffers.")
14152 (license license:gpl3+)))
14153
14154 (define-public emacs-let-alist
14155 (package
14156 (name "emacs-let-alist")
14157 (version "1.0.6")
14158 (source
14159 (origin
14160 (method url-fetch)
14161 (uri (string-append
14162 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
14163 (sha256
14164 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
14165 (build-system emacs-build-system)
14166 (home-page "https://elpa.gnu.org/packages/let-alist.html")
14167 (synopsis "Easily let-bind values of an assoc-list by their names")
14168 (description "This package offers a single macro, @code{let-alist}. This
14169 macro takes a first argument (whose value must be an alist) and a body.")
14170 (license license:gpl3+)))
14171
14172 (define-public emacs-esup
14173 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
14174 (revision "1"))
14175 (package
14176 (name "emacs-esup")
14177 (version (string-append "0.6" "-" revision "."
14178 (string-take commit 7)))
14179 (source
14180 (origin
14181 (method git-fetch)
14182 (uri (git-reference
14183 (url "https://github.com/jschaf/esup.git")
14184 (commit commit)))
14185 (file-name (git-file-name name version))
14186 (sha256
14187 (base32
14188 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
14189 ;; TODO: Add tests
14190 (build-system emacs-build-system)
14191 (home-page "https://github.com/jschaf/esup")
14192 (synopsis "Emacs start up profiler")
14193 (description "Benchmark Emacs Startup time without ever leaving
14194 your Emacs.")
14195 (license license:gpl2+))))
14196
14197 (define-public emacs-restart-emacs
14198 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
14199 (revision "1"))
14200 (package
14201 (name "emacs-restart-emacs")
14202 (version (git-version "0.1.1" revision commit))
14203 (source
14204 (origin
14205 (method git-fetch)
14206 (uri (git-reference
14207 (url "https://github.com/iqbalansari/restart-emacs.git")
14208 (commit commit)))
14209 (file-name (git-file-name name version))
14210 (sha256
14211 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
14212 (build-system emacs-build-system)
14213 (home-page "https://github.com/iqbalansari/restart-emacs")
14214 (synopsis "Restart Emacs from within Emacs")
14215 (description "This package provides a simple command to restart Emacs from
14216 within Emacs.")
14217 (license license:gpl3+))))
14218
14219 (define-public emacs-sourcemap
14220 (package
14221 (name "emacs-sourcemap")
14222 (version "0.03")
14223 (source
14224 (origin
14225 (method git-fetch)
14226 (uri (git-reference
14227 (url "https://github.com/syohex/emacs-sourcemap.git")
14228 (commit version)))
14229 (file-name (git-file-name name version))
14230 (sha256
14231 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
14232 (build-system emacs-build-system)
14233 (home-page "https://github.com/syohex/emacs-sourcemap")
14234 (synopsis "Sourcemap parser")
14235 (description "Sourcemap parser")
14236 (license license:gpl3+)))
14237
14238 (define-public emacs-macrostep
14239 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
14240 (package
14241 (name "emacs-macrostep")
14242 (version (git-version "0.9" "1" commit))
14243 (source (origin
14244 (method git-fetch)
14245 (uri (git-reference
14246 (url "https://github.com/joddie/macrostep.git")
14247 (commit commit)))
14248 (file-name (git-file-name name version))
14249 (sha256
14250 (base32
14251 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
14252 (build-system emacs-build-system)
14253 (arguments
14254 '(#:phases
14255 (modify-phases %standard-phases
14256 (add-before 'check 'remove-test
14257 ;; Fails because of requirement ‘/bin/sh’.
14258 (lambda _
14259 (let ((file "macrostep-test.el"))
14260 (chmod file #o644)
14261 (emacs-batch-edit-file file
14262 `(progn (progn (goto-char (point-min))
14263 (re-search-forward
14264 "(ert-deftest macrostep-expand-c-macros")
14265 (beginning-of-line)
14266 (kill-sexp))
14267 (basic-save-buffer))))))
14268 (add-before 'install 'check
14269 (lambda _
14270 (invoke "emacs" "--batch" "-L" "."
14271 "-l" "macrostep-test.el"
14272 "-f" "ert-run-tests-batch-and-exit"))))))
14273 (home-page "https://github.com/joddie/macrostep")
14274 (synopsis "Interactive macro-expander for Emacs")
14275 (description "@code{macrostep} is an Emacs minor mode for interactively
14276 stepping through the expansion of macros in Emacs Lisp source code. It lets
14277 you see exactly what happens at each step of the expansion process by
14278 pretty-printing the expanded forms inline in the source buffer, which is
14279 temporarily read-only while macro expansions are visible. You can expand and
14280 collapse macro forms one step at a time, and evaluate or instrument the
14281 expansions for debugging with Edebug as normal (but see “Bugs and known
14282 limitations”, below). Single-stepping through the expansion is particularly
14283 useful for debugging macros that expand into another macro form. These can be
14284 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
14285 until the top-level form is no longer a macro call.")
14286 (license license:gpl3+))))
14287
14288 (define-public emacs-parent-mode
14289 (package
14290 (name "emacs-parent-mode")
14291 (version "2.3")
14292 (source
14293 (origin
14294 (method git-fetch)
14295 (uri (git-reference
14296 (url "https://github.com/Fanael/parent-mode.git")
14297 (commit version)))
14298 (file-name (git-file-name name version))
14299 (sha256
14300 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
14301 (build-system emacs-build-system)
14302 (home-page "https://github.com/Fanael/parent-mode")
14303 (synopsis "Get major mode's parent modes")
14304 (description "Get major mode's parent modes")
14305 (license license:gpl3+)))
14306
14307 (define-public emacs-lacarte
14308 (package
14309 (name "emacs-lacarte")
14310 (version "0.1")
14311 (source (origin
14312 (method url-fetch)
14313 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
14314 (sha256
14315 (base32
14316 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
14317 (build-system emacs-build-system)
14318 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
14319 (synopsis "Execute menu items as commands, with completion")
14320 (description "Execute menu items as commands, with completion.")
14321 (license license:gpl3)))
14322
14323 (define-public emacs-isearch-prop
14324 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
14325 (revision "2"))
14326 (package
14327 (name "emacs-isearch-prop")
14328 (version (git-version "0" revision commit))
14329 (source
14330 (origin
14331 (method git-fetch)
14332 (uri (git-reference
14333 (url "https://github.com/emacsmirror/isearch-prop.git")
14334 (commit commit)))
14335 (file-name (git-file-name name version))
14336 (sha256
14337 (base32
14338 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
14339 (build-system emacs-build-system)
14340 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
14341 (synopsis "Extensions to @code{isearch.el}")
14342 (description "The Emacs library @code{isearch-prop.el} lets you search within
14343 contexts. You can limit incremental search to a set of zones of
14344 buffer text, search contexts that in effect constitute a multi-region.
14345 These zones can be defined in various ways, including some ways
14346 provided specially by this library.")
14347 (license license:gpl3+))))
14348
14349 (define-public emacs-company-lua
14350 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
14351 (revision "2"))
14352 (package
14353 (name "emacs-company-lua")
14354 (version (git-version "0.1" "2" commit))
14355 (source
14356 (origin
14357 (method git-fetch)
14358 (uri (git-reference
14359 (url "https://github.com/ptrv/company-lua.git")
14360 (commit commit)))
14361 (file-name (git-file-name name version))
14362 (sha256
14363 (base32
14364 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
14365 (build-system emacs-build-system)
14366 (propagated-inputs
14367 `(("emacs-company" ,emacs-company)
14368 ("emacs-s" ,emacs-s)
14369 ("emacs-f" ,emacs-f)
14370 ("emacs-lua-mode" ,emacs-lua-mode)))
14371 (arguments
14372 `(#:include (cons* "^lua\\/" %default-include)))
14373 (home-page "https://github.com/ptrv/company-lua")
14374 (synopsis "Company backend for Lua")
14375 (description
14376 "This package provides Company backend for Lua programming language.")
14377 (license license:gpl3+))))
14378
14379 (define-public emacs-beginend
14380 (package
14381 (name "emacs-beginend")
14382 (version "2.1.0")
14383 (source
14384 (origin
14385 (method git-fetch)
14386 (uri (git-reference
14387 (url "https://github.com/DamienCassou/beginend.git")
14388 (commit (string-append "v" version))))
14389 (file-name (git-file-name name version))
14390 (sha256
14391 (base32 "1ic5z3qb5sc3mjrjdlg0rqm2l59a43gwnakagns4cilln2a3xdg8"))))
14392 ;; TODO: Run tests.
14393 (build-system emacs-build-system)
14394 (inputs
14395 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
14396 (home-page "https://github.com/DamienCassou/beginend")
14397 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
14398 (description "@code{beginend} redefines @code{M-<} and @code{M->}
14399 keybindings for Emacs modes so that point moves to meaningful
14400 locations. Redefined keys are still accessible by pressing the same
14401 key again.")
14402 (license license:gpl3+)))
14403
14404 (define-public emacs-mbsync
14405 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
14406 (revision "4"))
14407 (package
14408 (name "emacs-mbsync")
14409 (version (git-version "0.1.2" revision commit))
14410 (source
14411 (origin
14412 (method git-fetch)
14413 (uri (git-reference
14414 (url "https://github.com/dimitri/mbsync-el.git")
14415 (commit commit)))
14416 (file-name (git-file-name name version))
14417 (sha256
14418 (base32
14419 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
14420 (build-system emacs-build-system)
14421 (home-page "https://github.com/dimitri/mbsync-el")
14422 (synopsis "Interface to mbsync for Emacs")
14423 (description "This package calls @code{mbsync} from
14424 within Emacs.")
14425 (license license:gpl3+))))
14426
14427 (define-public emacs-ibuffer-projectile
14428 (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
14429 (revision "2"))
14430 (package
14431 (name "emacs-ibuffer-projectile")
14432 (version (git-version "0.2" revision commit))
14433 (source
14434 (origin
14435 (method git-fetch)
14436 (uri (git-reference
14437 (url "https://github.com/purcell/ibuffer-projectile.git")
14438 (commit commit)))
14439 (file-name (git-file-name name version))
14440 (sha256
14441 (base32
14442 "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
14443 (build-system emacs-build-system)
14444 (propagated-inputs
14445 `(("emacs-projectile" ,emacs-projectile)))
14446 (home-page "https://github.com/purcell/ibuffer-projectile")
14447 (synopsis "Group ibuffer's list by projectile root")
14448 (description "Adds functionality to Emacs @code{ibuffer} for
14449 grouping buffers by their projectile root directory.")
14450 (license license:gpl3+))))
14451
14452 (define-public emacs-elm-mode
14453 (package
14454 (name "emacs-elm-mode")
14455 (version "0.21.0")
14456 (source
14457 (origin
14458 (method git-fetch)
14459 (uri
14460 (git-reference
14461 (url "https://github.com/jcollard/elm-mode")
14462 (commit (string-append "v" version))))
14463 (file-name (git-file-name name version))
14464 (sha256
14465 (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd"))))
14466 (propagated-inputs
14467 `(("emacs-dash" ,emacs-dash)
14468 ("emacs-f" ,emacs-f)
14469 ("emacs-reformatter" ,emacs-reformatter)
14470 ("emacs-s" ,emacs-s)))
14471 (build-system emacs-build-system)
14472 (home-page "https://github.com/jcollard/elm-mode")
14473 (synopsis "Emacs major mode for editing Elm source code")
14474 (description
14475 "This package provides a major mode for editing Elm source code, and
14476 working with common core and third-party Elm tools. Its features are:
14477
14478 @itemize
14479 @item Syntax highlighting
14480 @item Intelligent indentation
14481 @item Integration with elm-make
14482 @item Integration with elm-repl
14483 @item Integration with elm-reactor
14484 @item Integration with elm-package
14485 @item Integration with elm-oracle
14486 @item Integration with elm-format
14487 @item Integration with elm-test
14488 @end itemize")
14489 (license license:gpl3+)))
14490
14491 (define-public emacs-helm-mode-manager
14492 (package
14493 (name "emacs-helm-mode-manager")
14494 (version "1.0.0")
14495 (source
14496 (origin
14497 (method git-fetch)
14498 (uri (git-reference
14499 (url "https://github.com/istib/helm-mode-manager")
14500 (commit version)))
14501 (file-name (git-file-name name version))
14502 (sha256
14503 (base32
14504 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
14505 (build-system emacs-build-system)
14506 (propagated-inputs
14507 `(("emacs-helm" ,emacs-helm)))
14508 (home-page "https://github.com/istib/helm-mode-manager/")
14509 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
14510 (description "This package provides a Helm interface for toggling Emacs
14511 major or minor mode.
14512
14513 @itemize
14514 @item @code{helm-switch-major-mode} list of all major modes
14515 @item @code{helm-enable-minor-mode} list of all inactive minor modes
14516 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
14517 @end itemize\n
14518
14519 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
14520 documentation.")
14521 (license license:gpl3+)))
14522
14523 (define-public emacs-hy-mode
14524 (package
14525 (name "emacs-hy-mode")
14526 (version "1.0.3")
14527 (source
14528 (origin
14529 (method git-fetch)
14530 (uri (git-reference
14531 (url "https://github.com/hylang/hy-mode.git")
14532 (commit (string-append "v" version))))
14533 (file-name (git-file-name name version))
14534 (sha256
14535 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
14536 (build-system emacs-build-system)
14537 (propagated-inputs
14538 `(("emacs-dash" ,emacs-dash)
14539 ("emacs-s" ,emacs-s)))
14540 (home-page "https://github.com/hylang/hy-mode")
14541 (synopsis "Major mode for Hylang")
14542 (description "This package provides a major mode for Hylang.")
14543 (license license:gpl3+)))
14544
14545 (define-public emacs-web-beautify
14546 (package
14547 (name "emacs-web-beautify")
14548 (version "0.3.2")
14549 (source
14550 (origin
14551 (method git-fetch)
14552 (uri (git-reference
14553 (url "https://github.com/yasuyk/web-beautify.git")
14554 (commit version)))
14555 (file-name (git-file-name name version))
14556 (sha256
14557 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
14558 (build-system emacs-build-system)
14559 (home-page "https://github.com/yasuyk/web-beautify")
14560 (synopsis "Format HTML, CSS and JavaScript, JSON")
14561 (description "This package provides an Emacs functions to format HTML,
14562 CSS, JavaScript, JSON.")
14563 (license license:gpl3+)))
14564
14565 (define-public emacs-helm-shell-history
14566 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
14567 (package
14568 (name "emacs-helm-shell-history")
14569 (version (git-version "0.1" "1" commit))
14570 (source
14571 (origin
14572 (method git-fetch)
14573 (uri (git-reference
14574 (url "https://github.com/yuutayamada/helm-shell-history.git")
14575 (commit commit)))
14576 (file-name (git-file-name name version))
14577 (sha256
14578 (base32
14579 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
14580 (build-system emacs-build-system)
14581 (arguments
14582 '(#:phases
14583 (modify-phases %standard-phases
14584 (add-before 'check 'patch-helm-shell-history-file
14585 (lambda _
14586 (let ((file "helm-shell-history.el"))
14587 (chmod file #o644)
14588 (emacs-substitute-sexps file
14589 ("(defvar helm-shell-history-file"
14590 `(expand-file-name "~/.bash_history"))))
14591 #t)))))
14592 (propagated-inputs
14593 `(("emacs-helm" ,emacs-helm)))
14594 (home-page "https://github.com/yuutayamada/helm-shell-history")
14595 (synopsis "Find shell history with Emacs Helm")
14596 (description "This package provides an Emacs Helm interface to search
14597 throw a shell history.")
14598 (license license:gpl3+))))
14599
14600 (define-public emacs-discover-my-major
14601 (package
14602 (name "emacs-discover-my-major")
14603 (version "1.0")
14604 (source
14605 (origin
14606 (method git-fetch)
14607 (uri (git-reference
14608 (url "https://framagit.org/steckerhalter/discover-my-major.git/")
14609 (commit version)))
14610 (file-name (git-file-name name version))
14611 (sha256
14612 (base32
14613 "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4"))))
14614 (build-system emacs-build-system)
14615 (propagated-inputs
14616 `(("emacs-makey" ,emacs-makey)))
14617 (home-page "https://framagit.org/steckerhalter/discover-my-major/")
14618 (synopsis "Discover key bindings for the current Emacs major mode")
14619 (description "This package discovers key bindings and
14620 their meaning for the current Emacs major-mode.")
14621 (license license:gpl3+)))
14622
14623 (define-public emacs-org-ref
14624 ;; No release since June 2017.
14625 (let ((commit "5bb9be2232db72b04754d7e4c02a3976ad422f6f")
14626 (revision "2"))
14627 (package
14628 (name "emacs-org-ref")
14629 (version (git-version "1.1.1" revision commit))
14630 (source
14631 (origin
14632 (method git-fetch)
14633 (uri (git-reference
14634 (url "https://github.com/jkitchin/org-ref.git")
14635 (commit commit)))
14636 (file-name (git-file-name name version))
14637 (sha256
14638 (base32 "15gcvbfj19kyv4nxa632b261dwhb26m99plq230qhv9ssfwfgxbx"))))
14639 (build-system emacs-build-system)
14640 (propagated-inputs
14641 `(("emacs-dash" ,emacs-dash)
14642 ("emacs-f" ,emacs-f)
14643 ("emacs-helm" ,emacs-helm)
14644 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
14645 ("emacs-htmlize" ,emacs-htmlize)
14646 ("emacs-hydra" ,emacs-hydra)
14647 ("emacs-ivy" ,emacs-ivy)
14648 ("emacs-key-chord" ,emacs-key-chord)
14649 ("emacs-pdf-tools" ,emacs-pdf-tools)
14650 ("emacs-s" ,emacs-s)))
14651 (home-page "https://github.com/jkitchin/org-ref")
14652 (synopsis "Citations, cross-references and bibliographies in Org mode")
14653 (description
14654 "Org Ref is an Emacs library that provides rich support for citations,
14655 labels and cross-references in Org mode.
14656
14657 The basic idea of Org Ref is that it defines a convenient interface to insert
14658 citations from a reference database (e.g., from BibTeX files), and a set of
14659 functional Org links for citations, cross-references and labels that export
14660 properly to LaTeX, and that provide clickable functionality to the user. Org
14661 Ref interfaces with Helm BibTeX to facilitate citation entry, and it can also
14662 use RefTeX.
14663
14664 It also provides a fairly large number of utilities for finding bad citations,
14665 extracting BibTeX entries from citations in an Org file, and functions to
14666 create and modify BibTeX entries from a variety of sources, most notably from
14667 a DOI.
14668
14669 Org Ref is especially suitable for Org documents destined for LaTeX export and
14670 scientific publication. Org Ref is also useful for research documents and
14671 notes.")
14672 (license license:gpl3+))))
14673
14674 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
14675 (define-public emacs-org-reveal
14676 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
14677 (package
14678 (name "emacs-org-reveal")
14679 (version (git-version "0.1" "3" commit))
14680 (source (origin
14681 (method git-fetch)
14682 (uri (git-reference
14683 (url "https://github.com/yjwen/org-reveal.git")
14684 (commit commit)))
14685 (file-name (git-file-name name version))
14686 (sha256
14687 (base32
14688 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
14689 (build-system emacs-build-system)
14690 (home-page "https://github.com/yjwen/org-reveal")
14691 (synopsis "Org and Reveal.js powered HTML presentation tool")
14692 (description "Org-Reveal is a @command{org-mode} extension that allows
14693 to create beautiful presentations (slides) with 3D effects from simple but
14694 powerful Org contents.")
14695 (license license:gpl3+))))
14696
14697 (define-public emacs-org-re-reveal
14698 (package
14699 (name "emacs-org-re-reveal")
14700 (version "2.12.2")
14701 (source (origin
14702 (method git-fetch)
14703 (uri (git-reference
14704 (url "https://gitlab.com/oer/org-re-reveal.git")
14705 (commit version)))
14706 (file-name (git-file-name name version))
14707 (sha256
14708 (base32
14709 "19nz77f2r49hqavz50ri222prhrd5890vhvc7jfazbascbcdjbqv"))))
14710 (build-system emacs-build-system)
14711 (propagated-inputs
14712 `(("emacs-htmlize" ,emacs-htmlize)
14713 ("emacs-org" ,emacs-org)))
14714 (home-page "https://gitlab.com/oer/org-re-reveal")
14715 (synopsis "Build HTML presentations with reveal.js from Org source files")
14716 (description "This project started as fork of org-reveal. It provides an
14717 export back-end for HTML presentations with reveal.js from Org mode source
14718 files.")
14719 (license license:gpl3+)))
14720
14721 (define-public emacs-add-hooks
14722 (package
14723 (name "emacs-add-hooks")
14724 (version "3.1.1")
14725 (source
14726 (origin
14727 (method git-fetch)
14728 (uri (git-reference
14729 (url "https://github.com/nickmccurdy/add-hooks.git")
14730 (commit version)))
14731 (file-name (git-file-name name version))
14732 (sha256
14733 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
14734 (build-system emacs-build-system)
14735 (home-page "https://github.com/nickmccurdy/add-hooks/")
14736 (synopsis "Emacs function for setting multiple hooks")
14737 (description "This package provides a @code{add-hooks} function tidies up
14738 duplicate hook and function names further into a single declarative call.")
14739 (license license:gpl3+)))
14740
14741 (define-public emacs-fancy-narrow
14742 (package
14743 (name "emacs-fancy-narrow")
14744 (version "0.9.5")
14745 (source
14746 (origin
14747 (method git-fetch)
14748 (uri (git-reference
14749 (url "https://github.com/Malabarba/fancy-narrow.git")
14750 (commit version)))
14751 (file-name (git-file-name name version))
14752 (sha256
14753 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
14754 (build-system emacs-build-system)
14755 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
14756 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
14757 (description
14758 "Unlike @code{narrow-to-region}, which completely hides text outside
14759 the narrowed region, this package simply de-emphasizes the text, makes it
14760 read-only, and makes it unreachable. This leads to a much more natural
14761 feeling where the region stays static (instead of being brutally moved to a
14762 blank slate) and is clearly highlighted with respect to the rest of the
14763 buffer.")
14764 (license license:gpl2+)))
14765
14766 (define-public emacs-know-your-http-well
14767 (package
14768 (name "emacs-know-your-http-well")
14769 (version "0.5.0")
14770 (source
14771 (origin
14772 (method git-fetch)
14773 (uri (git-reference
14774 (url "https://github.com/for-GET/know-your-http-well.git")
14775 (commit (string-append "v" version))))
14776 (file-name (git-file-name name version))
14777 (sha256
14778 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
14779 (arguments
14780 `(#:phases
14781 (modify-phases %standard-phases
14782 (add-after 'unpack 'install-json-files
14783 (lambda* (#:key outputs #:allow-other-keys)
14784 (for-each (lambda (directory)
14785 (copy-recursively directory
14786 (string-append
14787 (assoc-ref outputs "out")
14788 directory)))
14789 '("js" "json"))))
14790 (add-after 'unpack 'chdir-elisp
14791 ;; Elisp directory is not in root of the source.
14792 (lambda _
14793 (chdir "emacs"))))))
14794 (build-system emacs-build-system)
14795 (home-page "https://github.com/for-GET/know-your-http-well")
14796 (synopsis "Meaning of HTTP headers codes")
14797 (description "Meaning of HTTP headers codes.")
14798 (license license:gpl3+)))
14799
14800 (define-public emacs-navi-mode
14801 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
14802 (package
14803 (name "emacs-navi-mode")
14804 (version (git-version "2.0" "1" commit))
14805 (source
14806 (origin
14807 (method git-fetch)
14808 (uri (git-reference
14809 (url "https://github.com/alphapapa/navi.git")
14810 (commit commit)))
14811 (file-name (git-file-name name version))
14812 (sha256
14813 (base32
14814 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
14815 (build-system emacs-build-system)
14816 (propagated-inputs
14817 `(("emacs-outshine" ,emacs-outshine)
14818 ("emacs-outorg" ,emacs-outorg)))
14819 (home-page "https://github.com/alphapapa/navi")
14820 (synopsis "Emacs major-mode for easy buffer-navigation")
14821 (description
14822 "This package provides an Emacs major-mode for easy buffer-navigation")
14823 (license license:gpl3+))))
14824
14825 (define-public emacs-download-region
14826 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
14827 (revision "1"))
14828 (package
14829 (name "emacs-download-region")
14830 (version (string-append "0.0.1" "-" revision "."
14831 (string-take commit 7)))
14832 (source
14833 (origin
14834 (method git-fetch)
14835 (uri (git-reference
14836 (url "https://github.com/zk-phi/download-region.git")
14837 (commit commit)))
14838 (file-name (git-file-name name version))
14839 (sha256
14840 (base32
14841 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
14842 (build-system emacs-build-system)
14843 (home-page "https://github.com/zk-phi/download-region")
14844 (synopsis "In buffer download manager for Emacs")
14845 (description "@code{download-region} provides in buffer
14846 downloading manager for Emacs.")
14847 (license license:gpl3+))))
14848
14849 (define-public emacs-helpful
14850 (package
14851 (name "emacs-helpful")
14852 (version "0.17")
14853 (source
14854 (origin
14855 (method git-fetch)
14856 (uri (git-reference
14857 (url "https://github.com/Wilfred/helpful.git")
14858 (commit version)))
14859 (file-name (git-file-name name version))
14860 (sha256
14861 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
14862 (build-system emacs-build-system)
14863 (propagated-inputs
14864 `(("emacs-elisp-refs" ,emacs-elisp-refs)
14865 ("emacs-dash" ,emacs-dash)
14866 ("emacs-s" ,emacs-s)
14867 ("emacs-f" ,emacs-f)
14868 ("emacs-shut-up" ,emacs-shut-up)))
14869 (native-inputs
14870 `(("emacs-ert-runner" ,emacs-ert-runner)
14871 ("emacs-undercover" ,emacs-undercover)))
14872 (arguments
14873 `(#:tests? #t
14874 #:test-command '("ert-runner")))
14875 (home-page "https://github.com/Wilfred/helpful")
14876 (synopsis "More contextual information in Emacs help")
14877 (description "@code{helpful} is an alternative to the built-in Emacs help
14878 that provides much more contextual information.
14879
14880 @itemize
14881 @item Show the source code for interactively defined functions (unlike the
14882 built-in Help).
14883 @item Fall back to the raw sexp if no source is available.
14884 @item Show where a function is being called.
14885 @item Docstrings will Highlight the summary (the first sentence), include
14886 cross-references, hide superfluous puncuation.
14887 @item Show you the properties that have been applied to the current
14888 symbol. This provides visibility of features like edebug or byte-code
14889 optimisation.
14890 @item Provide a separate @code{helpful-command} function to view interactive
14891 functions.
14892 @item Display any keybindings that apply to interactive functions.
14893 @item Trace, disassemble functions from inside Helpful. This is discoverable
14894 and doesn't require memorisation of commands.
14895 @end itemize\n")
14896 (license license:gpl3+)))
14897
14898 (define-public emacs-logview
14899 (package
14900 (name "emacs-logview")
14901 (version "0.9")
14902 (source
14903 (origin
14904 (method git-fetch)
14905 (uri (git-reference
14906 (url "https://github.com/doublep/logview.git")
14907 (commit version)))
14908 (file-name (git-file-name name version))
14909 (sha256
14910 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
14911 (propagated-inputs
14912 `(("emacs-datetime" ,emacs-datetime)))
14913 (build-system emacs-build-system)
14914 (home-page "https://github.com/doublep/logview/")
14915 (synopsis "Emacs mode for viewing log files")
14916 (description "@code{logview} provides an Emacs mode to view log files.")
14917 (license license:gpl3+)))
14918
14919 (define-public emacs-suggest
14920 (package
14921 (name "emacs-suggest")
14922 (version "0.7")
14923 (home-page "https://github.com/Wilfred/suggest.el")
14924 (source
14925 (origin
14926 (method git-fetch)
14927 (uri (git-reference
14928 (url home-page)
14929 (commit version)))
14930 (file-name (git-file-name name version))
14931 (sha256
14932 (base32
14933 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
14934 (build-system emacs-build-system)
14935 (propagated-inputs
14936 `(("emacs-loop" ,emacs-loop)
14937 ("emacs-dash" ,emacs-dash)
14938 ("emacs-s" ,emacs-s)
14939 ("emacs-f" ,emacs-f)
14940 ("emacs-spinner" ,emacs-spinner)
14941 ("emacs-shut-up" ,emacs-shut-up)))
14942 (native-inputs
14943 `(("emacs-ert-runner" ,emacs-ert-runner)
14944 ("emacs-undercover" ,emacs-undercover)))
14945 (arguments
14946 `(#:tests? #t
14947 #:test-command '("ert-runner")))
14948 (synopsis "Suggest Elisp functions that give the output requested")
14949 (description "Suggest.el will find functions that give the output
14950 requested. It's a great way of exploring list, string and arithmetic
14951 functions.")
14952 (license license:gpl3+)))
14953
14954 (define-public emacs-benchmark-init
14955 (package
14956 (name "emacs-benchmark-init")
14957 (version "1.0")
14958 (source
14959 (origin
14960 (method git-fetch)
14961 (uri (git-reference
14962 (url "https://github.com/dholm/benchmark-init-el.git")
14963 (commit version)))
14964 (file-name (git-file-name name version))
14965 (sha256
14966 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
14967 (build-system emacs-build-system)
14968 (home-page "https://github.com/dholm/benchmark-init-el")
14969 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
14970 (description "@code{benchmark-init} provides a way to keep track of where
14971 time is being spent during Emacs startup in order to optimize startup time.")
14972 (license license:gpl3+)))
14973
14974 (define-public emacs-magit-gerrit
14975 (let ((version "0.3")
14976 (revision "1")
14977 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
14978 (package
14979 (name "emacs-magit-gerrit")
14980 (version (git-version version revision commit))
14981 (source (origin
14982 (method git-fetch)
14983 (uri (git-reference
14984 (url "https://github.com/terranpro/magit-gerrit.git")
14985 (commit commit)))
14986 (file-name (git-file-name name version))
14987 (sha256
14988 (base32
14989 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
14990 (build-system emacs-build-system)
14991 (propagated-inputs
14992 `(("emacs-magit" ,emacs-magit)))
14993 (home-page "https://github.com/terranpro/magit-gerrit")
14994 (synopsis "Magit extension for Gerrit")
14995 (description "This Magit extension provides integration with Gerrit,
14996 which makes it possible to conduct Gerrit code reviews directly from within
14997 Emacs.")
14998 (license license:gpl3+))))
14999
15000 (define-public emacs-magit-org-todos-el
15001 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
15002 (package
15003 (name "emacs-magit-org-todos-el")
15004 (version (git-version "0.1.1" "1" commit))
15005 (source
15006 (origin
15007 (method git-fetch)
15008 (uri (git-reference
15009 (url "https://github.com/danielma/magit-org-todos.el.git")
15010 (commit commit)))
15011 (file-name (git-file-name name version))
15012 (sha256
15013 (base32
15014 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
15015 (propagated-inputs
15016 `(("magit" ,emacs-magit)))
15017 (build-system emacs-build-system)
15018 (home-page "https://github.com/danielma/magit-org-todos.el")
15019 (synopsis "Get todo.org into Emacs Magit status")
15020 (description "This package allows you to get @file{todo.org} into your
15021 magit status.
15022
15023 If you have a @file{todo.org} file with @code{TODO} items in the root of your
15024 repository, @code{magit-org-todos} will create a section in your Magit status
15025 buffer with each of your todos.")
15026 (license license:gpl3+))))
15027
15028 (define-public emacs-vcsh
15029 (package
15030 (name "emacs-vcsh")
15031 (version "0.4.4")
15032 (source
15033 (origin
15034 (method git-fetch)
15035 (uri (git-reference
15036 (url "https://gitlab.com/stepnem/vcsh-el.git")
15037 (commit version)))
15038 (file-name (git-file-name name version))
15039 (sha256
15040 (base32 "183pffdiqb7qqmjq31wxl3fpv8qswqgg99gb716rddiyk15ysri7"))))
15041 (build-system emacs-build-system)
15042 (home-page "https://gitlab.com/stepnem/vcsh-el")
15043 (synopsis "Emacs VCSH integration")
15044 (description
15045 "This library provides basic ``enter'' functionality and a few
15046 convenience commands to initialize a @acronym{VCSH, Version Control System for
15047 $HOME} repository and add files to it. It can be used in conjunction with
15048 Magit.")
15049 (license license:public-domain)))
15050
15051 (define-public emacs-f3
15052 (package
15053 (name "emacs-f3")
15054 (version "0.1")
15055 (source
15056 (origin
15057 (method git-fetch)
15058 (uri (git-reference
15059 (url "https://github.com/cosmicexplorer/f3.git")
15060 (commit version)))
15061 (file-name (git-file-name name version))
15062 (sha256
15063 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
15064 (build-system emacs-build-system)
15065 (propagated-inputs
15066 `(("emacs-helm" ,emacs-helm)))
15067 (home-page "https://github.com/cosmicexplorer/f3")
15068 (synopsis "Fantastic File Finder for Emacs")
15069 (description
15070 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
15071 (license license:gpl3+)))
15072
15073 (define-public emacs-lice-el
15074 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
15075 (package
15076 (name "emacs-lice-el")
15077 (version (git-version "0.2" "1" commit))
15078 (source (origin
15079 (method git-fetch)
15080 (uri (git-reference
15081 (url "https://github.com/buzztaiki/lice-el.git")
15082 (commit commit)))
15083 (file-name (git-file-name name version))
15084 (sha256
15085 (base32
15086 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
15087 (build-system emacs-build-system)
15088 (home-page "https://github.com/buzztaiki/lice-el")
15089 (synopsis "License and header template for Emacs")
15090 (description "@code{lice.el} provides following features:
15091
15092 @itemize
15093 @item License template management.
15094 @item File header insertion.
15095 @end itemize\n")
15096 (license license:gpl3+))))
15097
15098 (define-public emacs-academic-phrases
15099 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
15100 (package
15101 (name "emacs-academic-phrases")
15102 (version (git-version "0.1" "1" commit))
15103 (source
15104 (origin
15105 (method git-fetch)
15106 (uri (git-reference
15107 (url "https://github.com/nashamri/academic-phrases.git")
15108 (commit commit)))
15109 (file-name (git-file-name name version))
15110 (sha256
15111 (base32
15112 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
15113 (build-system emacs-build-system)
15114 (propagated-inputs
15115 `(("emacs-dash" ,emacs-dash)
15116 ("emacs-s" ,emacs-s)
15117 ("emacs-ht" ,emacs-ht)))
15118 (home-page "https://github.com/nashamri/academic-phrases")
15119 (synopsis "Bypass that mental block when writing your papers")
15120 (description
15121 "When writing your academic paper, you might get stuck trying to find
15122 the right phrase that captures your intention. This package tries to
15123 alleviate that problem by presenting you with a list of phrases organized by
15124 the topic or by the paper section that you are writing. This package has
15125 around 600 phrases so far.
15126
15127 Using this package is easy, just call @code{academic-phrases} to get a list of
15128 phrases organized by topic, or call @code{academic-phrases-by-section} to
15129 browse the phrases by the paper section and fill-in the blanks if required.")
15130 (license license:gpl3+))))
15131
15132 (define-public emacs-auto-yasnippet
15133 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
15134 (revision "2"))
15135 (package
15136 (name "emacs-auto-yasnippet")
15137 (version (git-version "0.3.0" revision commit))
15138 (source (origin
15139 (method git-fetch)
15140 (uri (git-reference
15141 (url "https://github.com/abo-abo/auto-yasnippet.git")
15142 (commit commit)))
15143 (file-name (git-file-name name version))
15144 (sha256
15145 (base32
15146 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
15147 (build-system emacs-build-system)
15148 (arguments
15149 '(#:tests? #t
15150 #:test-command '("make" "test")))
15151 (propagated-inputs
15152 `(("emacs-yasnippet" ,emacs-yasnippet)))
15153 (home-page "https://github.com/abo-abo/auto-yasnippet/")
15154 (synopsis "Quickly create disposable yasnippets")
15155 (description "This package provides a hybrid of keyboard macros and
15156 yasnippet. You create the snippet on the go, usually to be used just in the
15157 one place. It's fast, because you're not leaving the current buffer, and all
15158 you do is enter the code you'd enter anyway, just placing ~ where you'd like
15159 yasnippet fields and mirrors to be.")
15160 (license license:gpl3+))))
15161
15162 (define-public emacs-highlight-numbers
15163 (package
15164 (name "emacs-highlight-numbers")
15165 (version "0.2.3")
15166 (source
15167 (origin
15168 (method git-fetch)
15169 (uri (git-reference
15170 (url "https://github.com/Fanael/highlight-numbers.git")
15171 (commit version)))
15172 (file-name (git-file-name name version))
15173 (sha256
15174 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
15175 (build-system emacs-build-system)
15176 (propagated-inputs
15177 `(("emacs-parent-mode" ,emacs-parent-mode)))
15178 (home-page "https://github.com/Fanael/highlight-numbers")
15179 (synopsis "Highlight numbers in source code")
15180 (description "@code{highlight-numbers-mode} provides a minor mode for
15181 syntax highlighting of numeric literals in source code.
15182
15183 It s customizable: it's easy to add or redefine what exactly consitutes a
15184 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
15185 (license license:gpl3+)))
15186
15187 (define-public emacs-darkroom
15188 (package
15189 (name "emacs-darkroom")
15190 (version "0.3")
15191 (source
15192 (origin
15193 (method url-fetch)
15194 (uri (string-append "https://elpa.gnu.org/packages/"
15195 "darkroom-" version ".el"))
15196 (sha256
15197 (base32 "0l1xg5kqmjw22k78qnsln0ifx2dx74xxqj0qp8xxcpqvzzx0xh86"))))
15198 (build-system emacs-build-system)
15199 (home-page "https://elpa.gnu.org/packages/darkroom.html")
15200 (synopsis "Remove visual distractions and focus on writing")
15201 (description "@code{darkroom-mode} makes visual distractions disappear.
15202 The mode-line is temporarily elided, text is enlarged and margins are adjusted
15203 so that it's centered on the window.
15204
15205 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
15206 @code{darkroom-mode}, unless the current buffer lives in the sole window of
15207 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
15208 split to display more windows and more buffers, the buffer exits
15209 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
15210 @code{darkroom-mode}.")
15211 (license license:gpl3+)))
15212
15213 (define-public emacs-rsw-elisp
15214 (package
15215 (name "emacs-rsw-elisp")
15216 (version "1.0.5")
15217 (source (origin
15218 (method git-fetch)
15219 (uri (git-reference
15220 (url "https://github.com/rswgnu/rsw-elisp")
15221 (commit version)))
15222 (file-name (git-file-name name version))
15223 (sha256
15224 (base32
15225 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
15226 (build-system emacs-build-system)
15227 (home-page "https://github.com/rswgnu/rsw-elisp")
15228 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
15229 (description "This package improves and replaces the GNU Emacs commands
15230 that interactively evaluate Emacs Lisp expressions. The new commands replace
15231 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
15232 the same way as the old commands when called non-interactively; only the
15233 interactive behavior should be different.")
15234 (license license:gpl3+)))
15235
15236 (define-public emacs-default-text-scale
15237 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
15238 (revision "1"))
15239 (package
15240 (name "emacs-default-text-scale")
15241 (version (string-append "0.1" "-" revision "."
15242 (string-take commit 7)))
15243 (source (origin
15244 (method git-fetch)
15245 (uri (git-reference
15246 (url "https://github.com/purcell/default-text-scale")
15247 (commit commit)))
15248 (file-name (git-file-name name version))
15249 (sha256
15250 (base32
15251 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
15252 (build-system emacs-build-system)
15253 (home-page "https://github.com/purcell/default-text-scale")
15254 (synopsis "Adjust the font size in all Emacs frames")
15255 (description "This package provides commands for increasing or
15256 decreasing the default font size in all GUI Emacs frames.")
15257 (license license:gpl3+))))
15258
15259 (define-public emacs-mixed-pitch
15260 (package
15261 (name "emacs-mixed-pitch")
15262 (version "1.0.1")
15263 (source
15264 (origin
15265 (method git-fetch)
15266 (uri (git-reference
15267 (url "https://gitlab.com/jabranham/mixed-pitch.git")
15268 (commit version)))
15269 (file-name (git-file-name name version))
15270 (sha256
15271 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
15272 (build-system emacs-build-system)
15273 (home-page "https://gitlab.com/jabranham/mixed-pitch")
15274 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
15275 (description
15276 "@code{mixed-pitch-mode} is a minor mode that enables mixing
15277 variable-pitch and fixed-pitch fonts in the same buffer. The list
15278 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
15279 fixed-pitch,everything else becomes variable-pitch.")
15280 (license license:gpl3+)))
15281
15282 (define-public emacs-visual-regexp
15283 (package
15284 (name "emacs-visual-regexp")
15285 (version "1.1.1")
15286 (source
15287 (origin
15288 (method git-fetch)
15289 (uri (git-reference
15290 (url "https://github.com/benma/visual-regexp.el.git")
15291 (commit (string-append "v" version))))
15292 (file-name (git-file-name name version))
15293 (sha256
15294 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
15295 (build-system emacs-build-system)
15296 (home-page "https://github.com/benma/visual-regexp.el/")
15297 (synopsis "Regexp command with interactive visual feedback")
15298 (description "This package provides an Emacs regexp command with
15299 interactive visual feedback.")
15300 (license license:gpl3+)))
15301
15302 (define-public emacs-faceup
15303 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
15304 (revision "1"))
15305 (package
15306 (name "emacs-faceup")
15307 (version (string-append "0.0.1" "-" revision "."
15308 (string-take commit 7)))
15309 (source
15310 (origin
15311 (method git-fetch)
15312 (uri (git-reference
15313 (url "https://github.com/Lindydancer/faceup.git")
15314 (commit commit)))
15315 (file-name (git-file-name name version))
15316 (sha256
15317 (base32
15318 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
15319 (build-system emacs-build-system)
15320 (home-page "https://github.com/Lindydancer/faceup")
15321 (synopsis "Markup language for faces and font-lock regression testing")
15322 (description "Emacs is capable of highlighting buffers based on
15323 language-specific @code{font-lock} rules. This package makes it possible to
15324 perform regression test for packages that provide font-lock rules.")
15325 (license license:gpl3+))))
15326
15327 (define-public emacs-racket-mode
15328 (let ((commit "5f396fa91fc22310f5c519aa658436a1a5251846")
15329 (revision "5"))
15330 (package
15331 (name "emacs-racket-mode")
15332 (version (git-version "0.0.2" revision commit))
15333 (source
15334 (origin
15335 (method git-fetch)
15336 (uri (git-reference
15337 (url "https://github.com/greghendershott/racket-mode")
15338 (commit commit)))
15339 (file-name (git-file-name name version))
15340 (sha256
15341 (base32
15342 "1214y08i0c51d1vzw9jzyf79vyfqizdy6m0980qs13qbdwsj32v0"))))
15343 (build-system emacs-build-system)
15344 (arguments
15345 `(#:include '("\\.el$" "\\.rkt$")))
15346 (propagated-inputs
15347 `(("emacs-faceup" ,emacs-faceup)
15348 ("emacs-s" ,emacs-s)))
15349 (home-page "https://www.racket-mode.com/")
15350 (synopsis "Major mode for the Racket language")
15351 (description "@code{racket-mode} provides:
15352
15353 @itemize
15354 @item Focus on Racket (not various Schemes).
15355 @item Follow DrRacket concepts where applicable.
15356 @item Thorough font-lock and indent.
15357 @end itemize\n")
15358 (license license:gpl3+))))
15359
15360 (define-public emacs-grep-context
15361 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
15362 (revision "1"))
15363 (package
15364 (name "emacs-grep-context")
15365 (version (git-version "0.1.0" revision commit))
15366 (source
15367 (origin
15368 (method git-fetch)
15369 (uri (git-reference
15370 (url "https://github.com/mkcms/grep-context.git")
15371 (commit commit)))
15372 (file-name (git-file-name name version))
15373 (sha256
15374 (base32
15375 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
15376 (build-system emacs-build-system)
15377 (propagated-inputs
15378 `(("emacs-dash" ,emacs-dash)))
15379 (home-page "https://github.com/mkcms/grep-context")
15380 (synopsis "Increase context in compilation and grep buffers")
15381 (description
15382 "This package provides an Emacs package for more context in
15383 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
15384 @code{ivy}.")
15385 (license license:gpl3+))))
15386
15387 (define-public emacs-helm-firefox
15388 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
15389 (revision "1"))
15390 (package
15391 (name "emacs-helm-firefox")
15392 (version (string-append "0.0.1" "-" revision "."
15393 (string-take commit 7)))
15394 (source
15395 (origin
15396 (method git-fetch)
15397 (uri (git-reference
15398 (url "https://github.com/emacs-helm/helm-firefox.git")
15399 (commit commit)))
15400 (file-name (git-file-name name version))
15401 (sha256
15402 (base32
15403 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
15404 (propagated-inputs
15405 `(("emacs-helm" ,emacs-helm)))
15406 (build-system emacs-build-system)
15407 (home-page "https://github.com/emacs-helm/helm-firefox")
15408 (synopsis "Display firefox bookmarks with Emacs Helm interface")
15409 (description "Display firefox bookmarks with Emacs Helm interface")
15410 (license license:gpl3+))))
15411
15412 (define-public emacs-interactive-align
15413 (package
15414 (name "emacs-interactive-align")
15415 (version "0.4.2")
15416 (source
15417 (origin
15418 (method git-fetch)
15419 (uri (git-reference
15420 (url "https://github.com/mkcms/interactive-align.git")
15421 (commit (string-append "v" version))))
15422 (file-name (git-file-name name version))
15423 (sha256
15424 (base32
15425 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
15426 (build-system emacs-build-system)
15427 (home-page "https://github.com/mkcms/interactive-align/")
15428 (synopsis "Interactive align-regexp command in Emacs")
15429 (description "Interactive align-regexp command in Emacs")
15430 (license license:gpl3+)))
15431
15432 (define-public emacs-shift-number
15433 (package
15434 (name "emacs-shift-number")
15435 (version "0.1")
15436 (source
15437 (origin
15438 (method git-fetch)
15439 (uri (git-reference
15440 (url "https://github.com/alezost/shift-number.el")
15441 (commit (string-append "v" version))))
15442 (file-name (git-file-name name version))
15443 (sha256
15444 (base32
15445 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
15446 (build-system emacs-build-system)
15447 (home-page "https://github.com/alezost/shift-number.el")
15448 (synopsis "Increase or decrease the number at point")
15449 (description "@code{emacs-shift-number} provides commands
15450 @code{shift-number-up} to increase and @code{shift-number-down} to
15451 decrease the number at point.")
15452 (license license:gpl3+)))
15453
15454 (define-public emacs-highlight-defined
15455 (package
15456 (name "emacs-highlight-defined")
15457 (version "0.1.5")
15458 (source
15459 (origin
15460 (method git-fetch)
15461 (uri (git-reference
15462 (url "https://github.com/Fanael/highlight-defined.git")
15463 (commit version)))
15464 (file-name (git-file-name name version))
15465 (sha256
15466 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
15467 (build-system emacs-build-system)
15468 (home-page "https://github.com/Fanael/highlight-defined")
15469 (synopsis "Syntax highlighting of known Elisp symbols")
15470 (description "Minor mode providing syntax highlighting of known Emacs Lisp
15471 symbols. Currently the code distinguishes Lisp functions, built-in functions,
15472 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
15473 (license license:gpl3+)))
15474
15475 (define-public emacs-parinfer-mode
15476 (package
15477 (name "emacs-parinfer-mode")
15478 (version "0.4.10")
15479 (source
15480 (origin
15481 (method git-fetch)
15482 (uri (git-reference
15483 (url "https://github.com/DogLooksGood/parinfer-mode.git")
15484 (commit (string-append "v" version))))
15485 (file-name (git-file-name name version))
15486 (sha256
15487 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
15488 (propagated-inputs
15489 `(("emacs-dash" ,emacs-dash)
15490 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
15491 ("emacs-company" ,emacs-company)))
15492 (build-system emacs-build-system)
15493 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
15494 (synopsis "Lisp structure editing mode")
15495 (description "@code{parinfer-mode} is a proof-of-concept editor
15496 mode for Lisp programming languages. It will infer some changes to
15497 keep Parens and Indentation inline with one another.")
15498 (license license:gpl3+)))
15499
15500 (define-public emacs-helm-eww
15501 (package
15502 (name "emacs-helm-eww")
15503 (version "1.2")
15504 (source (origin
15505 (method git-fetch)
15506 (uri (git-reference
15507 (url "https://github.com/emacs-helm/helm-eww.git")
15508 (commit version)))
15509 (file-name (git-file-name name version))
15510 (sha256
15511 (base32
15512 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
15513 (propagated-inputs
15514 `(("emacs-helm" ,emacs-helm)))
15515 (build-system emacs-build-system)
15516 (home-page "https://github.com/emacs-helm/helm-eww/")
15517 (synopsis "Helm interface to EWW")
15518 (description "This package provides a Helm interface for EWW buffers,
15519 bookmarks and history.")
15520 (license license:gpl3+)))
15521
15522 (define-public emacs-stumpwm-mode
15523 (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
15524 (revision "3"))
15525 (package
15526 (name "emacs-stumpwm-mode")
15527 (version (git-version "0.0.1" revision commit))
15528 (source (origin
15529 (method git-fetch)
15530 (uri (git-reference
15531 (url "https://github.com/stumpwm/stumpwm-contrib.git")
15532 (commit commit)))
15533 (file-name (git-file-name name version))
15534 (sha256
15535 (base32
15536 "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml"))))
15537 (build-system emacs-build-system)
15538 (arguments
15539 `(#:phases
15540 (modify-phases %standard-phases
15541 (add-after 'unpack 'chdir-elisp
15542 ;; Elisp directory is not in root of the source.
15543 (lambda _
15544 (chdir "util/swm-emacs"))))))
15545 (home-page "https://github.com/stumpwm/stumpwm-contrib")
15546 (synopsis "Emacs minor-mode for Stumpwm")
15547 (description "Emacs minor-mode for Stumpwm")
15548 (license license:gpl3+))))
15549
15550 (define-public emacs-irfc
15551 (package
15552 (name "emacs-irfc")
15553 (version "20130824.507-1")
15554 (source
15555 (origin
15556 (method url-fetch)
15557 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
15558 (file-name (string-append "irfc-" version ".el"))
15559 (sha256
15560 (base32
15561 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
15562 (build-system emacs-build-system)
15563 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
15564 (synopsis "Interface for IETF RFC document")
15565 (description
15566 "This package provides an Emacs interface for IETF RFC document.")
15567 (license license:gpl3+)))
15568
15569 (define-public emacs-ido-vertical-mode
15570 (package
15571 (name "emacs-ido-vertical-mode")
15572 (version "0.1.6")
15573 (source
15574 (origin
15575 (method git-fetch)
15576 (uri (git-reference
15577 (url "https://github.com/creichert/ido-vertical-mode.el.git")
15578 (commit (string-append "v" version))))
15579 (file-name (git-file-name name version))
15580 (sha256
15581 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
15582 (build-system emacs-build-system)
15583 (home-page "https://github.com/creichert/ido-vertical-mode.el")
15584 (synopsis "Makes ido-mode display vertically")
15585 (description "Makes ido-mode display prospects vertically.")
15586 (license license:gpl3+)))
15587
15588 (define-public emacs-wordgen
15589 (package
15590 (name "emacs-wordgen")
15591 (version "0.1.4")
15592 (source
15593 (origin
15594 (method git-fetch)
15595 (uri (git-reference
15596 (url "https://github.com/Fanael/wordgen.el.git")
15597 (commit version)))
15598 (file-name (git-file-name name version))
15599 (sha256
15600 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
15601 (build-system emacs-build-system)
15602 (home-page "https://github.com/Fanael/wordgen.el")
15603 (synopsis "Random word generator")
15604 (description "This package provides functions to generate random words
15605 using user-provided rules.")
15606 (license license:gpl3+)))
15607
15608 (define-public emacs-on-screen
15609 (package
15610 (name "emacs-on-screen")
15611 (version "1.3.3")
15612 (source
15613 (origin
15614 (method url-fetch)
15615 (uri (string-append
15616 "https://elpa.gnu.org/packages/on-screen-" version ".el"))
15617 (file-name (string-append name "-" version ".el"))
15618 (sha256
15619 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
15620 (build-system emacs-build-system)
15621 (home-page "https://github.com/michael-heerdegen/on-screen.el")
15622 (synopsis "Guide your eyes while scrolling")
15623 (description
15624 "Scrolling can be distracting because your eyes may lose
15625 orientation. This library implements a minor mode that highlights
15626 the previously visible buffer part after each scroll.")
15627 (license license:gpl3+)))
15628
15629 (define-public emacs-highlight-escape-sequences
15630 ;; No release upstream. Extract version from main file.
15631 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
15632 (revision "0"))
15633 (package
15634 (name "emacs-highlight-escape-sequences")
15635 (version (git-version "0.4" revision commit))
15636 (source
15637 (origin
15638 (method git-fetch)
15639 (uri (git-reference
15640 (url "https://github.com/dgutov/highlight-escape-sequences.git")
15641 (commit commit)))
15642 (file-name (git-file-name name version))
15643 (sha256
15644 (base32 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
15645 (build-system emacs-build-system)
15646 (home-page "https://github.com/dgutov/highlight-escape-sequences")
15647 (synopsis "Highlight escape sequences in Emacs")
15648 (description "@code{highlight-escape-sequences} provides an
15649 Emacs minor mode to escape sequences in code.")
15650 (license license:gpl3+))))
15651
15652 (define-public emacs-dashboard
15653 (package
15654 (name "emacs-dashboard")
15655 (version "1.6.0")
15656 (source
15657 (origin
15658 (method git-fetch)
15659 (uri (git-reference
15660 (url "https://github.com/rakanalh/emacs-dashboard.git")
15661 (commit version)))
15662 (file-name (git-file-name name version))
15663 (sha256
15664 (base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591"))))
15665 (build-system emacs-build-system)
15666 (propagated-inputs
15667 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
15668 (arguments
15669 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
15670 #:phases
15671 (modify-phases %standard-phases
15672 (add-after 'unpack 'patch-dashboard-widgets
15673 ;; This phase fixes compilation error.
15674 (lambda _
15675 (chmod "dashboard-widgets.el" #o666)
15676 (emacs-substitute-variables "dashboard-widgets.el"
15677 ("dashboard-init-info"
15678 '(format "Loaded in %s" (emacs-init-time))))
15679 #t)))))
15680 (home-page "https://github.com/rakanalh/emacs-dashboard")
15681 (synopsis "Startup screen extracted from Spacemacs")
15682 (description "This package provides an extensible Emacs dashboard, with
15683 sections for bookmarks, projectil projects, org-agenda and more. ")
15684 (license license:gpl3+)))
15685
15686 (define-public emacs-slime-company
15687 (package
15688 (name "emacs-slime-company")
15689 (version "1.1")
15690 (source
15691 (origin
15692 (method git-fetch)
15693 (uri (git-reference
15694 (url "https://github.com/anwyn/slime-company.git")
15695 (commit (string-append "v" version))))
15696 (file-name (git-file-name name version))
15697 (sha256
15698 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
15699 (build-system emacs-build-system)
15700 (propagated-inputs
15701 `(("emacs-slime" ,emacs-slime)
15702 ("emacs-company" ,emacs-company)))
15703 (home-page "https://company-mode.github.io")
15704 (synopsis "SLIME completion backend for @code{company-mode}")
15705 (description
15706 "This is a backend implementation for the completion package
15707 @code{company-mode} which supports the normal and the fuzzy completion
15708 modes of SLIME.")
15709 (license license:gpl3+)))
15710
15711 (define-public emacs-sml-mode
15712 (package
15713 (name "emacs-sml-mode")
15714 (version "6.10")
15715 (source
15716 (origin
15717 (method url-fetch)
15718 (uri (string-append "https://elpa.gnu.org/packages/sml-mode-"
15719 version ".el"))
15720 (sha256
15721 (base32 "01yf0s474r9xhj6nbs14ljn9ccxb5yy758i17c8nmgmqvm8fx7sb"))))
15722 (build-system emacs-build-system)
15723 (home-page "https://elpa.gnu.org/packages/sml-mode.html")
15724 (synopsis "Major mode for editing (Standard) ML")
15725 (description "SML-MODE is a major Emacs mode for editing Standard ML.
15726 It provides syntax highlighting and automatic indentation and
15727 comes with sml-proc which allows interaction with an inferior SML
15728 interactive loop.")
15729 (license license:gpl3+)))
15730
15731 (define-public emacs-eros
15732 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
15733 (revision "2"))
15734 (package
15735 (name "emacs-eros")
15736 (version (git-version "0.0.1" revision commit))
15737 (source
15738 (origin
15739 (method git-fetch)
15740 (uri (git-reference
15741 (url "https://github.com/xiongtx/eros.git")
15742 (commit commit)))
15743 (file-name (git-file-name name version))
15744 (sha256
15745 (base32
15746 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
15747 (build-system emacs-build-system)
15748 (home-page "https://github.com/xiongtx/eros")
15749 (synopsis "Evaluation result overlays")
15750 (description "@code{eros} provides evaluation result overlays.")
15751 (license license:gpl3+))))
15752
15753 (define-public emacs-stickyfunc-enhance
15754 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
15755 (revision "1"))
15756 (package
15757 (name "emacs-stickyfunc-enhance")
15758 (version "0.1")
15759 (source
15760 (origin
15761 (method git-fetch)
15762 (uri (git-reference
15763 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
15764 (commit commit)))
15765 (file-name (git-file-name name version))
15766 (sha256
15767 (base32
15768 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
15769 (build-system emacs-build-system)
15770 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
15771 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
15772 (description
15773 "@code{semantic-stickyfunc-mode} shows the function point is currently
15774 in at the first line of the current buffer. This is useful when you have a
15775 very long function that spreads more than a screen, and you don't have to
15776 scroll up to read the function name and then scroll down to original position.")
15777 (license license:gpl3+))))
15778
15779 (define-public emacs-git-auto-commit-mode
15780 (package
15781 (name "emacs-git-auto-commit-mode")
15782 (version "4.5.0")
15783 (source
15784 (origin
15785 (method git-fetch)
15786 (uri (git-reference
15787 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
15788 (commit version)))
15789 (file-name (git-file-name name version))
15790 (sha256
15791 (base32 "1w3v9pmlmdxl4pglsb6j0igp13lbzg5bhbr1rv2vll93m6zxmyma"))))
15792 (build-system emacs-build-system)
15793 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
15794 (synopsis "Emacs Minor mode to automatically commit and push")
15795 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
15796 tries to commit changes to a file after every save.
15797
15798 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
15799 the current upstream.")
15800 (license license:gpl3+)))
15801
15802 (define-public emacs-scroll-on-drag
15803 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
15804 (revision "1"))
15805 (package
15806 (name "emacs-scroll-on-drag")
15807 (version (git-version "0.1" revision commit))
15808 (source
15809 (origin
15810 (method git-fetch)
15811 (uri (git-reference
15812 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
15813 (commit commit)))
15814 (file-name (git-file-name name version))
15815 (sha256
15816 (base32
15817 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
15818 (build-system emacs-build-system)
15819 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
15820 (synopsis "Interactive scrolling")
15821 (description "This package permits scrolling at increasing speeds based
15822 on drag distance.")
15823 (license license:gpl3+))))
15824
15825 (define-public emacs-company-restclient
15826 (package
15827 (name "emacs-company-restclient")
15828 (version "0.3.0")
15829 (source
15830 (origin
15831 (method git-fetch)
15832 (uri (git-reference
15833 (url "https://github.com/iquiw/company-restclient.git")
15834 (commit (string-append "v" version))))
15835 (file-name (git-file-name name version))
15836 (sha256
15837 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
15838 (build-system emacs-build-system)
15839 (propagated-inputs
15840 `(("emacs-company" ,emacs-company)
15841 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
15842 ("emacs-restclient" ,emacs-restclient)))
15843 (home-page "https://github.com/iquiw/company-restclient")
15844 (synopsis "Company-mode completion back-end for restclient-mode")
15845 (description "@code{company-mode} back-end for
15846 @code{restclient-mode}.
15847
15848 It provides auto-completion for HTTP methods and headers in
15849 @code{restclient-mode}. Completion source is given by
15850 @code{know-your-http-well}.")
15851 (license license:gpl3+)))
15852
15853 (define-public emacs-noflet
15854 (let ((version "20170629")
15855 (revision "1")
15856 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
15857 (package
15858 (name "emacs-noflet")
15859 (version (git-version version revision commit))
15860 (source
15861 (origin
15862 (method git-fetch)
15863 (uri (git-reference
15864 (url "https://github.com/nicferrier/emacs-noflet")
15865 (commit commit)))
15866 (file-name (git-file-name name version))
15867 (sha256
15868 (base32
15869 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
15870 (build-system emacs-build-system)
15871 (arguments
15872 `(#:phases
15873 (modify-phases %standard-phases
15874 (add-after 'unpack 'require-dash
15875 ;; noflet.el uses -map from dash, but (require 'dash) is
15876 ;; missing. So, add it.
15877 (lambda _
15878 (substitute* "noflet.el"
15879 ((";;; Code:") ";;; Code:\n(require 'dash)"))
15880 #t)))))
15881 (propagated-inputs
15882 `(("emacs-dash" ,emacs-dash)))
15883 (home-page "https://github.com/nicferrier/emacs-noflet")
15884 (synopsis "Locally override functions")
15885 (description "@code{emacs-noflet} lets you locally override functions,
15886 in the manner of @command{flet}, but with access to the original function
15887 through the symbol: @command{this-fn}.")
15888 (license license:gpl3+))))
15889
15890 (define-public emacs-dumb-jump
15891 (package
15892 (name "emacs-dumb-jump")
15893 (version "0.5.3")
15894 (source
15895 (origin
15896 (method git-fetch)
15897 (uri (git-reference
15898 (url "https://github.com/jacktasia/dumb-jump.git")
15899 (commit (string-append "v" version))))
15900 (file-name (git-file-name name version))
15901 (sha256
15902 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
15903 (build-system emacs-build-system)
15904 (arguments
15905 `(#:tests? #f ; FIXME: Tests freeze when run.
15906 #:test-command '("ert-runner")
15907 #:phases
15908 (modify-phases %standard-phases
15909 (add-after 'unpack 'set-shell
15910 (lambda _
15911 ;; Setting the SHELL environment variable is required for the
15912 ;; tests to find sh.
15913 (setenv "SHELL" (which "sh"))
15914 #t)))))
15915 (native-inputs
15916 `(("emacs-el-mock" ,emacs-el-mock)
15917 ("emacs-noflet" ,emacs-noflet)
15918 ("emacs-undercover" ,emacs-undercover)
15919 ("ert-runner" ,emacs-ert-runner)))
15920 (propagated-inputs
15921 `(("emacs-f" ,emacs-f)
15922 ("emacs-popup" ,emacs-popup)))
15923 (home-page "https://github.com/jacktasia/dumb-jump")
15924 (synopsis "Jump to definition for multiple languages without configuration")
15925 (description "Dumb Jump is an Emacs \"jump to definition\" package with
15926 support for multiple programming languages that favors \"just working\" over
15927 speed or accuracy. This means minimal --- and ideally zero --- configuration
15928 with absolutely no stored indexes (tags) or persistent background processes.
15929 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
15930 @command{rg} installed.")
15931 (license license:gpl3+)))
15932
15933 (define-public emacs-dts-mode
15934 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
15935 (revision "1"))
15936 (package
15937 (name "emacs-dts-mode")
15938 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
15939 (source
15940 (origin
15941 (method git-fetch)
15942 (uri (git-reference
15943 (url "https://github.com/bgamari/dts-mode.git")
15944 (commit commit)))
15945 (file-name (git-file-name name version))
15946 (sha256
15947 (base32
15948 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
15949 (build-system emacs-build-system)
15950 (home-page "https://github.com/bgamari/dts-mode.git")
15951 (synopsis "Emacs minor mode for editing device tree files")
15952 (description
15953 "This package provides an Emacs minor mode for highlighting
15954 device tree files.")
15955 (license license:gpl3+))))
15956
15957 (define-public emacs-daemons
15958 (package
15959 (name "emacs-daemons")
15960 (version "2.0.0")
15961 (source
15962 (origin
15963 (method git-fetch)
15964 (uri (git-reference
15965 (url "https://github.com/cbowdon/daemons.el")
15966 (commit version)))
15967 (file-name (git-file-name name version))
15968 (sha256
15969 (base32
15970 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
15971 (build-system emacs-build-system)
15972 (home-page "https://github.com/cbowdon/daemons.el")
15973 (synopsis "Emacs UI for managing init system services")
15974 (description
15975 "This is an Emacs mode to give you a UI for managing init system
15976 daemons (services) for those getting tired of typing out @code{sudo service
15977 my_thing reload} all the time. It offers a consistent UI over different init
15978 systems.")
15979 (license license:gpl3+)))
15980
15981 (define-public emacs-isearch+
15982 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
15983 (revision "2"))
15984 (package
15985 (name "emacs-isearch+")
15986 (version (git-version "0" revision commit))
15987 (source
15988 (origin
15989 (method git-fetch)
15990 (uri (git-reference
15991 (url "https://github.com/emacsmirror/isearch-plus.git")
15992 (commit commit)))
15993 (file-name (git-file-name name version))
15994 (sha256
15995 (base32
15996 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
15997 (build-system emacs-build-system)
15998 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
15999 (synopsis "Extensions to @code{isearch.el}")
16000 (description "This package extends @code{isearch} with advice, dynamic
16001 filters, highlighting of regexp group levels, and more.")
16002 (license license:gpl2+))))
16003
16004 (define-public emacs-eshell-bookmark
16005 (package
16006 (name "emacs-eshell-bookmark")
16007 (version "2.0.0")
16008 (source
16009 (origin
16010 (method git-fetch)
16011 (uri (git-reference
16012 (url "https://github.com/Fuco1/eshell-bookmark")
16013 (commit version)))
16014 (file-name (git-file-name name version))
16015 (sha256
16016 (base32
16017 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
16018 (build-system emacs-build-system)
16019 (home-page "https://github.com/Fuco1/eshell-bookmark")
16020 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
16021 (description
16022 "This package allows for bookmarking @code{eshell} buffers. Upon
16023 visiting the bookmark, a new @code{eshell} session will be opened in the
16024 appropriate directory if no @code{eshell} session is active.")
16025 (license license:gpl3+)))
16026
16027 (define-public emacs-eshell-z
16028 (package
16029 (name "emacs-eshell-z")
16030 (version "0.4")
16031 (source
16032 (origin
16033 (method git-fetch)
16034 (uri (git-reference
16035 (url "https://github.com/xuchunyang/eshell-z")
16036 (commit (string-append "v" version))))
16037 (file-name (git-file-name name version))
16038 (sha256
16039 (base32
16040 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
16041 (build-system emacs-build-system)
16042 (home-page "https://github.com/xuchunyang/eshell-z")
16043 (synopsis "Quick navigation to frequently visited directories")
16044 (description
16045 "This package is a port of @code{z}, and keeps track of visited directories
16046 and commands invoked within them in order to enable navigation via input of
16047 matching regexps.")
16048 (license license:gpl3+)))
16049
16050 (define-public emacs-esh-autosuggest
16051 (package
16052 (name "emacs-esh-autosuggest")
16053 (version "2.0.0")
16054 (source
16055 (origin
16056 (method git-fetch)
16057 (uri (git-reference
16058 (url "https://github.com/dieggsy/esh-autosuggest")
16059 (commit version)))
16060 (file-name (git-file-name name version))
16061 (sha256
16062 (base32
16063 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
16064 (build-system emacs-build-system)
16065 (propagated-inputs `(("emacs-company" ,emacs-company)))
16066 (home-page "https://github.com/dieggsy/esh-autosuggest")
16067 (synopsis "Fish-like autosuggestions in Eshell")
16068 (description
16069 "This package assumes you use something other than company for eshell
16070 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
16071 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
16072 for history autosuggestions.
16073
16074 Unless you're using @code{use-package}'s hook keyword, you can enable the
16075 autosuggestions with:
16076 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
16077 (license license:gpl3+)))
16078
16079 (define-public emacs-desktop-environment
16080 (package
16081 (name "emacs-desktop-environment")
16082 (version "0.3.0")
16083 (source
16084 (origin
16085 (method git-fetch)
16086 (uri (git-reference
16087 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
16088 (commit (string-append "v" version))))
16089 (file-name (git-file-name name version))
16090 (sha256
16091 (base32
16092 "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"))))
16093 (build-system emacs-build-system)
16094 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
16095 (synopsis "Control your GNU/Linux desktop environment from Emacs")
16096 (description
16097 "This package helps you control your GNU/Linux desktop from Emacs.
16098 With @code{desktop-environment}, you can control the brightness and volume as
16099 well as take screenshots and lock your screen. The package depends on the
16100 availability of shell commands to do the hard work for us. These commands can
16101 be changed by customizing the appropriate variables.")
16102 (license license:gpl3+)))
16103
16104 (define-public emacs-org-caldav
16105 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
16106 (package
16107 (name "emacs-org-caldav")
16108 (version (git-version "0.0.0" "1" commit))
16109 (source
16110 (origin
16111 (method git-fetch)
16112 (uri (git-reference
16113 (url "https://github.com/dengste/org-caldav.git")
16114 (commit commit)))
16115 (file-name (git-file-name name version))
16116 (sha256
16117 (base32
16118 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
16119 (build-system emacs-build-system)
16120 (arguments
16121 ;; Tests require to have two specific calendars on a test server.
16122 `(#:exclude '("^org-caldav-testsuite\\.el")))
16123 (propagated-inputs
16124 `(("emacs-org" ,emacs-org)))
16125 (home-page "https://github.com/dengste/org-caldav")
16126 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
16127 (description "Synchronize between events in Org files and a CalDAV
16128 calendar.")
16129 (license license:gpl3+))))
16130
16131 (define-public emacs-zotxt
16132 (package
16133 (name "emacs-zotxt")
16134 (version "20180518")
16135 (source
16136 (origin
16137 (method git-fetch)
16138 (uri (git-reference
16139 (url "https://github.com/egh/zotxt-emacs.git")
16140 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
16141 (file-name (git-file-name name version))
16142 (sha256
16143 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
16144 (build-system emacs-build-system)
16145 (propagated-inputs
16146 `(("emacs-deferred" ,emacs-deferred)
16147 ("emacs-request" ,emacs-request)))
16148 (home-page "https://github.com/egh/zotxt-emacs")
16149 (synopsis "Integrate Emacs with Zotero")
16150 (description "This package provides two integration features between Emacs
16151 and the Zotero research assistant: Insertion of links to Zotero items into an
16152 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
16153 (license license:gpl3+)))
16154
16155 (define-public emacs-evil-magit
16156 (let ((commit "253c644807013fe92429acdef418748794b8f254")
16157 (revision "4"))
16158 (package
16159 (name "emacs-evil-magit")
16160 (version (git-version "0.4.2" revision commit))
16161 (source
16162 (origin
16163 (method git-fetch)
16164 (uri (git-reference
16165 (url "https://github.com/emacs-evil/evil-magit")
16166 (commit commit)))
16167 (file-name (git-file-name name version))
16168 (sha256
16169 (base32
16170 "08mh7phxsdb9w4dfs0pmr4l4fdzzr2rm88z2s8karfi5j5ik2ag5"))))
16171 (build-system emacs-build-system)
16172 (propagated-inputs
16173 `(("emacs-evil" ,emacs-evil)
16174 ("magit" ,emacs-magit)))
16175 (arguments
16176 `(#:tests? #t
16177 #:test-command '("emacs" "-Q" "-batch"
16178 "-L" "."
16179 "-l" "evil-magit-tests"
16180 "-f" "ert-run-tests-batch-and-exit")))
16181 (home-page
16182 "https://github.com/emacs-evil/evil-magit")
16183 (synopsis "Evil-based key bindings for Magit")
16184 (description
16185 "This Emacs library configures Magit and Evil to play well with each other.
16186 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
16187 See the README at @url{https://github.com/justbur/evil-magit} for a table
16188 describing the key binding changes.")
16189 (license license:gpl3+))))
16190
16191 (define-public emacs-evil-multiedit
16192 (package
16193 (name "emacs-evil-multiedit")
16194 (version "1.3.9")
16195 (source
16196 (origin
16197 (method git-fetch)
16198 (uri (git-reference
16199 (url "https://github.com/hlissner/evil-multiedit")
16200 (commit (string-append "v" version))))
16201 (file-name (git-file-name name version))
16202 (sha256
16203 (base32
16204 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
16205 (build-system emacs-build-system)
16206 (propagated-inputs
16207 `(("emacs-evil" ,emacs-evil)
16208 ("emacs-iedit" ,emacs-iedit)))
16209 (native-inputs
16210 `(("emacs-ert-runner" ,emacs-ert-runner)))
16211 (arguments
16212 `(#:phases
16213 (modify-phases %standard-phases
16214 (add-before 'check 'fix-makefile
16215 (lambda _
16216 (substitute* "Makefile"
16217 (("@cask exec ") ""))
16218 #t)))
16219 #:tests? #t
16220 #:test-command '("make" "test")))
16221 (home-page
16222 "https://github.com/hlissner/evil-multiedit")
16223 (synopsis "Multiple cursors for Evil mode")
16224 (description
16225 "This plugin was an answer to the lack of proper multiple cursor support
16226 in Emacs+Evil. It allows you to select and edit matches interactively,
16227 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
16228 defaults.")
16229 (license license:gpl3+)))
16230
16231 (define-public emacs-evil-mc
16232 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
16233 (revision "2"))
16234 (package
16235 (name "emacs-evil-mc")
16236 (version (git-version "0.0.3" revision commit))
16237 (source
16238 (origin
16239 (method git-fetch)
16240 (uri (git-reference
16241 (url "https://github.com/gabesoft/evil-mc.git")
16242 (commit commit)))
16243 (file-name (git-file-name name version))
16244 (sha256
16245 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
16246 (build-system emacs-build-system)
16247 (propagated-inputs
16248 `(("emacs-evil" ,emacs-evil)))
16249 (native-inputs
16250 `(("emacs-espuds" ,emacs-espuds)))
16251 (home-page "https://github.com/gabesoft/evil-mc")
16252 (synopsis "Interactive search compatible with @code{multiple-cursors}")
16253 (description "This package can be used with @code{multiple-cursors} to
16254 provide an incremental search that moves all fake cursors in sync.")
16255 (license license:expat))))
16256
16257 (define-public emacs-evil-org
16258 (let ((commit "9d4be14118bf27094a30dbff349b815f098aacbf"))
16259 (package
16260 (name "emacs-evil-org")
16261 (version (git-version "1.0.2" "1" commit))
16262 (source
16263 (origin
16264 (method git-fetch)
16265 (uri (git-reference
16266 (url "https://github.com/Somelauw/evil-org-mode")
16267 (commit commit)))
16268 (file-name (git-file-name name version))
16269 (sha256
16270 (base32
16271 "1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn"))))
16272 (build-system emacs-build-system)
16273 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
16274 (home-page
16275 "https://github.com/Somelauw/evil-org-mode")
16276 (synopsis "Evil keybindings for Org mode")
16277 (description
16278 "This package adds supplemental Evil mode key-bindings to Emacs
16279 Org-mode. It features:
16280 @itemize
16281 @item normal, visual and insert mode bindings;
16282 @item key bindings organised in key themes;
16283 @item operators like > and < to work on headings;
16284 @item text objects;
16285 @item table support;
16286 @item calendar (date selection) support;
16287 @item agenda support.
16288 @end itemize\n")
16289 (license license:gpl3+))))
16290
16291 (define-public emacs-debpaste
16292 (package
16293 (name "emacs-debpaste")
16294 (version "0.1.5")
16295 (home-page "https://github.com/alezost/debpaste.el")
16296 (source
16297 (origin
16298 (method git-fetch)
16299 (uri (git-reference (url home-page)
16300 (commit (string-append "v" version))))
16301 (file-name (git-file-name name version))
16302 (sha256
16303 (base32
16304 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
16305 (build-system emacs-build-system)
16306 (propagated-inputs
16307 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
16308 (synopsis "Manipulate pastes from the Debian Pastezone")
16309 (description "Debpaste is an Emacs interface for the Debian Pastezone,
16310 allowing you to receive, post, and delete pastes. It communicates with the
16311 server using XML-RPC.")
16312 (license license:gpl3+)))
16313
16314 (define-public emacs-xml-rpc
16315 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
16316 (revision "1"))
16317 (package
16318 (name "emacs-xml-rpc")
16319 (version (git-version "1.6.12" revision commit))
16320 (source
16321 (origin
16322 (method git-fetch)
16323 (uri (git-reference
16324 (url "https://github.com/hexmode/xml-rpc-el")
16325 (commit commit)))
16326 (file-name (git-file-name name version))
16327 (sha256
16328 (base32
16329 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
16330 (build-system emacs-build-system)
16331 (home-page "https://github.com/hexmode/xml-rpc-el")
16332 (synopsis "XML-RPC client for Emacs")
16333 (description "This package provides an XML-RPC client for Emacs capable
16334 of both synchronous and asynchronous method calls using the @code{url}
16335 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
16336 datatypes as Lisp values, automatically converting to and from the XML
16337 datastructures as needed, both for method parameters and return values, making
16338 using XML-RPC methods fairly transparent to the Lisp code.")
16339 (license license:gpl3+))))
16340
16341 (define-public emacs-xpm
16342 (package
16343 (name "emacs-xpm")
16344 (version "1.0.4")
16345 (source
16346 (origin
16347 (method url-fetch)
16348 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
16349 version ".tar"))
16350 (sha256
16351 (base32
16352 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
16353 (build-system emacs-build-system)
16354 (home-page "https://elpa.gnu.org/packages/xpm.html")
16355 (synopsis "XPM image editing mode for Emacs")
16356 (description "This Emacs package makes editing XPM images easy (and maybe
16357 fun). Editing is done directly on the (textual) image format, for maximal
16358 cohesion with the Emacs Way.")
16359 (license license:gpl3+)))
16360
16361 (define-public emacs-fish-completion
16362 (package
16363 (name "emacs-fish-completion")
16364 (version "1.2")
16365 (source
16366 (origin
16367 (method git-fetch)
16368 (uri (git-reference
16369 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
16370 (commit version)))
16371 (file-name (git-file-name name version))
16372 (sha256
16373 (base32
16374 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
16375 (build-system emacs-build-system)
16376 (inputs `(("fish" ,fish)))
16377 (arguments
16378 `(#:phases
16379 (modify-phases %standard-phases
16380 (add-after 'unpack 'configure
16381 (lambda* (#:key inputs outputs #:allow-other-keys)
16382 (let ((fish (assoc-ref inputs "fish")))
16383 ;; Specify the absolute file names of the various
16384 ;; programs so that everything works out-of-the-box.
16385 (make-file-writable "fish-completion.el")
16386 (emacs-substitute-variables
16387 "fish-completion.el"
16388 ("fish-completion-command"
16389 (string-append fish "/bin/fish")))))))))
16390 (home-page
16391 "https://gitlab.com/Ambrevar/emacs-fish-completion")
16392 (synopsis "Fish completion for Emacs pcomplete")
16393 (description
16394 "This package provides completion for the Fish shell to pcomplete (used
16395 by shell and Eshell). You can set it up globally with:
16396
16397 @example
16398 (when (and (executable-find \"fish\")
16399 (require 'fish-completion nil t))
16400 (global-fish-completion-mode))
16401 @end example
16402
16403 Alternatively, you can call the @code{fish-completion-mode} manually or in
16404 shell/Eshell mode hook.
16405
16406 The package @code{emacs-bash-completion} is an optional dependency: if available,
16407 @code{fish-completion-complete} can be configured to fall back on bash to further
16408 try completing. See @code{fish-completion-fallback-on-bash-p}.")
16409 (license license:gpl3+)))
16410
16411 (define-public emacs-gif-screencast
16412 (package
16413 (name "emacs-gif-screencast")
16414 (version "1.1")
16415 (source
16416 (origin
16417 (method git-fetch)
16418 (uri (git-reference
16419 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
16420 (commit version)))
16421 (file-name (git-file-name name version))
16422 (sha256
16423 (base32
16424 "1g1by8lvf8c9vzm4wwsi5kp285kaj0ahsl54048ympin4pi0njw9"))))
16425 (build-system emacs-build-system)
16426 (inputs
16427 `(("scrot" ,scrot)
16428 ("imagemagick" ,imagemagick)
16429 ("gifsicle" ,gifsicle)))
16430 (arguments
16431 `(#:phases
16432 (modify-phases %standard-phases
16433 (add-after 'unpack 'configure
16434 (lambda* (#:key inputs outputs #:allow-other-keys)
16435 (let ((scrot (assoc-ref inputs "scrot"))
16436 (imagemagick (assoc-ref inputs "imagemagick"))
16437 (gifsicle (assoc-ref inputs "gifsicle")))
16438 (make-file-writable "gif-screencast.el")
16439 ;; Specify the absolute file names of the various
16440 ;; programs so that everything works out-of-the-box.
16441 (emacs-substitute-variables
16442 "gif-screencast.el"
16443 ("gif-screencast-program"
16444 (string-append scrot "/bin/scrot"))
16445 ("gif-screencast-convert-program"
16446 (string-append imagemagick "/bin/convert"))
16447 ("gif-screencast-cropping-program"
16448 (string-append imagemagick "/bin/mogrify"))
16449 ("gif-screencast-optimize-program"
16450 (string-append gifsicle "/bin/gifsicle")))))))))
16451 (home-page
16452 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
16453 (synopsis "One-frame-per-action GIF recording")
16454 (description
16455 "Call @code{gif-screencast} to start a recording.
16456 A screenshot is taken for every user action. Call
16457 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
16458 the GIF result.")
16459 (license license:gpl3+)))
16460
16461 (define-public emacs-google-translate
16462 (package
16463 (name "emacs-google-translate")
16464 (version "0.11.18")
16465 (source
16466 (origin
16467 (method git-fetch)
16468 (uri (git-reference
16469 (url "https://github.com/atykhonov/google-translate/")
16470 (commit (string-append "v" version))))
16471 (file-name (git-file-name name version))
16472 (sha256
16473 (base32
16474 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
16475 (build-system emacs-build-system)
16476 (home-page "https://github.com/atykhonov/google-translate")
16477 (synopsis "Emacs interface to Google Translate")
16478 (description
16479 "This package provides an Emacs interface to the Google Translate
16480 on-line service.")
16481 (license license:gpl3+)))
16482
16483 (define-public emacs-helm-company
16484 (package
16485 (name "emacs-helm-company")
16486 (version "0.2.5")
16487 (source
16488 (origin
16489 (method git-fetch)
16490 (uri (git-reference
16491 (url "https://github.com/Sodel-the-Vociferous/helm-company")
16492 (commit (string-append "v" version))))
16493 (file-name (git-file-name name version))
16494 (sha256
16495 (base32
16496 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
16497 (build-system emacs-build-system)
16498 (propagated-inputs
16499 `(("emacs-helm" ,emacs-helm)
16500 ("emacs-company" ,emacs-company)))
16501 (native-inputs
16502 `(("emacs-ert-runner" ,emacs-ert-runner)))
16503 (arguments
16504 `(#:tests? #t
16505 #:test-command '("ert-runner")))
16506 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
16507 (synopsis "Helm interface for company-mode")
16508 (description
16509 "This is a Helm interface to company-mode, a text completion
16510 framework.")
16511 (license license:gpl3+)))
16512
16513 (define-public emacs-helm-descbinds
16514 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
16515 (package
16516 (name "emacs-helm-descbinds")
16517 (version (git-version "1.13" "1" commit))
16518 (source
16519 (origin
16520 (method git-fetch)
16521 (uri (git-reference
16522 (url "https://github.com/emacs-helm/helm-descbinds")
16523 (commit commit)))
16524 (file-name (git-file-name name version))
16525 (sha256
16526 (base32
16527 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
16528 (build-system emacs-build-system)
16529 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
16530 (home-page "https://github.com/emacs-helm/helm-descbinds")
16531 (synopsis "Convenient @code{describe-bindings} with Helm")
16532 (description
16533 "This package is a replacement of @code{describe-bindings} for Helm.
16534 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
16535 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
16536 @code{helm-descbinds}. The bindings are presented in a similar way as
16537 @code{describe-bindings} does, but you can use completion to find the command
16538 you searched for and execute it, or view its documentation.")
16539 (license license:gpl3+))))
16540
16541 (define-public emacs-helm-emms
16542 (let ((commit "37e5aa029abfa5a5c48636314de8157142944fa2"))
16543 (package
16544 (name "emacs-helm-emms")
16545 (version (git-version "1.3" "3" commit))
16546 (source
16547 (origin
16548 (method git-fetch)
16549 (uri (git-reference
16550 (url "https://github.com/emacs-helm/helm-emms")
16551 (commit commit)))
16552 (file-name (git-file-name name version))
16553 (sha256
16554 (base32
16555 "0r1ai6xhzayyik30w2sx9n62bxxwm12vfmjspv0daqif9az8y3vg"))))
16556 (build-system emacs-build-system)
16557 (propagated-inputs
16558 `(("emacs-helm" ,emacs-helm)
16559 ("emacs-emms" ,emacs-emms)))
16560 (home-page
16561 "https://github.com/emacs-helm/helm-emms")
16562 (synopsis "Emms for Helm")
16563 (description "Helm interface for Emms to browse all tracks and all folders
16564 from @code{emms-source-file-default-directory}.")
16565 (license license:gpl3+))))
16566
16567 (define-public emacs-helm-exwm
16568 (package
16569 (name "emacs-helm-exwm")
16570 (version "0.0.2")
16571 (source
16572 (origin
16573 (method git-fetch)
16574 (uri (git-reference
16575 (url "https://github.com/emacs-helm/helm-exwm.git")
16576 (commit version)))
16577 (file-name (git-file-name name version))
16578 (sha256
16579 (base32 "0g4k01ps14bp2az8v6dcag9llg045k2b4kdis81xx4lvw76znr9v"))))
16580 (build-system emacs-build-system)
16581 (propagated-inputs
16582 `(("emacs-helm" ,emacs-helm)
16583 ("emacs-exwm" ,emacs-exwm)))
16584 (home-page
16585 "https://github.com/emacs-helm/helm-exwm")
16586 (synopsis "Helm for EXWM buffers")
16587 (description
16588 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
16589 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
16590 switch between the various windows of one or several specific applications.
16591 See @code{helm-exwm-switch-browser} for an example.")
16592 (license license:gpl3+)))
16593
16594 (define-public emacs-helm-flycheck
16595 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
16596 (package
16597 (name "emacs-helm-flycheck")
16598 (version (git-version "0.4" "1" commit))
16599 (source
16600 (origin
16601 (method git-fetch)
16602 (uri (git-reference
16603 (url "https://github.com/yasuyk/helm-flycheck")
16604 (commit commit)))
16605 (file-name (git-file-name name version))
16606 (sha256
16607 (base32
16608 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
16609 (build-system emacs-build-system)
16610 (propagated-inputs
16611 `(("emacs-dash" ,emacs-dash)
16612 ("emacs-flycheck" ,emacs-flycheck)
16613 ("emacs-helm" ,emacs-helm)))
16614 (home-page "https://github.com/yasuyk/helm-flycheck")
16615 (synopsis "Show Flycheck errors with Helm")
16616 (description
16617 "This integrates Flycheck with Helm.")
16618 (license license:gpl3+))))
16619
16620 (define-public emacs-helm-ls-git
16621 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
16622 (package
16623 (name "emacs-helm-ls-git")
16624 (version (git-version "1.9.1" "1" commit))
16625 (source
16626 (origin
16627 (method git-fetch)
16628 (uri (git-reference
16629 (url "https://github.com/emacs-helm/helm-ls-git")
16630 (commit commit)))
16631 (file-name (git-file-name name version))
16632 (sha256
16633 (base32
16634 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
16635 (build-system emacs-build-system)
16636 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
16637 (home-page "https://github.com/emacs-helm/helm-ls-git")
16638 (synopsis "Helm interface for listing the files in a Git repository")
16639 (description
16640 "This package provides a Helm interface for Git files.
16641 @itemize
16642 @item Display the open buffers in project.
16643 @item Display a status source showing state of project (modified files etc.).
16644 @item Display a list of all files in project under git control.
16645 @item Quickly look at diffs of modified files.
16646 @item Allow switching to @code{git status} with your preferred frontend
16647 (vc-dir, Magit,etc.).
16648 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
16649 can use ack-grep instead of grep).
16650 @item Integrate usage of gid from id-utils.
16651 @item Full integration with @code{helm-find-files}, allow you to browse
16652 projects unrelated to current-buffer.
16653 @item In addition, all actions of type files and buffers are provided.
16654 @end itemize\n")
16655 (license license:gpl3+))))
16656
16657 (define-public emacs-helm-mu
16658 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
16659 (package
16660 (name "emacs-helm-mu")
16661 (version (git-version "20180513" "1" commit))
16662 (source
16663 (origin
16664 (method git-fetch)
16665 (uri (git-reference
16666 (url "https://github.com/emacs-helm/helm-mu.git")
16667 (commit commit)))
16668 (file-name (git-file-name name version))
16669 (sha256
16670 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
16671 (build-system emacs-build-system)
16672 (propagated-inputs
16673 `(("emacs-helm" ,emacs-helm)
16674 ("mu" ,mu)))
16675 (home-page
16676 "https://github.com/emacs-helm/helm-mu")
16677 (synopsis
16678 "Helm sources for searching emails and contacts")
16679 (description
16680 "Helm sources for searching emails and contacts using @code{mu} and
16681 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
16682 Emacs build on top of mu. Mu is highly efficient making it possible to get
16683 instant results even for huge maildirs. It also provides search operators,
16684 e.g: @code{from:Peter to:Anne flag:attach search term}.")
16685 (license license:gpl3+))))
16686
16687 (define-public emacs-helm-pass
16688 (package
16689 (name "emacs-helm-pass")
16690 (version "0.3")
16691 (source
16692 (origin
16693 (method git-fetch)
16694 (uri (git-reference
16695 (url "https://github.com/emacs-helm/helm-pass")
16696 (commit version)))
16697 (file-name (git-file-name name version))
16698 (sha256
16699 (base32
16700 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
16701 (build-system emacs-build-system)
16702 (propagated-inputs
16703 `(("emacs-helm" ,emacs-helm)
16704 ("emacs-password-store" ,emacs-password-store)))
16705 (home-page "https://github.com/emacs-helm/helm-pass")
16706 (synopsis "Helm interface to pass, the standard Unix password manager")
16707 (description
16708 "Users of @code{helm-pass} may also be interested in functionality
16709 provided by other Emacs packages dealing with pass:
16710 @itemize
16711 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
16712 @item @code{emacs-pass}, a major mode for @code{pass}.
16713 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
16714 @code{pass}, included in Emacs 26+).
16715 @end itemize\n")
16716 (license license:gpl3+)))
16717
16718 (define-public emacs-image+
16719 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
16720 (package
16721 (name "emacs-image+")
16722 (version (git-version "0.6.2" "1" commit))
16723 (source
16724 (origin
16725 (method git-fetch)
16726 (uri (git-reference
16727 (url "https://github.com/mhayashi1120/Emacs-imagex")
16728 (commit commit)))
16729 (file-name (git-file-name name version))
16730 (sha256
16731 (base32
16732 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
16733 (build-system emacs-build-system)
16734 (inputs `(("imagemagick" ,imagemagick)))
16735 (arguments
16736 `(#:phases
16737 (modify-phases %standard-phases
16738 (add-after 'unpack 'configure
16739 (lambda* (#:key inputs outputs #:allow-other-keys)
16740 (let ((imagemagick (assoc-ref inputs "imagemagick")))
16741 ;; Specify the absolute file names of the various
16742 ;; programs so that everything works out-of-the-box.
16743 (chmod "image+.el" #o666)
16744 (emacs-substitute-variables
16745 "image+.el"
16746 ("imagex-convert-command"
16747 (string-append imagemagick "/bin/convert"))
16748 ("imagex-identify-command"
16749 (string-append imagemagick "/bin/identify")))))))))
16750 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
16751 (synopsis "Image manipulation extensions for Emacs")
16752 (description
16753 "Image+ provides keybindings allowing you to zoom in or zoom out of an
16754 image, rotate it, save modified images, and more.")
16755 (license license:gpl3+))))
16756
16757 (define-public emacs-package-lint
16758 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
16759 (package
16760 (name "emacs-package-lint")
16761 (version (git-version "0.5" "1" commit))
16762 (source
16763 (origin
16764 (method git-fetch)
16765 (uri (git-reference
16766 (url "https://github.com/purcell/package-lint")
16767 (commit commit)))
16768 (file-name (git-file-name name version))
16769 (sha256
16770 (base32
16771 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
16772 (build-system emacs-build-system)
16773 (home-page "https://github.com/purcell/package-lint")
16774 (synopsis "Linting library for elisp package authors")
16775 (description
16776 "This provides a list of issues with the Emacs package metadata of a file,
16777 e.g. the package dependencies it requires. See function
16778 @code{package-lint-buffer}. Checks will currently be enabled only if a
16779 \"Package-Requires:\" or \"Package-Version:\" header is present in the
16780 file.")
16781 (license license:gpl3+))))
16782
16783 (define-public emacs-picpocket
16784 (let ((version "40")
16785 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
16786 (package
16787 (name "emacs-picpocket")
16788 (version version)
16789 (source
16790 (origin
16791 (method git-fetch)
16792 (uri (git-reference
16793 (url "https://github.com/johanclaesson/picpocket")
16794 (commit commit)))
16795 (file-name (git-file-name name version))
16796 (sha256
16797 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
16798 (build-system emacs-build-system)
16799 (arguments ; needed for running tests
16800 `(#:tests? #t
16801 #:emacs ,emacs
16802 #:test-command '("emacs" "--batch"
16803 "-l" "picpocket-test.el"
16804 "-f" "ert-run-tests-batch-and-exit")))
16805 (home-page "https://github.com/johanclaesson/picpocket")
16806 (synopsis "Image viewer for Emacs")
16807 (description
16808 "Picpocket is an image viewer for GNU Emacs. It has commands for:
16809
16810 @itemize
16811 @item File operations on the picture files (delete, move, copy, hardlink).
16812 @item Scale and rotate the picture.
16813 @item Associate pictures with tags which are saved to disk.
16814 @item Filter pictures according to tags.
16815 @item Customizing keystrokes for quick tagging and file operations.
16816 @item Undo and browse history of undoable commands.
16817 @end itemize")
16818 (license license:gpl3+))))
16819
16820 (define-public emacs-mu4e-conversation
16821 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
16822 (revision "5"))
16823 (package
16824 (name "emacs-mu4e-conversation")
16825 (version (git-version "0.0.1" revision commit))
16826 (source
16827 (origin
16828 (method git-fetch)
16829 (uri (git-reference
16830 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
16831 (commit commit)))
16832 (file-name (git-file-name name version))
16833 (sha256
16834 (base32
16835 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
16836 (build-system emacs-build-system)
16837 (propagated-inputs
16838 `(("mu" ,mu)))
16839 (home-page
16840 "https://gitlab.com/Ambrevar/mu4e-conversation")
16841 (synopsis
16842 "Show a complete thread in a single buffer")
16843 (description
16844 "This package offers an alternate view to mu4e's e-mail display. It
16845 shows all e-mails of a thread in a single view, where each correspondent has
16846 their own face. Threads can be displayed linearly (in which case e-mails are
16847 displayed in chronological order) or as an Org document where the node tree
16848 maps the thread tree.")
16849 (license license:gpl3+))))
16850
16851 (define-public emacs-pinentry
16852 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
16853 (revision "1"))
16854 (package
16855 (name "emacs-pinentry")
16856 (version (git-version "0.1" revision commit))
16857 (source
16858 (origin
16859 (method url-fetch)
16860 (uri (string-append
16861 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
16862 "/packages/pinentry/pinentry.el?id=" commit))
16863 (file-name (string-append "pinentry.el"))
16864 (sha256
16865 (base32
16866 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
16867 (build-system emacs-build-system)
16868 (propagated-inputs
16869 `(("gnupg" ,gnupg)))
16870 (home-page "https://elpa.gnu.org/packages/pinentry.html")
16871 (synopsis "GnuPG Pinentry server implementation")
16872 (description
16873 "This package allows GnuPG passphrase to be prompted through the
16874 minibuffer instead of graphical dialog.
16875
16876 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
16877 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
16878 server with @code{M-x pinentry-start}.")
16879 (license license:gpl3+))))
16880
16881 (define-public emacs-so-long
16882 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
16883 (revision "2"))
16884 (package
16885 (name "emacs-so-long")
16886 (version (git-version "1.0" revision commit))
16887 (source
16888 (origin
16889 (method git-fetch)
16890 (uri (git-reference
16891 (url "https://git.savannah.gnu.org/git/so-long.git")
16892 (commit commit)))
16893 (file-name (git-file-name name version))
16894 (sha256
16895 (base32
16896 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
16897 (build-system emacs-build-system)
16898 (home-page "https://www.emacswiki.org/emacs/SoLong")
16899 (synopsis "Improve performance in files with long lines")
16900 (description "This package improves the performance of Emacs when
16901 viewing files with long lines.")
16902 (license license:gpl3+))))
16903
16904 (define-public emacs-github-review
16905 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
16906 (revision "2"))
16907 (package
16908 (name "emacs-github-review")
16909 (version (git-version "0.1" revision commit))
16910 (source
16911 (origin
16912 (method git-fetch)
16913 (uri (git-reference
16914 (url "https://github.com/charignon/github-review")
16915 (commit commit)))
16916 (file-name (git-file-name name version))
16917 (sha256
16918 (base32
16919 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
16920 (build-system emacs-build-system)
16921 (inputs
16922 `(("emacs-dash" ,emacs-dash)
16923 ("emacs-s" ,emacs-s)
16924 ("emacs-ghub" ,emacs-ghub)))
16925 (native-inputs
16926 `(("emacs-buttercup" ,emacs-buttercup)
16927 ("emacs-undercover" ,emacs-undercover)))
16928 (arguments
16929 `(#:tests? #t
16930 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
16931 (home-page "https://github.com/charignon/github-review")
16932 (synopsis "Review GitHub pull requests within Emacs")
16933 (description "This package provides commands to pull in, comment on, and
16934 accept and reject GitHub pull requests.")
16935 (license license:gpl3+))))
16936
16937 (define-public emacs-deadgrep
16938 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
16939 (revision "2"))
16940 (package
16941 (name "emacs-deadgrep")
16942 (version (git-version "0.8" revision commit))
16943 (source
16944 (origin
16945 (method git-fetch)
16946 (uri (git-reference
16947 (url "https://github.com/Wilfred/deadgrep")
16948 (commit commit)))
16949 (file-name (git-file-name name version))
16950 (sha256
16951 (base32
16952 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
16953 (build-system emacs-build-system)
16954 (inputs
16955 `(("emacs-dash" ,emacs-dash)
16956 ("emacs-s" ,emacs-s)
16957 ("emacs-spinner" ,emacs-spinner)))
16958 (home-page "https://github.com/Wilfred/deadgrep")
16959 (synopsis "Frontend for @code{ripgrep}")
16960 (description "This package provides an Emacs interface for performing
16961 searches with @code{ripgrep}.")
16962 (license license:gpl3+))))
16963
16964 (define-public emacs-focus
16965 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
16966 (version "0.1.1")
16967 (revision "1"))
16968 (package
16969 (name "emacs-focus")
16970 (version (git-version version revision commit))
16971 (source
16972 (origin
16973 (method git-fetch)
16974 (uri (git-reference
16975 (url "https://github.com/larstvei/Focus")
16976 (commit commit)))
16977 (file-name (git-file-name name version))
16978 (sha256
16979 (base32
16980 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
16981 (build-system emacs-build-system)
16982 (home-page "https://github.com/larstvei/Focus")
16983 (synopsis "Minor mode for focusing in on relevant text")
16984 (description "This package provides a minor mode that dims the color of
16985 text in neighboring sections.")
16986 (license license:gpl3+))))
16987
16988 (define-public emacs-pandoc-mode
16989 (package
16990 (name "emacs-pandoc-mode")
16991 (version "2.27.2")
16992 (source
16993 (origin
16994 (method git-fetch)
16995 (uri (git-reference
16996 (url "https://github.com/joostkremers/pandoc-mode")
16997 (commit version)))
16998 (file-name (git-file-name name version))
16999 (sha256
17000 (base32
17001 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
17002 (build-system emacs-build-system)
17003 (propagated-inputs
17004 `(("emacs-dash" ,emacs-dash)
17005 ("emacs-hydra" ,emacs-hydra)))
17006 (home-page "https://github.com/joostkremers/pandoc-mode")
17007 (synopsis "Minor mode for interacting with Pandoc")
17008 (description "This package provides a Hydra menu for interacting with the
17009 Pandoc, the document-conversion tool.")
17010 (license license:bsd-3)))
17011
17012 (define-public emacs-hlint-refactor-mode
17013 (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
17014 (revision "1"))
17015 (package
17016 (name "emacs-hlint-refactor-mode")
17017 (version (git-version "0.0.1" revision commit))
17018 (source
17019 (origin
17020 (method git-fetch)
17021 (uri (git-reference
17022 (url "https://github.com/mpickering/hlint-refactor-mode")
17023 (commit commit)))
17024 (file-name (git-file-name name version))
17025 (sha256
17026 (base32
17027 "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"))))
17028 (build-system emacs-build-system)
17029 (propagated-inputs
17030 `(("apply-refact" ,apply-refact)
17031 ("hlint" ,hlint)))
17032 (home-page "https://github.com/mpickering/hlint-refactor-mode")
17033 (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option")
17034 (description "This package applies refactoring suggestions from
17035 @code{hlint}.")
17036 (license license:expat))))
17037
17038 (define-public emacs-ccls
17039 (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0")
17040 (revision "4"))
17041 (package
17042 (name "emacs-ccls")
17043 (version (git-version "0.1" revision commit))
17044 (source
17045 (origin
17046 (method git-fetch)
17047 (uri (git-reference
17048 (url "https://github.com/MaskRay/emacs-ccls")
17049 (commit commit)))
17050 (file-name (git-file-name name version))
17051 (sha256
17052 (base32
17053 "1ykgw21ypyhwlyflppjcgqrj1xw4d9rld4z65qvwhk3f12cv113j"))))
17054 (build-system emacs-build-system)
17055 (propagated-inputs
17056 `(("ccls" ,ccls)
17057 ("emacs-dash" ,emacs-dash)
17058 ("emacs-projectile" ,emacs-projectile)
17059 ("emacs-lsp-mode" ,emacs-lsp-mode)))
17060 (home-page "https://github.com/MaskRay/emacs-ccls")
17061 (synopsis "Emacs support for the @code{ccls} language server")
17062 (description "This package extends @code{lsp-mode} to work with @code{C}
17063 and @code{C++} files through the @code{ccls} language server.")
17064 (license license:expat))))
17065
17066 (define-public emacs-org-brain
17067 (package
17068 (name "emacs-org-brain")
17069 (version "0.5")
17070 (source
17071 (origin
17072 (method git-fetch)
17073 (uri (git-reference
17074 (url "https://github.com/Kungsgeten/org-brain.git")
17075 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
17076 (file-name (git-file-name name version))
17077 (sha256
17078 (base32
17079 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
17080 (build-system emacs-build-system)
17081 (home-page "https://github.com/Kungsgeten/org-brain")
17082 (synopsis "Org-mode wiki and concept-mapping for Emacs")
17083 (description "@code{emacs-org-brain} implements a variant of concept
17084 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
17085 org-mode entries, where each entry is a file or a headline, and you can get a
17086 visual overview of the relationships between the entries: parents, children,
17087 siblings and friends. This visual overview can also be used to browse your
17088 entries. You can think of entries as nodes in a mind map, or pages in a
17089 wiki.")
17090 (license license:expat)))
17091
17092 (define-public emacs-recent-addresses
17093 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
17094 (revision "1"))
17095 (package
17096 (name "emacs-recent-addresses")
17097 (home-page "https://nschum.de/src/emacs/recent-addresses/")
17098 (version (git-version "0.1" revision commit))
17099 (source (origin
17100 (method git-fetch)
17101 (uri (git-reference
17102 ;; Note: Use a branch that works with Helm. Submitted
17103 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
17104 (url "https://github.com/civodul/recent-addresses.el")
17105 (commit commit)))
17106 (sha256
17107 (base32
17108 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
17109 (file-name (git-file-name name version))))
17110 (build-system emacs-build-system)
17111 (synopsis "Record recently-used email addressed and auto-complete them")
17112 (description
17113 "@code{recent-addresses} is an Emacs package that allows you to quickly
17114 look up previously used email addresses. It can be used alongside the Gnus
17115 email client.")
17116 (license license:gpl2+))))
17117
17118 (define-public emacs-fold-dwim
17119 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
17120 (revision "0"))
17121 (package
17122 (name "emacs-fold-dwim")
17123 (version (git-version "1.2" revision commit))
17124 (home-page "https://github.com/emacsattic/fold-dwim")
17125 (source (origin
17126 (method git-fetch)
17127 (uri (git-reference (url home-page) (commit commit)))
17128 (sha256
17129 (base32
17130 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
17131 (file-name (git-file-name name version))))
17132 (build-system emacs-build-system)
17133 (synopsis "Unified user interface for Emacs folding modes")
17134 (description
17135 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
17136 can do different things depending on the context. In this package, it means
17137 that, if the cursor is in a currently hidden folded construction, we want to
17138 show it; if it's not, we want to hide whatever fold the cursor is in.")
17139 (license license:gpl2+))))
17140
17141 (define-public emacs-markup-faces
17142 (package
17143 (name "emacs-markup-faces")
17144 (version "1.0.0")
17145 (source
17146 (origin
17147 (method url-fetch)
17148 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
17149 version ".el"))
17150 (sha256
17151 (base32
17152 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
17153 (build-system emacs-build-system)
17154 (home-page "https://github.com/sensorflo/markup-faces")
17155 (synopsis "Collection of Emacs faces for markup language modes")
17156 (description "emacs-markup-faces is like font-lock-faces, but tailored for
17157 markup languages instead programming languages. The sub group markup-faces-text
17158 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
17159 common look and feel, or let's say theme, across different markup language modes
17160 and 'text viewing modes' respectively.")
17161 (license license:gpl3+)))
17162
17163 (define-public emacs-adoc-mode
17164 (package
17165 (name "emacs-adoc-mode")
17166 (version "0.6.6")
17167 (source
17168 (origin
17169 (method git-fetch)
17170 (uri (git-reference
17171 (url "https://github.com/sensorflo/adoc-mode.git")
17172 (commit (string-append "V" version))))
17173 (file-name (git-file-name name version))
17174 (sha256
17175 (base32
17176 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
17177 (build-system emacs-build-system)
17178 (arguments
17179 `(#:phases
17180 (modify-phases %standard-phases
17181 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
17182 (add-after 'unpack 'disable-failing-tests
17183 (lambda _
17184 (let-syntax
17185 ((disable-tests
17186 (syntax-rules ()
17187 ((_ file ())
17188 (syntax-error "test names list must not be empty"))
17189 ((_ file (test-name ...))
17190 (substitute* file
17191 (((string-append "^\\(ert-deftest " test-name ".*") all)
17192 (string-append all "(skip-unless nil)\n")) ...)))))
17193 (disable-tests "adoc-mode-test.el"
17194 ("adoctest-test-tempo-delimited-blocks"
17195 "adoctest-test-tempo-macros"
17196 "adoctest-test-tempo-paragraphs"
17197 "adoctest-test-tempo-passthroug-macros"
17198 "adoctest-test-tempo-quotes")))
17199 #t)))
17200 #:tests? #t
17201 #:test-command '("emacs" "-Q" "-batch"
17202 "-l" "adoc-mode-test.el"
17203 "-f" "ert-run-tests-batch-and-exit")))
17204 (propagated-inputs
17205 `(("emacs-markup-faces" ,emacs-markup-faces)))
17206 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
17207 (synopsis "AsciiDoc mode for Emacs")
17208 (description "This package provides an Emacs major mode for editing AsciiDoc
17209 files. It focuses on highlighting the document to improve readability.")
17210 (license license:gpl2+)))
17211
17212 (define-public emacs-racer
17213 (package
17214 (name "emacs-racer")
17215 (version "1.2")
17216 (source
17217 (origin
17218 (method git-fetch)
17219 (uri
17220 (git-reference
17221 (url "https://github.com/racer-rust/emacs-racer")
17222 (commit version)))
17223 (file-name (git-file-name name version))
17224 (sha256
17225 (base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6"))))
17226 (arguments
17227 `(#:tests? #t
17228 #:test-command '("make" "test")
17229 #:phases
17230 (modify-phases %standard-phases
17231 (add-before 'check 'fix-makefile
17232 (lambda _
17233 (substitute* "Makefile"
17234 (("\\$\\{CASK\\} exec ") ""))
17235 #t)))))
17236 (native-inputs
17237 `(("emacs-ert-runner" ,emacs-ert-runner)
17238 ("emacs-undercover" ,emacs-undercover)))
17239 (propagated-inputs
17240 `(("emacs-dash" ,emacs-dash)
17241 ("emacs-f" ,emacs-f)
17242 ("emacs-pos-tip" ,emacs-pos-tip)
17243 ("emacs-rust-mode" ,emacs-rust-mode)
17244 ("emacs-s" ,emacs-s)))
17245 (build-system emacs-build-system)
17246 (home-page "https://github.com/racer-rust/emacs-racer")
17247 (synopsis "Racer support for Emacs")
17248 (description
17249 "This is the official Emacs package for Racer. It supports code
17250 completion of variables, functions and modules. It can also jump to
17251 definition of functions and types, and show a help buffer based on the
17252 docstring of the thing at point.")
17253 (license license:expat)))
17254
17255 (define-public emacs-rust-mode
17256 (package
17257 (name "emacs-rust-mode")
17258 (version "0.4.0")
17259 (source (origin
17260 (method git-fetch)
17261 (uri (git-reference
17262 (url "https://github.com/rust-lang/rust-mode")
17263 (commit version)))
17264 (file-name (git-file-name name version))
17265 (sha256
17266 (base32
17267 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
17268 (build-system emacs-build-system)
17269 (arguments
17270 `(#:phases
17271 (modify-phases %standard-phases
17272 (replace 'check
17273 (lambda _
17274 (invoke "sh" "run_rust_emacs_tests.sh"))))))
17275 (home-page "https://github.com/rust-lang/rust-mode")
17276 (synopsis "Major Emacs mode for editing Rust source code")
17277 (description "This package provides a major Emacs mode for editing Rust
17278 source code.")
17279 (license (list license:expat
17280 license:asl2.0))))
17281
17282 (define-public emacs-ztree
17283 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
17284 (package
17285 (name "emacs-ztree")
17286 (version (git-version "1.0.5" "1" commit))
17287 (source
17288 (origin
17289 (method git-fetch)
17290 (uri (git-reference
17291 (url "https://github.com/fourier/ztree")
17292 (commit commit)))
17293 (file-name (git-file-name name version))
17294 (sha256
17295 (base32
17296 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
17297 (build-system emacs-build-system)
17298 (home-page "https://github.com/fourier/ztree")
17299 (synopsis "Directory tree comparison mode for Emacs")
17300 (description "Ztree is a project dedicated to implementation of several
17301 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
17302 @command{ztree-diff} and @command{ztree-dir} (the basis of
17303 @command{ztree-diff}).")
17304 (license license:gpl3))))
17305
17306 (define-public emacs-helm-org-contacts
17307 (let ((commit "e7f11615802df55bb8b679450b5a5ef82a9081f9"))
17308 (package
17309 (name "emacs-helm-org-contacts")
17310 (version (git-version "20200310" "1" commit))
17311 (source
17312 (origin
17313 (method git-fetch)
17314 (uri (git-reference
17315 (url "https://github.com/tmalsburg/helm-org-contacts")
17316 (commit commit)))
17317 (file-name (git-file-name name version))
17318 (sha256
17319 (base32
17320 "06a1gbrq3qcfsn0kyv4i24x1xxfrrwqa3kgfj4xa4va88q2vqyb5"))))
17321 (build-system emacs-build-system)
17322 (propagated-inputs
17323 `(("emacs-dash" ,emacs-dash)
17324 ("emacs-helm" ,emacs-helm)
17325 ("emacs-s" ,emacs-s)))
17326 (home-page "https://github.com/tmalsburg/helm-org-contacts")
17327 (synopsis "Helm source for org-contacts")
17328 (description "This Helm source can be used to search contacts stored in
17329 org-contacts format. There are actions for inserting postal addresses, email
17330 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
17331 was called.")
17332 (license license:gpl3))))
17333
17334 (define-public emacs-dired-du
17335 (package
17336 (name "emacs-dired-du")
17337 (version "0.5.2")
17338 (source
17339 (origin
17340 (method url-fetch)
17341 (uri (string-append
17342 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
17343 (sha256
17344 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
17345 (build-system emacs-build-system)
17346 (home-page "https://elpa.gnu.org/packages/dired-du.html")
17347 (synopsis "Dired with recursive directory sizes")
17348 (description
17349 "Display the recursive size of directories in Dired.
17350 This file defines a minor mode @command{dired-du-mode} to show the recursive
17351 size of directories in Dired buffers. If @command{du} program is available,
17352 then the directory sizes are obtained with it. Otherwise, the directory sizes
17353 are obtained with Lisp. The former is faster and provide a more precise
17354 value. For directories where the user doesn't have read permission, the
17355 recursive size is not obtained. Once this mode is enabled, every new Dired
17356 buffer displays recursive dir sizes.")
17357 (license license:gpl3+)))
17358
17359 (define-public emacs-dired-rsync
17360 (package
17361 (name "emacs-dired-rsync")
17362 (version "0.4")
17363 (source (origin
17364 (method git-fetch)
17365 (uri (git-reference
17366 (url "https://github.com/stsquad/dired-rsync.git")
17367 (commit version)))
17368 (file-name (git-file-name name version))
17369 (sha256
17370 (base32
17371 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
17372 (build-system emacs-build-system)
17373 (propagated-inputs
17374 `(("emacs-s" ,emacs-s)
17375 ("emacs-dash" ,emacs-dash)))
17376 (home-page "https://github.com/stsquad/dired-rsync/")
17377 (synopsis "Support for rsync from Emacs dired buffers")
17378 (description "This package adds a single command @code{dired-rsync} which
17379 allows the user to copy marked files in a dired buffer via @code{rsync}. This
17380 is useful, especially for large files, because the copy happens in the
17381 background and doesn’t lock up Emacs. It is also more efficient than using
17382 tramps own encoding methods for moving data between systems.")
17383 (license license:gpl3+)))
17384
17385 (define-public emacs-pcre2el
17386 ;; Last release is very old so we get the latest commit.
17387 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
17388 (package
17389 (name "emacs-pcre2el")
17390 (version (git-version "1.8" "1" commit))
17391 (source
17392 (origin
17393 (method git-fetch)
17394 (uri (git-reference
17395 (url "https://github.com/joddie/pcre2el")
17396 (commit commit)))
17397 (file-name (git-file-name name version))
17398 (sha256
17399 (base32
17400 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
17401 (build-system emacs-build-system)
17402 (home-page "https://github.com/joddie/pcre2el")
17403 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
17404 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
17405 Tools) is a utility for working with regular expressions in Emacs, based on a
17406 recursive-descent parser for regexp syntax. In addition to converting (a
17407 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
17408
17409 @itemize
17410 @item convert Emacs syntax to PCRE
17411 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
17412 @item untangle complex regexps by showing the parse tree in @code{rx} form and
17413 highlighting the corresponding chunks of code
17414 @item show the complete list of strings (productions) matching a regexp,
17415 provided the list is finite
17416 @item provide live font-locking of regexp syntax (so far only for Elisp
17417 buffers – other modes on the TODO list).
17418 @end itemize\n")
17419 (license license:gpl3))))
17420
17421 (define-public emacs-magit-todos
17422 (package
17423 (name "emacs-magit-todos")
17424 (version "1.4.1")
17425 (source
17426 (origin
17427 (method git-fetch)
17428 (uri (git-reference
17429 (url "https://github.com/alphapapa/magit-todos")
17430 (commit version)))
17431 (file-name (git-file-name name version))
17432 (sha256
17433 (base32
17434 "1rcl6j53yabxqk3jzgaxvm3wqq7rayf1hdib2v2fapw5b0layym6"))))
17435 (build-system emacs-build-system)
17436 (propagated-inputs
17437 `(("emacs-async" ,emacs-async)
17438 ("emacs-dash" ,emacs-dash)
17439 ("emacs-f" ,emacs-f)
17440 ("emacs-hl-todo" ,emacs-hl-todo)
17441 ("magit" ,emacs-magit)
17442 ("emacs-pcre2el" ,emacs-pcre2el)
17443 ("emacs-s" ,emacs-s)))
17444 (home-page "https://github.com/alphapapa/magit-todos")
17445 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
17446 (description "This package displays keyword entries from source code
17447 comments and Org files in the Magit status buffer. Activating an item jumps
17448 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
17449 few (like NOTE).")
17450 (license license:gpl3)))
17451
17452 (define-public emacs-git-annex
17453 ;; Unreleased version has a fontification fix.
17454 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
17455 (revision "2"))
17456 (package
17457 (name "emacs-git-annex")
17458 (version (git-version "1.1" revision commit))
17459 (source
17460 (origin
17461 (method git-fetch)
17462 (uri (git-reference
17463 (url "https://github.com/jwiegley/git-annex-el")
17464 (commit commit)))
17465 (file-name (git-file-name name version))
17466 (sha256
17467 (base32
17468 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
17469 (build-system emacs-build-system)
17470 (home-page "https://github.com/jwiegley/git-annex-el")
17471 (synopsis "Emacs integration for git-annex")
17472 (description "Enhances Dired and buffers visiting annex files with
17473 git-annex functionality. In Dired, the names of annex files are shortened by
17474 hiding the symbolic links and fontified based on whether content is present.
17475 Commands for performing some common operations (e.g., unlocking and adding
17476 files) are provided.")
17477 (license license:gpl2+))))
17478
17479 (define-public emacs-hackernews
17480 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
17481 (revision "2"))
17482 (package
17483 (name "emacs-hackernews")
17484 (version (git-version "0.5.0" revision commit))
17485 (source
17486 (origin
17487 (method git-fetch)
17488 (uri (git-reference
17489 (url "https://github.com/clarete/hackernews.el")
17490 (commit commit)))
17491 (file-name (git-file-name name version))
17492 (sha256
17493 (base32
17494 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
17495 (build-system emacs-build-system)
17496 (home-page "https://github.com/clarete/hackernews.el")
17497 (synopsis "Hacker News client for Emacs")
17498 (description "The @command{hackernews} package is able to fetch stories
17499 from six different Hacker News feeds, namely top, new, best, ask, show and job
17500 stories. The default feed is top stories, which corresponds to the Hacker
17501 News homepage.")
17502 (license license:gpl3))))
17503
17504 (define-public emacs-youtube-dl
17505 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
17506 (revision "2"))
17507 (package
17508 (name "emacs-youtube-dl")
17509 (version (git-version "1.0" "2" commit))
17510 (source
17511 (origin
17512 (method git-fetch)
17513 (uri (git-reference
17514 (url "https://github.com/skeeto/youtube-dl-emacs/")
17515 (commit commit)))
17516 (file-name (git-file-name name version))
17517 (sha256
17518 (base32
17519 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
17520 (build-system emacs-build-system)
17521 (inputs
17522 `(("youtube-dl" ,youtube-dl)))
17523 (arguments
17524 `(#:phases
17525 (modify-phases %standard-phases
17526 (add-after 'unpack 'configure
17527 (lambda* (#:key inputs #:allow-other-keys)
17528 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
17529 ;; .el is read-only in git.
17530 (chmod "youtube-dl.el" #o644)
17531 ;; Specify the absolute file names of the various
17532 ;; programs so that everything works out-of-the-box.
17533 (emacs-substitute-variables
17534 "youtube-dl.el"
17535 ("youtube-dl-program"
17536 (string-append youtube-dl "/bin/youtube-dl")))))))))
17537 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
17538 (synopsis "Emacs youtube-dl download manager")
17539 (description "This package manages a video download queue for
17540 @command{youtube-dl}, which serves as the back end. It manages a single
17541 @command{youtube-dl} subprocess, downloading one video at a time. New videos
17542 can be queued at any time.")
17543 (license license:unlicense))))
17544
17545 (define-public emacs-org-web-tools
17546 (package
17547 (name "emacs-org-web-tools")
17548 (version "1.0")
17549 (source
17550 (origin
17551 (method git-fetch)
17552 (uri (git-reference
17553 (url "https://github.com/alphapapa/org-web-tools")
17554 (commit version)))
17555 (file-name (git-file-name name version))
17556 (sha256
17557 (base32
17558 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
17559 (build-system emacs-build-system)
17560 (propagated-inputs
17561 `(("emacs-dash" ,emacs-dash)
17562 ("emacs-esxml" ,emacs-esxml)
17563 ("emacs-s" ,emacs-s)))
17564 (inputs
17565 `(("pandoc" ,ghc-pandoc)))
17566 (arguments
17567 `(#:phases
17568 (modify-phases %standard-phases
17569 (add-after 'unpack 'patch-exec-paths
17570 (lambda* (#:key inputs #:allow-other-keys)
17571 (let ((pandoc (assoc-ref inputs "pandoc")))
17572 (substitute* "org-web-tools.el"
17573 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
17574 #t))))))
17575 (home-page "https://github.com/alphapapa/org-web-tools")
17576 (synopsis "Display/Process web page as Org-mode content")
17577 (description "This package contains library functions and commands useful
17578 for retrieving web page content and processing it into Org-mode content.
17579
17580 For example, you can copy a URL to the clipboard or kill-ring, then run a
17581 command that downloads the page, isolates the “readable” content with
17582 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
17583 displays it in an Org-mode buffer. Another command does all of that but
17584 inserts it as an Org entry instead of displaying it in a new buffer.")
17585 (license license:gpl3+)))
17586
17587 (define-public emacs-blimp
17588 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
17589 (package
17590 (name "emacs-blimp")
17591 (version (git-version "0.0.0" "1" commit))
17592 (source
17593 (origin
17594 (method git-fetch)
17595 (uri (git-reference
17596 (url "https://github.com/walseb/blimp")
17597 (commit commit)))
17598 (file-name (git-file-name name version))
17599 (sha256
17600 (base32
17601 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
17602 (build-system emacs-build-system)
17603 (propagated-inputs
17604 `(("emacs-eimp" ,emacs-eimp)))
17605 (home-page "https://github.com/walseb/blimp")
17606 (synopsis "Emacs wrapper around all Imagemagick commands")
17607 (description "Blimp (Bustling Image Manipulation Package) is a complete
17608 wrapper around all Imagemagick commands with descriptions, autocompletion (for
17609 some commands) and hints displayed in prompt using @command{eimp.el} to
17610 execute its commands and resize images.")
17611 (license license:gpl3+))))
17612
17613 (define-public emacs-synosaurus
17614 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
17615 (package
17616 (name "emacs-synosaurus")
17617 (version (git-version "0.1.0" "1" commit))
17618 (source
17619 (origin
17620 (method git-fetch)
17621 (uri (git-reference
17622 (url "https://github.com/hpdeifel/synosaurus")
17623 (commit commit)))
17624 (file-name (git-file-name name version))
17625 (sha256
17626 (base32
17627 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
17628 (build-system emacs-build-system)
17629 (propagated-inputs
17630 `(("wordnet" ,wordnet)))
17631 (arguments
17632 `(#:phases
17633 (modify-phases %standard-phases
17634 (add-after 'unpack 'configure
17635 (lambda* (#:key inputs outputs #:allow-other-keys)
17636 (let ((wn (assoc-ref inputs "wordnet")))
17637 ;; .el is read-only in git.
17638 (chmod "synosaurus-wordnet.el" #o644)
17639 ;; Specify the absolute file names of the various
17640 ;; programs so that everything works out-of-the-box.
17641 (emacs-substitute-variables
17642 "synosaurus-wordnet.el"
17643 ("wordnet-command"
17644 (string-append wn "/bin/wn")))))))))
17645 (home-page "https://github.com/hpdeifel/synosaurus")
17646 (synopsis "Extensible thesaurus mode for Emacs")
17647 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
17648 backends, including the @command{wordnet} offline backend.")
17649 (license license:gpl3+))))
17650
17651 (define-public emacs-editorconfig
17652 (package
17653 (name "emacs-editorconfig")
17654 (version "0.8.1")
17655 (source
17656 (origin
17657 (method git-fetch)
17658 (uri (git-reference
17659 (url "https://github.com/editorconfig/editorconfig-emacs")
17660 (commit (string-append "v" version))))
17661 (file-name (git-file-name name version))
17662 (sha256
17663 (base32
17664 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
17665 (build-system emacs-build-system)
17666 (home-page "https://github.com/editorconfig/editorconfig-emacs")
17667 (synopsis "Define and maintain consistent coding styles between different
17668 editors and IDEs")
17669 (description "The EditorConfig project consists of a file format for
17670 defining coding styles and a collection of text editor plugins that enable
17671 editors to read the file format and adhere to defined styles. EditorConfig
17672 files are easily readable and they work nicely with version control systems.")
17673 (license license:gpl3+)))
17674
17675 (define-public emacs-all-the-icons
17676 (package
17677 (name "emacs-all-the-icons")
17678 (version "4.0.1")
17679 (source
17680 (origin
17681 (method git-fetch)
17682 (uri (git-reference
17683 (url "https://github.com/domtronn/all-the-icons.el.git")
17684 (commit version)))
17685 (file-name (git-file-name name version))
17686 (sha256
17687 (base32 "0yh7gnv9xfqn8q4rzaa6wpyn9575vyfxy7d3afly2mqsb367fgm5"))))
17688 (build-system emacs-build-system)
17689 (arguments
17690 `(#:include '("\\.el$" "^data/" "^fonts/")
17691 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
17692 ;; all-the-icons--root-code". Ignoring tests.
17693 #:exclude '("^test/")
17694 #:tests? #f))
17695 (propagated-inputs
17696 `(("f" ,emacs-f)
17697 ("memoize" ,emacs-memoize)))
17698 (home-page "https://github.com/domtronn/all-the-icons.el")
17699 (synopsis "Collect icon fonts and propertize them within Emacs")
17700 (description
17701 "All-the-icons is a utility package to collect various icon fonts and
17702 propertize them within Emacs. Icon fonts allow you to propertize and format
17703 icons the same way you would normal text. This enables things such as better
17704 scaling of and anti aliasing of the icons.")
17705 ;; Package is released under Expat license. Elisp files are licensed
17706 ;; under GPL3+. Fonts come with various licenses: Expat for
17707 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
17708 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
17709 ;; "ocitcons.ttf" and "weathericons.ttf".
17710 (license
17711 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
17712
17713 (define-public emacs-wttrin
17714 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
17715 (revision "1"))
17716 (package
17717 (name "emacs-wttrin")
17718 (version (git-version "0.2.0" revision commit))
17719 (source (origin
17720 (method git-fetch)
17721 (uri (git-reference
17722 (url "https://github.com/bcbcarl/emacs-wttrin.git")
17723 (commit commit)))
17724 (file-name (git-file-name name version))
17725 (sha256
17726 (base32
17727 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
17728 (build-system emacs-build-system)
17729 (propagated-inputs
17730 `(("emacs-xterm-color" ,emacs-xterm-color)))
17731 (home-page "https://github.com/bcbcarl/emacs-wttrin")
17732 (synopsis "Frontend for weather web service @url{wttr.in}")
17733 (description "This package provides local weather information from
17734 @url{wttr.in}.")
17735 (license license:expat))))
17736
17737 (define-public emacs-powerline
17738 (package
17739 (name "emacs-powerline")
17740 (version "2.4")
17741 (source
17742 (origin
17743 (method git-fetch)
17744 (uri (git-reference
17745 (url "https://github.com/milkypostman/powerline.git")
17746 (commit version)))
17747 (file-name (git-file-name name version))
17748 (sha256
17749 (base32
17750 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
17751 (build-system emacs-build-system)
17752 (home-page "https://github.com/milkypostman/powerline/")
17753 (synopsis "Mode-line plugin for Emacs")
17754 (description "Powerline is a utility plugin which allows you to create
17755 a better-looking, more functional Emacs mode-line. A collection of predefined
17756 themes comes with the package.")
17757 (license license:gpl3+)))
17758
17759 (define-public emacs-spaceline
17760 (package
17761 (name "emacs-spaceline")
17762 (version "2.0.1")
17763 (source
17764 (origin
17765 (method git-fetch)
17766 (uri (git-reference
17767 (url "https://github.com/TheBB/spaceline.git")
17768 (commit (string-append "v" version))))
17769 (file-name (git-file-name name version))
17770 (sha256
17771 (base32
17772 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
17773 (build-system emacs-build-system)
17774 (propagated-inputs
17775 `(("dash" ,emacs-dash)
17776 ("powerline" ,emacs-powerline)
17777 ("s" ,emacs-s)))
17778 (home-page "https://github.com/TheBB/spaceline")
17779 (synopsis "Powerline theme from Spacemacs")
17780 (description "Spaceline provides Spacemacs' mode-line theme.
17781 This package provides features for three kinds of users.
17782
17783 @itemize
17784 @item You just want to use the Spacemacs mode-line theme and forget about it.
17785 @item You want to use something similar to the Spacemacs mode-line theme, but
17786 with a handful of easy tweaks.
17787 @item You want an easy-to-use library for building your own mode-line from
17788 scratch, and you think the Spacemacs theme looks good.
17789 @end itemize")
17790 (license license:gpl3+)))
17791
17792 (define-public emacs-column-marker
17793 (package
17794 (name "emacs-column-marker")
17795 (version "9")
17796 (source
17797 (origin
17798 (method url-fetch)
17799 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
17800 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
17801 (build-system emacs-build-system)
17802 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
17803 (synopsis "Emacs mode for highlighting columns")
17804 (description
17805 "With @code{column-marker.el} you can highlight any number of text columns.
17806 Three such highlight column markers are provided by default. This is
17807 especially useful for languages like COBOL or Fortran where certain columns
17808 have special meaning. It is also handy for aligning text across long vertical
17809 distances. Multi-column characters, such as @kbd{TAB} are treated
17810 correctly.")
17811 (license license:gpl2+)))
17812
17813 (define-public emacs-slime-repl-ansi-color
17814 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
17815 (package
17816 (name "emacs-slime-repl-ansi-color")
17817 (version (git-version "0.0.0" "1" commit))
17818 (source (origin
17819 (method git-fetch)
17820 (uri (git-reference
17821 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
17822 (commit commit)))
17823 (file-name (git-file-name name version))
17824 (sha256
17825 (base32
17826 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
17827 (build-system emacs-build-system)
17828 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
17829 (synopsis "Color ANSI codes in the REPL of SLIME")
17830 (description "Color ANSI codes in the REPL of SLIME")
17831 (license license:gpl2+))))
17832
17833 (define-public emacs-helm-slime
17834 (package
17835 (name "emacs-helm-slime")
17836 (version "0.4.0")
17837 (source (origin
17838 (method git-fetch)
17839 (uri (git-reference
17840 (url "https://github.com/emacs-helm/helm-slime")
17841 (commit version)))
17842 (file-name (git-file-name name version))
17843 (sha256
17844 (base32
17845 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
17846 (build-system emacs-build-system)
17847 (propagated-inputs
17848 `(("emacs-helm" ,emacs-helm)
17849 ("emacs-slime" ,emacs-slime)))
17850 (home-page "https://github.com/emacs-helm/helm-slime")
17851 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
17852 (description "Helm-SLIME defines a few new commands:
17853
17854 @itemize
17855 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
17856 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
17857 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
17858 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
17859 @end itemize\n")
17860 (license license:gpl3+)))
17861
17862 (define-public emacs-helm-sly
17863 (package
17864 (name "emacs-helm-sly")
17865 (version "0.4.1")
17866 (source (origin
17867 (method git-fetch)
17868 (uri (git-reference
17869 (url "https://github.com/emacs-helm/helm-sly")
17870 (commit version)))
17871 (file-name (git-file-name name version))
17872 (sha256
17873 (base32
17874 "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
17875 (build-system emacs-build-system)
17876 (propagated-inputs
17877 `(("emacs-helm" ,emacs-helm)
17878 ("emacs-sly" ,emacs-sly)))
17879 (home-page "https://github.com/emacs-helm/helm-sly")
17880 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
17881 (description "Helm-SLY defines a few new commands:
17882
17883 @itemize
17884 @item helm-sly-list-connections: Yet another Lisp connection list with Helm.
17885 @item: helm-sly-apropos: Yet another @command{apropos} with Helm.
17886 @item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
17887 extra source of Lisp-related buffers, like the events buffer or the scratch
17888 buffer.
17889 @end itemize\n")
17890 (license license:gpl3+)))
17891
17892 (define-public emacs-gtk-look
17893 (package
17894 (name "emacs-gtk-look")
17895 (version "29")
17896 (source (origin
17897 (method url-fetch)
17898 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
17899 (sha256
17900 (base32
17901 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
17902 (build-system emacs-build-system)
17903 (arguments
17904 `(#:phases
17905 (modify-phases %standard-phases
17906 (add-after 'unpack 'configure
17907 (lambda _
17908 ;; File is read-only.
17909 (chmod "gtk-look.el" #o644)
17910 (emacs-substitute-variables "gtk-look.el"
17911 ("gtk-lookup-devhelp-indices"
17912 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
17913 #t)))))
17914 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
17915 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
17916 (description "@command{gtk-look} finds and displays HTML documentation for
17917 GTK, GNOME and Glib functions and variables in Emacs, similar to what
17918 info-lookup-symbol does for info files (C-h S). The documentation is expected
17919 to be devhelp indexes with HTML files. The location of the indexes can be
17920 customized. In addition to C code development @command{gtk-look} is good for
17921
17922 @itemize
17923 @item @command{perl-gtk2}, recognising class funcs like
17924 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
17925 @item @command{guile-gnome}, recognising methods like @command{set-text} and
17926 classes like @command{<gtk-window>}.
17927 @end itemize\n")
17928 (license license:gpl3+)))
17929
17930 (define-public emacs-ov
17931 (package
17932 (name "emacs-ov")
17933 (version "1.0.6")
17934 (source (origin
17935 (method git-fetch)
17936 (uri (git-reference
17937 (url "https://github.com/ShingoFukuyama/ov.el.git")
17938 (commit version)))
17939 (file-name (git-file-name name version))
17940 (sha256
17941 (base32
17942 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
17943 (build-system emacs-build-system)
17944 (home-page "https://github.com/ShingoFukuyama/ov.el")
17945 (synopsis "Overlay library for Emacs Lisp")
17946 (description "@code{ov.el} provides a simple way to manipulate overlays in
17947 Emacs.")
17948 (license license:gpl3+)))
17949
17950 (define-public emacs-matrix-client
17951 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
17952 (package
17953 (name "emacs-matrix-client")
17954 (version (git-version "0.0.0" "4" commit))
17955 (source (origin
17956 (method git-fetch)
17957 (uri (git-reference
17958 (url "https://github.com/jgkamat/matrix-client-el.git")
17959 (commit commit)))
17960 (file-name (git-file-name name version))
17961 (sha256
17962 (base32
17963 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
17964 (build-system emacs-build-system)
17965 (arguments
17966 `(#:phases
17967 (modify-phases %standard-phases
17968 (add-after 'unpack 'add-missing-require
17969 ;; Fix a filter error at runtime due to a missing require.
17970 ;; Reported upstream:
17971 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
17972 (lambda _
17973 (substitute* "matrix-client-room.el"
17974 (("\\(require 'dash-functional\\)" all)
17975 (string-append all "\n" "(require 'anaphora)")))
17976 #t)))))
17977 (propagated-inputs
17978 `(("a" ,emacs-a)
17979 ("anaphora" ,emacs-anaphora)
17980 ("dash" ,emacs-dash)
17981 ("esxml" ,emacs-esxml)
17982 ("f" ,emacs-f)
17983 ("frame-purpose" ,emacs-frame-purpose)
17984 ("ht" ,emacs-ht)
17985 ("ov" ,emacs-ov)
17986 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
17987 ("request" ,emacs-request)
17988 ("s" ,emacs-s)
17989 ("tracking" ,emacs-tracking)))
17990 (home-page "https://github.com/jgkamat/matrix-client-el")
17991 (synopsis "Matrix client for Emacs")
17992 (description "@code{matrix-client} is a simple chat UI to Matrix.org
17993 rooms. It also provides an API which allows Emacs to seamlessly create
17994 RPC channels with users and other software.")
17995 (license license:gpl3+))))
17996
17997 (define-public emacs-sesman
17998 (package
17999 (name "emacs-sesman")
18000 (version "0.3.4")
18001 (source
18002 (origin
18003 (method git-fetch)
18004 (uri (git-reference
18005 (url "https://github.com/vspinu/sesman.git")
18006 (commit (string-append "v" version))))
18007 (file-name (git-file-name name version))
18008 (sha256
18009 (base32
18010 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
18011 (build-system emacs-build-system)
18012 (arguments
18013 `(#:phases
18014 (modify-phases %standard-phases
18015 (add-after 'unpack 'set-shell
18016 ;; Setting the SHELL environment variable is required for the tests
18017 ;; to find sh.
18018 (lambda _
18019 (setenv "SHELL" (which "sh"))
18020 #t)))
18021 #:tests? #t
18022 #:test-command '("make" "test")))
18023 (home-page "https://github.com/vspinu/sesman")
18024 (synopsis "Session manager for Emacs based IDEs")
18025 (description "Sesman provides facilities for session management and
18026 interactive session association with the current contexts (project, directory,
18027 buffers). While sesman can be used to manage arbitrary sessions, it primary
18028 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
18029 (license license:gpl3+)))
18030
18031 (define-public emacs-buttercup
18032 (package
18033 (name "emacs-buttercup")
18034 (version "1.16")
18035 (source
18036 (origin
18037 (method git-fetch)
18038 (uri (git-reference
18039 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
18040 (commit (string-append "v" version))))
18041 (file-name (git-file-name name version))
18042 (sha256
18043 (base32
18044 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
18045 (build-system emacs-build-system)
18046 (arguments
18047 `(#:tests? #t
18048 #:test-command '("make" "test")
18049 #:phases
18050 (modify-phases %standard-phases
18051 (add-after 'install 'install-bin
18052 (lambda* (#:key outputs #:allow-other-keys)
18053 (install-file "bin/buttercup"
18054 (string-append (assoc-ref outputs "out") "/bin"))
18055 #t)))))
18056 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
18057 (synopsis "Behavior driven emacs lisp testing framework")
18058 (description "Buttercup is a behavior-driven development framework for
18059 testing Emacs Lisp code. It groups related tests so they can share
18060 common set-up and tear-down code, and allows the programmer to \"spy\" on
18061 functions to ensure they are called with the right arguments during testing.")
18062 (license license:gpl3+)))
18063
18064 (define-public emacs-wordnut
18065 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
18066 (revision "0"))
18067 (package
18068 (name "emacs-wordnut")
18069 (version (git-version "0.1" revision commit))
18070 (home-page "https://github.com/gromnitsky/wordnut")
18071 (source (origin
18072 (method git-fetch)
18073 (uri (git-reference (url home-page) (commit commit)))
18074 (sha256
18075 (base32
18076 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
18077 (patches
18078 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
18079 (file-name (git-file-name name version))))
18080 (build-system emacs-build-system)
18081 (propagated-inputs
18082 `(("wordnet" ,wordnet)
18083 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
18084 (synopsis "Major mode for WordNet")
18085 (description "This Emacs package provides an interface for
18086 @code{wordnet}. Features include completion, if the query is not found
18087 too ambiguous and navigation in the result buffer.")
18088 (license license:gpl3+))))
18089
18090 (define-public emacs-frame-purpose
18091 (package
18092 (name "emacs-frame-purpose")
18093 (version "1.0")
18094 (source (origin
18095 (method git-fetch)
18096 (uri (git-reference
18097 (url "https://github.com/alphapapa/frame-purpose.el.git")
18098 (commit version)))
18099 (sha256
18100 (base32
18101 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
18102 (file-name (git-file-name name version))))
18103 (build-system emacs-build-system)
18104 (inputs
18105 `(("dash" ,emacs-dash)))
18106 (synopsis "Purpose-specific frames for Emacs")
18107 (description "@code{frame-purpose} makes it easy to open purpose-specific
18108 frames that only show certain buffers, e.g. by buffers’ major mode, their
18109 filename or directory, etc, with custom frame/X-window titles, icons, and
18110 other frame parameters.")
18111 (home-page "https://github.com/alphapapa/frame-purpose.el")
18112 (license license:gpl3+)))
18113
18114 (define-public emacs-arduino-mode
18115 (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b")
18116 (revision "1")) ;no release yet
18117 (package
18118 (name "emacs-arduino-mode")
18119 (version (git-version "0" revision commit))
18120 (source (origin
18121 (method git-fetch)
18122 (uri (git-reference
18123 (url "https://github.com/stardiviner/arduino-mode.git")
18124 (commit commit)))
18125 (sha256
18126 (base32
18127 "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx"))
18128 (file-name (git-file-name name version))))
18129 (build-system emacs-build-system)
18130 (inputs
18131 `(("spinner" ,emacs-spinner)
18132 ("flycheck" ,emacs-flycheck)))
18133 (arguments
18134 `(#:phases
18135 (modify-phases %standard-phases
18136 ;; Emacs complains that "defmethod" and "defgeneric" are obsolete
18137 ;; macros when compiling. Substitute them with the recommended
18138 ;; macros "cl-defmethod" and "cl-defgeneric", respectively.
18139 (add-after 'unpack 'fix-obsolete
18140 (lambda _
18141 (substitute* "ede-arduino.el"
18142 (("defmethod") "cl-defmethod")
18143 (("defgeneric") "cl-defgeneric"))
18144 #t)))))
18145 (synopsis "Emacs major mode for editing Arduino sketches")
18146 (description "Emacs major mode for editing Arduino sketches.")
18147 (home-page "https://github.com/stardiviner/arduino-mode")
18148 (license license:gpl3+))))
18149
18150 (define-public emacs-annalist
18151 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
18152 (revision "1"))
18153 (package
18154 (name "emacs-annalist")
18155 (version (git-version "1.0.0" revision commit))
18156 (source (origin
18157 (method git-fetch)
18158 (uri (git-reference
18159 (url "https://github.com/noctuid/annalist.el.git")
18160 (commit commit)))
18161 (sha256
18162 (base32
18163 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
18164 (file-name (git-file-name name version))))
18165 (build-system emacs-build-system)
18166 (native-inputs
18167 `(("emacs-buttercup" ,emacs-buttercup)
18168 ("emacs-lispy" ,emacs-lispy)
18169 ("emacs-evil" ,emacs-evil)))
18170 (arguments
18171 `(#:phases
18172 (modify-phases %standard-phases
18173 (add-before 'check 'fix-makefile
18174 (lambda _
18175 (substitute* "Makefile"
18176 (("cask exec ") ""))
18177 #t)))
18178 #:tests? #t
18179 #:test-command '("make" "test")))
18180 (home-page "https://github.com/noctuid/annalist.el")
18181 (synopsis "Record and display information with Org headings and tables")
18182 (description "This package allows for keybindings, settings, hooks, and
18183 advice to be recorded and displayed.")
18184 (license license:gpl3+))))
18185
18186 (define-public emacs-general
18187 (let ((commit "a0b17d207badf462311b2eef7c065b884462cb7c")
18188 (revision "4"))
18189 (package
18190 (name "emacs-general")
18191 (version (git-version "0" revision commit))
18192 (source
18193 (origin
18194 (method git-fetch)
18195 (uri (git-reference
18196 (url "https://github.com/noctuid/general.el.git")
18197 (commit commit)))
18198 (sha256
18199 (base32 "0wn5rk3gkimdklip392mnjrmkymgrb7q9skifi03cbpjam1anzvv"))
18200 (file-name (git-file-name name version))))
18201 (build-system emacs-build-system)
18202 (native-inputs
18203 `(("emacs-buttercup" ,emacs-buttercup)
18204 ("emacs-evil" ,emacs-evil)
18205 ("emacs-which-key" ,emacs-which-key)
18206 ("emacs-use-package" ,emacs-use-package)))
18207 (arguments
18208 `(#:tests? #t
18209 #:test-command '("buttercup" "-L" "test/test-general.el")))
18210 (home-page "https://github.com/noctuid/general.el")
18211 (synopsis "More convenient key definitions in emacs")
18212 (description "@code{general.el} provides a more convenient method for
18213 binding keys in emacs (for both evil and non-evil users). Like
18214 @code{use-package}, which provides a convenient, unified interface for
18215 managing packages, @code{general.el} is intended to provide a convenient,
18216 unified interface for key definitions. While this package does implement some
18217 completely new functionality (such as the ability to make vim-style
18218 keybindings under non-prefix keys with an optional timeout), its primary
18219 purpose is to build on existing functionality to make key definition more
18220 clear and concise. @code{general-define-key} is user-extensible and supports
18221 defining multiple keys in multiple keymaps at once, implicitly wrapping key
18222 strings with (@code{kbd ...}), using named prefix key sequences (like the
18223 leader key in vim), and much more.")
18224 (license license:gpl3+))))
18225
18226 (define-public emacs-tldr
18227 (let ((commit "7203d1be3dcbf12131846ffe06601933fa874d74"))
18228 (package
18229 (name "emacs-tldr")
18230 (version (git-version "0" "1" commit))
18231 (home-page "https://github.com/kuanyui/tldr.el")
18232 (source (origin
18233 (method git-fetch)
18234 (uri (git-reference
18235 (url (string-append home-page ".git"))
18236 (commit commit)))
18237 (sha256
18238 (base32
18239 "1bw6la463l2yfm7rp76ga4makfy4kpxgwi7ni5gxk31w11g26ryk"))
18240 (file-name (git-file-name name version))))
18241 (build-system emacs-build-system)
18242 (propagated-inputs
18243 `(("emacs-request" ,emacs-request)))
18244 (synopsis "Simplified and community-driven man pages for Emacs")
18245 (description "@code{emacs-tldr} allows the user to access tldr pages
18246 from within emacs. The @code{tldr} pages are a community effort to simplify
18247 the man pages with practical examples.")
18248 (license license:wtfpl2))))
18249
18250 (define-public emacs-window-layout
18251 (package
18252 (name "emacs-window-layout")
18253 (version "1.4")
18254 (home-page "https://github.com/kiwanami/emacs-window-layout")
18255 (source (origin
18256 (method git-fetch)
18257 (uri (git-reference
18258 (url home-page)
18259 (commit (string-append "v" version))))
18260 (sha256
18261 (base32
18262 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
18263 (file-name (git-file-name name version))))
18264 (build-system emacs-build-system)
18265 (synopsis "Simple window layout management framework for emacs")
18266 (description "A window-layout management library that can split a frame
18267 or a window into some windows according to a layout recipe.")
18268 (license license:gpl3+)))
18269
18270 (define-public emacs-e2wm
18271 (package
18272 (name "emacs-e2wm")
18273 (version "1.4")
18274 (home-page "https://github.com/kiwanami/emacs-window-manager")
18275 (source (origin
18276 (method git-fetch)
18277 (uri (git-reference
18278 (url home-page)
18279 (commit (string-append "v" version))))
18280 (sha256
18281 (base32
18282 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
18283 (file-name (git-file-name name version))))
18284 (build-system emacs-build-system)
18285 (propagated-inputs
18286 `(("emacs-window-layout" ,emacs-window-layout)))
18287 (synopsis "Equilibrium Emacs Window Manager")
18288 (description "E2WM is a window manager for Emacs. It enables to
18289 customize the place of pop-up window, how the windows are split, how the
18290 buffers are located in the windows, keybinds to manipulate windows and
18291 buffers, etc. It also has plug-ins to help your Emacs life.")
18292 (license license:gpl3+)))
18293
18294 (define-public emacs-ctable
18295 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
18296 (package
18297 (name "emacs-ctable")
18298 (version (git-version "0.1.2" "1" commit))
18299 (home-page "https://github.com/kiwanami/emacs-ctable")
18300 (source (origin
18301 (method git-fetch)
18302 (uri (git-reference
18303 (url home-page)
18304 (commit commit)))
18305 (sha256
18306 (base32
18307 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
18308 (file-name (git-file-name name version))))
18309 (build-system emacs-build-system)
18310 (synopsis "Table component for Emacs Lisp")
18311 (description "This program is a table component for Emacs Lisp. Other
18312 programs can use this table component for the application UI.")
18313 (license license:gpl3+))))
18314
18315 (define-public emacs-leetcode
18316 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
18317 (revision "1"))
18318 (package
18319 (name "emacs-leetcode")
18320 (version (git-version "0" "1" commit))
18321 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
18322 (source (origin
18323 (method git-fetch)
18324 (uri (git-reference
18325 (url "https://github.com/ginqi7/leetcode-emacs")
18326 (commit commit)))
18327 (sha256
18328 (base32
18329 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
18330 (file-name (git-file-name name version))))
18331 (build-system emacs-build-system)
18332 (propagated-inputs
18333 `(("emacs-names" ,emacs-names)
18334 ("emacs-ctable" ,emacs-ctable)))
18335 (synopsis "Solve and submit LeetCode problems from within Emacs")
18336 (description "This package provides an Emacs interface to LeetCode
18337 allowing users to log in and solve problems of their choice using Emacs.")
18338 (license license:unlicense))))
18339
18340 (define-public emacs-epc
18341 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
18342 (package
18343 (name "emacs-epc")
18344 (version (git-version "0.1.1" "1" commit))
18345 (home-page "https://github.com/kiwanami/emacs-epc")
18346 (source (origin
18347 (method git-fetch)
18348 (uri (git-reference
18349 (url home-page)
18350 (commit commit)))
18351 (sha256
18352 (base32
18353 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
18354 (file-name (git-file-name name version))))
18355 (build-system emacs-build-system)
18356 (propagated-inputs
18357 `(("emacs-deferred" ,emacs-deferred)
18358 ("emacs-ctable" ,emacs-ctable)))
18359 (synopsis "RPC stack for Emacs Lisp")
18360 (description "This program is an asynchronous RPC stack for Emacs.
18361 Using this RPC stack, Emacs can communicate with the peer process
18362 smoothly. Because the protocol employs S-expression encoding and consists of
18363 asynchronous communications, the RPC response is fairly good.")
18364 (license license:gpl3+))))
18365
18366 (define-public emacs-edbi
18367 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
18368 (package
18369 (name "emacs-edbi")
18370 (version (git-version "0.1.3" "1" commit))
18371 (home-page "https://github.com/kiwanami/emacs-edbi")
18372 (source (origin
18373 (method git-fetch)
18374 (uri (git-reference
18375 (url home-page)
18376 (commit commit)))
18377 (sha256
18378 (base32
18379 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
18380 (file-name (git-file-name name version))))
18381 (build-system emacs-build-system)
18382 (inputs
18383 `(("perl" ,perl)
18384 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
18385 ("perl-dbi" ,perl-dbi)
18386 ;; TODO: Adding support for perl-dbd-mysql and others would
18387 ;; dramatically increase the closure size. Make several packages?
18388 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
18389 (propagated-inputs
18390 `(("emacs-e2wm" ,emacs-e2wm)
18391 ("emacs-epc" ,emacs-epc)))
18392 (arguments
18393 `(#:include '("\\.el$" "\\.pl$")
18394 #:phases
18395 (modify-phases %standard-phases
18396 (add-after 'install 'patch-path
18397 (lambda* (#:key inputs outputs #:allow-other-keys)
18398 (let ((perl (assoc-ref inputs "perl"))
18399 (dir (string-append (assoc-ref outputs "out")
18400 "/share/emacs/site-lisp")))
18401 (substitute* (string-append dir "/edbi.el")
18402 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
18403 (chmod (string-append dir "/edbi-bridge.pl") #o555)
18404 (wrap-program (string-append dir "/edbi-bridge.pl")
18405 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
18406 #t))))))
18407 (synopsis "Database Interface for Emacs Lisp")
18408 (description "This program connects the database server through Perl's
18409 DBI, and provides DB-accessing API and the simple management UI.")
18410 (license license:gpl3+))))
18411
18412 (define-public emacs-edbi-sqlite
18413 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
18414 (package
18415 (name "emacs-edbi-sqlite")
18416 (version (git-version "0.1.1" "1" commit))
18417 (home-page "https://github.com/proofit404/edbi-sqlite")
18418 (source (origin
18419 (method git-fetch)
18420 (uri (git-reference
18421 (url home-page)
18422 (commit commit)))
18423 (sha256
18424 (base32
18425 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
18426 (file-name (git-file-name name version))))
18427 (build-system emacs-build-system)
18428 (propagated-inputs
18429 `(("emacs-edbi" ,emacs-edbi)))
18430 (synopsis "Open SQLite files in Emacs")
18431 (description "This package is a convenience wrapper for @command{edbi}
18432 to open SQLite databases.")
18433 (license license:gpl3+))))
18434
18435 (define-public emacs-nix-mode
18436 (package
18437 (name "emacs-nix-mode")
18438 (version "1.4.1")
18439 (source
18440 (origin
18441 (method git-fetch)
18442 (uri (git-reference
18443 (url "https://github.com/NixOS/nix-mode.git")
18444 (commit (string-append "v" version))))
18445 (file-name (git-file-name name version))
18446 (sha256
18447 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
18448 (build-system emacs-build-system)
18449 (inputs
18450 `(("emacs-company" ,emacs-company)
18451 ("emacs-json-mode" ,emacs-json-mode)
18452 ("emacs-mmm-mode" ,emacs-mmm-mode)))
18453 (home-page "https://github.com/NixOS/nix-mode")
18454 (synopsis "Emacs major mode for editing Nix expressions")
18455 (description "@code{nixos-mode} provides an Emacs major mode for editing
18456 Nix expressions. It supports syntax highlighting, indenting and refilling of
18457 comments.")
18458 (license license:lgpl2.1+)))
18459
18460 (define-public emacs-libmpdel
18461 (package
18462 (name "emacs-libmpdel")
18463 (version "1.1.2")
18464 (source (origin
18465 (method git-fetch)
18466 (uri (git-reference
18467 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
18468 (commit (string-append "v" version))))
18469 (file-name (git-file-name name version))
18470 (sha256
18471 (base32
18472 "0dnjndpv6bmz5blfs75ynmbm32g23l4slg5p3941b1i94a08qzpy"))))
18473 (build-system emacs-build-system)
18474 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
18475 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
18476 (description
18477 "An Emacs library client to communicate with Music Player Daemon (MPD), a
18478 flexible, powerful, server-side application for playing music.")
18479 (license license:gpl3+)))
18480
18481 (define-public emacs-mpdel
18482 (package
18483 (name "emacs-mpdel")
18484 (version "1.0.0")
18485 (source
18486 (origin
18487 (method git-fetch)
18488 (uri (git-reference
18489 (url "https://gitea.petton.fr/mpdel/mpdel.git")
18490 (commit (string-append "v" version))))
18491 (file-name (git-file-name name version))
18492 (sha256
18493 (base32
18494 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
18495 (build-system emacs-build-system)
18496 (inputs
18497 `(("emacs-libmpdel" ,emacs-libmpdel)))
18498 (home-page "https://gitea.petton.fr/mpdel/mpdel")
18499 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
18500 (description
18501 "MPDel provides an Emacs user interface to control playback (play, pause,
18502 next, volume) and display and control the current playlist as well as your
18503 stored playlists.")
18504 (license license:gpl3+)))
18505
18506 (define-public emacs-vterm
18507 (let ((version "0")
18508 (revision "1")
18509 (commit "e63bd65eece7c5de3a534b7e2fdbe58256ec2da0"))
18510 (package
18511 (name "emacs-vterm")
18512 (version (git-version version revision commit))
18513 (source (origin
18514 (method git-fetch)
18515 (uri (git-reference
18516 (url "https://github.com/akermu/emacs-libvterm.git")
18517 (commit commit)))
18518 (file-name (git-file-name name version))
18519 (sha256
18520 (base32
18521 "0iq857w54qmazxh23fipz85fb9i6dav3f63g0ghpmi6mybfp6i5v"))))
18522 (build-system emacs-build-system)
18523 (arguments
18524 `(#:modules ((guix build emacs-build-system)
18525 ((guix build cmake-build-system) #:prefix cmake:)
18526 (guix build emacs-utils)
18527 (guix build utils))
18528 #:imported-modules (,@%emacs-build-system-modules
18529 (guix build cmake-build-system))
18530 #:phases
18531 (modify-phases %standard-phases
18532 (add-before 'add-source-to-load-path 'substitute-vterm-module-path
18533 (lambda* (#:key outputs #:allow-other-keys)
18534 (chmod "vterm.el" #o644)
18535 (emacs-substitute-sexps "vterm.el"
18536 ("(require 'vterm-module nil t)"
18537 `(module-load
18538 ,(string-append (assoc-ref outputs "out")
18539 "/lib/vterm-module.so"))))
18540 #t))
18541 (add-after 'build 'configure
18542 ;; Run cmake.
18543 (lambda* (#:key outputs #:allow-other-keys)
18544 ((assoc-ref cmake:%standard-phases 'configure)
18545 #:outputs outputs
18546 #:out-of-source? #f
18547 #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
18548 #t))
18549 (add-after 'configure 'make
18550 ;; Run make.
18551 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
18552 ;; Compile the shared object file.
18553 (apply invoke "make" "all" make-flags)
18554 ;; Move the file into /lib.
18555 (install-file
18556 "vterm-module.so"
18557 (string-append (assoc-ref outputs "out") "/lib"))
18558 #t)))
18559 #:tests? #f))
18560 (native-inputs
18561 `(("cmake" ,cmake-minimal)
18562 ("libtool" ,libtool)
18563 ("libvterm" ,libvterm)))
18564 (home-page "https://github.com/akermu/emacs-libvterm")
18565 (synopsis "Emacs libvterm integration")
18566 (description "This package implements a bridge to @code{libvterm} to
18567 display a terminal in an Emacs buffer.")
18568 (license license:gpl3+))))
18569
18570 (define-public emacs-simple-mpc
18571 ;; There have been no releases.
18572 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
18573 (revision "1"))
18574 (package
18575 (name "emacs-simple-mpc")
18576 (version (git-version "0" revision commit))
18577 (source
18578 (origin
18579 (method git-fetch)
18580 (uri (git-reference
18581 (url "https://github.com/jorenvo/simple-mpc.git")
18582 (commit commit)))
18583 (file-name (git-file-name name version))
18584 (sha256
18585 (base32
18586 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
18587 (build-system emacs-build-system)
18588 (propagated-inputs `(("emacs-s" ,emacs-s)))
18589 (home-page "https://github.com/jorenvo/simple-mpc")
18590 (synopsis "Simple Emacs frontend to mpc")
18591 (description "This package provides an Emacs major mode which acts as a
18592 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
18593 (license license:gpl3+))))
18594
18595 (define-public emacs-mkmcc-gnuplot-mode
18596 (package
18597 (name "emacs-mkmcc-gnuplot-mode")
18598 (version "1.2.0")
18599 (source
18600 (origin
18601 (method git-fetch)
18602 (uri (git-reference
18603 (url "https://github.com/mkmcc/gnuplot-mode")
18604 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
18605 (file-name (git-file-name name version))
18606 (sha256
18607 (base32
18608 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
18609 (build-system emacs-build-system)
18610 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
18611 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
18612 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
18613 mode for editing gnuplot scripts. It provides syntax highlighting,
18614 indentation and a command to plot the file.")
18615 (license license:gpl3+)))
18616
18617 (define-public emacs-cmake-font-lock
18618 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
18619 (revision "1"))
18620 (package
18621 (name "emacs-cmake-font-lock")
18622 (version (git-version "0.1.5" revision commit))
18623 (source (origin
18624 (method git-fetch)
18625 (uri (git-reference
18626 (url "https://github.com/Lindydancer/cmake-font-lock.git")
18627 (commit commit)))
18628 (file-name (git-file-name name version))
18629 (sha256
18630 (base32
18631 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
18632 (build-system emacs-build-system)
18633 (native-inputs
18634 `(("emacs-faceup" ,emacs-faceup)))
18635 (arguments
18636 `(#:include (cons "^admin\\/" %default-include)))
18637 (home-page "https://github.com/Lindydancer/cmake-font-lock")
18638 (synopsis "Advanced type-aware syntax-highlighting for CMake")
18639 (description "This package highlights function arguments in CMake
18640 according to their use.")
18641 (license license:gpl3+))))
18642
18643 (define-public emacs-dtrt-indent
18644 (package
18645 (name "emacs-dtrt-indent")
18646 (version "0.8")
18647 (source (origin
18648 (method git-fetch)
18649 (uri (git-reference
18650 (url "https://github.com/jscheid/dtrt-indent")
18651 (commit version)))
18652 (file-name (git-file-name name version))
18653 (sha256
18654 (base32
18655 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
18656 (build-system emacs-build-system)
18657 (home-page "https://github.com/jscheid/dtrt-indent")
18658 (synopsis "Minor mode that guesses the indentation offset")
18659 (description "This package provides a minor mode that guesses the
18660 indentation offset originally used for creating source code files and
18661 transparently adjusts the corresponding settings in Emacs, making it more
18662 convenient to edit foreign files.")
18663 (license license:gpl2+)))
18664
18665 (define-public emacs-repo
18666 (package
18667 (name "emacs-repo")
18668 (version "0.1.3")
18669 (source (origin
18670 (method git-fetch)
18671 (uri (git-reference
18672 (url "https://github.com/canatella/repo-el")
18673 (commit version)))
18674 (file-name (git-file-name name version))
18675 (sha256
18676 (base32
18677 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
18678 (build-system emacs-build-system)
18679 (native-inputs
18680 `(("emacs-el-mock" ,emacs-el-mock)
18681 ("ert-runner" ,emacs-ert-runner)))
18682 (propagated-inputs
18683 `(("emacs-f" ,emacs-f)
18684 ("magit" ,emacs-magit)))
18685 (home-page "https://github.com/canatella/repo-el")
18686 (synopsis "Emacs interface for the Google Repo tool")
18687 (description "This package provides integration of the Google Repo tool
18688 with emacs. It displays the output of the @code{repo status} command in a
18689 buffer and launches Magit from the status buffer for the project at point.")
18690 (license license:gpl3+)))
18691
18692 (define-public emacs-alect-themes
18693 (package
18694 (name "emacs-alect-themes")
18695 (version "0.9")
18696 (source (origin
18697 (method git-fetch)
18698 (uri (git-reference
18699 (url "https://github.com/alezost/alect-themes")
18700 (commit (string-append "v" version))))
18701 (file-name (git-file-name name version))
18702 (sha256
18703 (base32
18704 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
18705 (build-system emacs-build-system)
18706 (home-page "https://github.com/alezost/alect-themes")
18707 (synopsis "Low contrast, light, dark and black color theme for Emacs")
18708 (description "@code{emacs-alect-themes} provides configurable light, dark
18709 and black color themes for Emacs. The themes are intended to be used with
18710 GUI.")
18711 (license license:gpl3+)))
18712
18713 (define-public emacs-google-c-style
18714 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
18715 (revision "0"))
18716 (package
18717 (name "emacs-google-c-style")
18718 (version (git-version "0.1" revision commit))
18719 (source (origin
18720 (method git-fetch)
18721 (uri (git-reference
18722 (url "https://github.com/google/styleguide")
18723 (commit commit)))
18724 (file-name (git-file-name name version))
18725 (sha256
18726 (base32
18727 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
18728 (build-system emacs-build-system)
18729 (home-page "https://github.com/google/styleguide")
18730 (synopsis "Emacs settings file for Google C/C++ style")
18731 (description "@code{emacs-google-c-style} provides an Emacs settings
18732 file for Google C and C++ style.")
18733 (license license:gpl1+))))
18734
18735 (define-public emacs-redshank
18736 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
18737 (revision "1"))
18738 (package
18739 (name "emacs-redshank")
18740 (version (git-version "0.1" revision commit))
18741 (source (origin
18742 (method git-fetch)
18743 (uri (git-reference
18744 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
18745 (commit commit)))
18746 (file-name (git-file-name name version))
18747 (sha256
18748 (base32
18749 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
18750 (build-system emacs-build-system)
18751 (propagated-inputs
18752 `(("emacs-paredit" ,emacs-paredit)))
18753 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
18754 (synopsis "Common Lisp Editing Extensions (for Emacs)")
18755 (description "Redshank is a collection of code-wrangling Emacs macros
18756 mostly geared towards Common Lisp, but some are useful for other Lisp
18757 dialects, too. Redshank's code transformations aim to be expression-based (as
18758 opposed to character-based).")
18759 (license license:gpl1+))))
18760
18761 (define-public emacs-disk-usage
18762 (package
18763 (name "emacs-disk-usage")
18764 (version "1.3.3")
18765 (source
18766 (origin
18767 (method git-fetch)
18768 (uri (git-reference
18769 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
18770 (commit version)))
18771 (file-name (git-file-name name version))
18772 (sha256
18773 (base32
18774 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
18775 (build-system emacs-build-system)
18776 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
18777 (synopsis "Sort and browse disk usage listings with Emacs")
18778 (description "Disk Usage is a file system analyzer: it offers a tabulated
18779 view of file listings sorted by size. Directory sizes are computed
18780 recursively. The results are cached for speed.")
18781 (license license:gpl3+)))
18782
18783 (define-public emacs-orgit
18784 (package
18785 (name "emacs-orgit")
18786 (version "1.5.3")
18787 (home-page "https://github.com/magit/orgit")
18788 (source (origin
18789 (method git-fetch)
18790 (uri (git-reference
18791 (url home-page)
18792 (commit (string-append "v" version))))
18793 (file-name (git-file-name name version))
18794 (sha256
18795 (base32
18796 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
18797 (build-system emacs-build-system)
18798 (propagated-inputs
18799 `(("emacs-dash" ,emacs-dash)
18800 ("emacs-magit" ,emacs-magit)))
18801 (synopsis "Support for Org links to Magit buffers")
18802 (description "This package defines several Org link types, which can be
18803 used to link to certain Magit buffers. Use the command
18804 @command{org-store-link} while such a buffer is current to store a link.
18805 Later you can insert it into an Org buffer using the command
18806 @code{org-insert-link}.")
18807 (license license:gpl3+)))
18808
18809 (define-public emacs-amx
18810 (package
18811 (name "emacs-amx")
18812 (version "3.3")
18813 (source
18814 (origin
18815 (method git-fetch)
18816 (uri (git-reference
18817 (url "https://github.com/DarwinAwardWinner/amx")
18818 (commit (string-append "v" version))))
18819 (file-name (git-file-name name version))
18820 (sha256
18821 (base32 "0ikjzs119g57cwh2v3jmy63lggqc0ib99q5gsl93slkk4y2ihavw"))))
18822 (build-system emacs-build-system)
18823 (propagated-inputs
18824 `(("emacs-s" ,emacs-s)))
18825 (home-page "https://github.com/DarwinAwardWinner/amx")
18826 (synopsis "Alternative M-x interface for Emacs")
18827 (description "Amx is an alternative interface for M-x in Emacs. It
18828 provides several enhancements over the ordinary
18829 @code{execute-extended-command}, such as prioritizing your most-used commands
18830 in the completion list and showing keyboard shortcuts, and it supports several
18831 completion systems for selecting commands, such as Ido and Ivy.")
18832 (license license:gpl3+)))
18833
18834 (define-public emacs-lorem-ipsum
18835 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
18836 (package
18837 (name "emacs-lorem-ipsum")
18838 (version (git-version "0.2" "1" commit))
18839 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
18840 (source (origin
18841 (method git-fetch)
18842 (uri (git-reference
18843 (url home-page)
18844 (commit commit)))
18845 (file-name (git-file-name name version))
18846 (sha256
18847 (base32
18848 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
18849 (build-system emacs-build-system)
18850 (synopsis "Insert dummy pseudo Latin text in Emacs")
18851 (description "This package provides convenience functions to insert
18852 dummy Latin text into a buffer. This can be useful if you need to produce
18853 paragraphs or pages of text for testing purposes.")
18854 (license license:gpl3+))))
18855
18856 (define-public emacs-lisp-extra-font-lock
18857 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
18858 (package
18859 (name "emacs-lisp-extra-font-lock")
18860 (version (git-version "0.0.6" "1" commit))
18861 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
18862 (source (origin
18863 (method git-fetch)
18864 (uri (git-reference
18865 (url home-page)
18866 (commit commit)))
18867 (file-name (git-file-name name version))
18868 (sha256
18869 (base32
18870 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
18871 (build-system emacs-build-system)
18872 (synopsis "Highlight bound variables and quoted expressions in Emacs")
18873 (description "This package highlight the location where local variables
18874 is created (bound, for example, by let) as well as quoted and backquoted
18875 constant expressions.")
18876 (license license:gpl3+))))
18877
18878 (define-public emacs-docker-tramp
18879 (package
18880 (name "emacs-docker-tramp")
18881 (version "0.1")
18882 (source
18883 (origin
18884 (method git-fetch)
18885 (uri (git-reference
18886 (url "https://github.com/emacs-pe/docker-tramp.el")
18887 (commit (string-append "v" version))))
18888 (file-name (git-file-name name version))
18889 (sha256
18890 (base32
18891 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
18892 (build-system emacs-build-system)
18893 (home-page "https://github.com/emacs-pe/docker-tramp.el")
18894 (synopsis "TRAMP integration for docker containers")
18895 (description
18896 "This package provides a TRAMP method for Docker containers.")
18897 (license license:gpl3+)))
18898
18899 (define-public emacs-docker
18900 (package
18901 (name "emacs-docker")
18902 (version "1.3.0")
18903 (source (origin
18904 (method git-fetch)
18905 (uri (git-reference
18906 (url "https://github.com/Silex/docker.el")
18907 (commit version)))
18908 (file-name (git-file-name name version))
18909 (sha256
18910 (base32
18911 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
18912 (inputs
18913 `(("emacs-undercover" ,emacs-undercover)))
18914 (propagated-inputs
18915 `(("emacs-dash" ,emacs-dash)
18916 ("emacs-docker-tramp" ,emacs-docker-tramp)
18917 ("emacs-magit-popup" ,emacs-magit-popup)
18918 ("emacs-s" ,emacs-s)
18919 ("emacs-tablist" ,emacs-tablist)
18920 ("emacs-json-mode" ,emacs-json-mode)))
18921 (arguments
18922 `(#:phases
18923 (modify-phases %standard-phases
18924 (delete 'check)))) ;no tests
18925 (build-system emacs-build-system)
18926 (home-page "https://github.com/Silex/docker.el")
18927 (synopsis "Manage docker from Emacs")
18928 (description "This package provides an Emacs interface for Docker.")
18929 (license license:gpl3+)))
18930
18931 (define-public emacs-dockerfile-mode
18932 ;; Latest upstream release is too old.
18933 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
18934 (package
18935 (name "emacs-dockerfile-mode")
18936 (version (git-version "1.2" "2" commit))
18937 (source
18938 (origin
18939 (method git-fetch)
18940 (uri (git-reference
18941 (url "https://github.com/spotify/dockerfile-mode.git")
18942 (commit commit)))
18943 (file-name (git-file-name name version))
18944 (sha256
18945 (base32
18946 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
18947 (build-system emacs-build-system)
18948 (propagated-inputs
18949 `(("emacs-s" ,emacs-s)))
18950 (home-page "https://github.com/spotify/dockerfile-mode")
18951 (synopsis "Major mode for editing Dockerfile")
18952 (description
18953 "This package provides a major mode @code{dockerfile-mode} for use with
18954 the standard @code{Dockerfile} file format.")
18955 (license license:asl2.0))))
18956
18957 (define-public emacs-lsp-mode
18958 (package
18959 (name "emacs-lsp-mode")
18960 (version "6.3.1")
18961 (source (origin
18962 (method git-fetch)
18963 (uri (git-reference
18964 (url "https://github.com/emacs-lsp/lsp-mode.git")
18965 (commit version)))
18966 (file-name (git-file-name name version))
18967 (sha256
18968 (base32
18969 "125rpmhlyd6wmq7p71j54x3rzmk07vn1hdcvvdjjip5481raxcwx"))))
18970 (build-system emacs-build-system)
18971 (propagated-inputs
18972 `(("emacs-dash" ,emacs-dash)
18973 ("emacs-f" ,emacs-f)
18974 ("emacs-ht" ,emacs-ht)
18975 ("emacs-markdown-mode" ,emacs-markdown-mode)
18976 ("emacs-spinner" ,emacs-spinner)
18977 ("emacs-hydra" ,emacs-hydra)))
18978 (home-page "https://github.com/emacs-lsp/lsp-mode")
18979 (synopsis "Emacs client and library for the Language Server Protocol")
18980 (description "@code{LSP-mode} is a client and library implementation for
18981 the Language Server Protocol. This mode aims to provide an IDE-like
18982 experience by providing optional integration with other popular Emacs packages
18983 like @code{company}, @code{flycheck}, and @code{projectile}.")
18984 (license license:gpl3+)))
18985
18986 (define-public emacs-pfuture
18987 (let ((commit "368254ee30692c709400db413c347e18e76a8a55"))
18988 (package
18989 (name "emacs-pfuture")
18990 (version (git-version "1.6" "1" commit))
18991 (source (origin
18992 (method git-fetch)
18993 (uri (git-reference
18994 (url "https://github.com/Alexander-Miller/pfuture.git")
18995 (commit commit)))
18996 (file-name (git-file-name name version))
18997 (sha256
18998 (base32
18999 "096raqpjx84njws85r7pqq1wi9w9bjwkr0ga1mbbhlna1mfn3mg4"))))
19000 (build-system emacs-build-system)
19001 (home-page
19002 "https://github.com/Alexander-Miller/pfuture")
19003 (synopsis "Simple wrapper around asynchronous processes for Emacs")
19004 (description "This package provides a simple wrapper around asynchronous
19005 processes for Emacs")
19006 (license license:gpl3+))))
19007
19008 (define-public emacs-treemacs
19009 (package
19010 (name "emacs-treemacs")
19011 (version "2.8")
19012 (source (origin
19013 (method git-fetch)
19014 (uri (git-reference
19015 (url "https://github.com/Alexander-Miller/treemacs.git")
19016 (commit version)))
19017 (file-name (git-file-name name version))
19018 (sha256
19019 (base32
19020 "0m083g3pg0n4ymi1w0jx34awr7cqbm4r561adij9kklblxsz7sc2"))))
19021 (build-system emacs-build-system)
19022 (propagated-inputs
19023 `(("emacs-dash" ,emacs-dash)
19024 ("emacs-s" ,emacs-s)
19025 ("emacs-f" ,emacs-f)
19026 ("emacs-ace-window" ,emacs-ace-window)
19027 ("emacs-pfuture" ,emacs-pfuture)
19028 ("emacs-hydra" ,emacs-hydra)
19029 ("emacs-ht" ,emacs-ht)))
19030 (native-inputs
19031 `(("emacs-buttercup" ,emacs-buttercup)
19032 ("emacs-el-mock" ,emacs-el-mock)))
19033 (inputs
19034 `(("python" ,python)))
19035 (arguments
19036 `(#:tests? #t ;TODO: Investigate ‘treemacs--parse-collapsed-dirs’ test failure.
19037 #:phases
19038 (modify-phases %standard-phases
19039 (add-after 'unpack 'fix-makefile
19040 (lambda _
19041 (substitute* "Makefile"
19042 (("@\\$\\(CASK\\) exec ") "")
19043 ;; Guix does not need to prepare dependencies before testing.
19044 (("test: prepare") "test:"))
19045 #t))
19046 (add-after 'fix-makefile 'chdir-elisp
19047 ;; Elisp directory is not in root of the source.
19048 (lambda _
19049 (chdir "src/elisp")))
19050 (replace 'check
19051 (lambda _
19052 (with-directory-excursion "../.." ;treemacs root
19053 (chmod "test/test-treemacs.el" #o644)
19054 (emacs-substitute-sexps "test/test-treemacs.el"
19055 ("(describe \"treemacs--parse-collapsed-dirs\""
19056 ""))
19057 (invoke "make" "test"))))
19058 (add-before 'install 'patch-paths
19059 (lambda* (#:key inputs outputs #:allow-other-keys)
19060 (with-directory-excursion "../.." ;treemacs root
19061 (chmod "src/elisp/treemacs-core-utils.el" #o644)
19062 (emacs-substitute-variables "src/elisp/treemacs-core-utils.el"
19063 ("treemacs-dir"
19064 (string-append (assoc-ref outputs "out") "/")))
19065 (chmod "src/elisp/treemacs-icons.el" #o644)
19066 (substitute* "src/elisp/treemacs-icons.el"
19067 (("icons/default") "share/emacs-treemacs/images"))
19068 (chmod "src/elisp/treemacs-customization.el" #o644)
19069 (emacs-substitute-variables "src/elisp/treemacs-customization.el"
19070 ("treemacs-python-executable"
19071 (string-append (assoc-ref inputs "python") "/bin/python3")))
19072 (chmod "src/elisp/treemacs-async.el" #o644)
19073 (substitute* "src/elisp/treemacs-async.el"
19074 (("src/scripts") (string-append "share/" ,name "/scripts"))))
19075 #t))
19076 (add-after 'install 'install-data
19077 (lambda* (#:key outputs #:allow-other-keys)
19078 (let ((out (assoc-ref outputs "out")))
19079 (with-directory-excursion "../.." ;treemacs root
19080 (copy-recursively "icons/default"
19081 (string-append out "/share/" ,name "/images"))
19082 (copy-recursively
19083 "src/scripts"
19084 (string-append out "/share/" ,name "/scripts"))
19085 #t)))))))
19086 (home-page "https://github.com/Alexander-Miller/treemacs")
19087 (synopsis "Emacs tree style file explorer")
19088 (description "Powerful and flexible file tree project explorer.")
19089 (license license:gpl3+)))
19090
19091 (define-public emacs-treemacs-extra
19092 (package
19093 (inherit emacs-treemacs)
19094 (name "emacs-treemacs-extra")
19095 (propagated-inputs
19096 `(,@(package-propagated-inputs emacs-treemacs)
19097 ("emacs-evil" ,emacs-evil)
19098 ("emacs-magit" ,emacs-magit)
19099 ("emacs-projectile" ,emacs-projectile)))
19100 (arguments
19101 (substitute-keyword-arguments
19102 (package-arguments emacs-treemacs)
19103 ((#:phases phases)
19104 `(modify-phases ,phases
19105 (add-after 'chdir-elisp 'copy-extra
19106 (lambda _
19107 (copy-recursively "../extra" ".")))))))))
19108
19109 (define-public emacs-lsp-java
19110 (package
19111 (name "emacs-lsp-java")
19112 (version "2.2")
19113 (source (origin
19114 (method git-fetch)
19115 (uri (git-reference
19116 (url "https://github.com/emacs-lsp/lsp-java.git")
19117 (commit version)))
19118 (file-name (git-file-name name version))
19119 (sha256
19120 (base32
19121 "0hcnvbyaqyypgby1bfj4zbrbq97amk8hfx0sj4w73rl46yf4jk3j"))))
19122 (build-system emacs-build-system)
19123 (propagated-inputs
19124 `(("emacs-lsp-mode" ,emacs-lsp-mode)
19125 ("emacs-markdown-mode" ,emacs-markdown-mode)
19126 ("emacs-dash" ,emacs-dash)
19127 ("emacs-f" ,emacs-f)
19128 ("emacs-ht" ,emacs-ht)
19129 ("emacs-request" ,emacs-request)
19130 ("emacs-treemacs" ,emacs-treemacs)))
19131 (home-page "https://github.com/emacs-lsp/lsp-java/")
19132 (synopsis "Java support for lsp-mode")
19133 (description "Emacs Java IDE using Eclipse JDT Language Server.")
19134 (license license:gpl3+)))
19135
19136 (define-public emacs-lsp-ui
19137 (package
19138 (name "emacs-lsp-ui")
19139 (version "6.2")
19140 (source (origin
19141 (method git-fetch)
19142 (uri (git-reference
19143 (url "https://github.com/emacs-lsp/lsp-ui.git")
19144 (commit version)))
19145 (file-name (git-file-name name version))
19146 (sha256
19147 (base32
19148 "024753bi0p1jyjhw7wk8k6s16kbwab5ar4cfasvbn8g08acf293b"))))
19149 (build-system emacs-build-system)
19150 (propagated-inputs
19151 `(("emacs-dash" ,emacs-dash)
19152 ("emacs-lsp-mode" ,emacs-lsp-mode)
19153 ("emacs-markdown-mode" ,emacs-markdown-mode)
19154 ("emacs-flycheck" ,emacs-flycheck)))
19155 (home-page "https://github.com/emacs-lsp/lsp-ui")
19156 (synopsis "User interface extensions for @code{lsp-mode}")
19157 (description
19158 "@code{LSP-ui} contains several enhancements and integrations for
19159 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
19160 and code peeking.")
19161 (license license:gpl3+)))
19162
19163 (define-public emacs-lsp-lua-emmy
19164 (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
19165 (package
19166 (name "emacs-lsp-lua-emmy")
19167 (version (git-version "0.1.0" "1" commit))
19168 (source (origin
19169 (method git-fetch)
19170 (uri (git-reference
19171 (url "https://github.com/phenix3443/lsp-lua-emmy.git")
19172 (commit commit)))
19173 (file-name (git-file-name name version))
19174 (sha256
19175 (base32
19176 "0rbizis73n1w5ig07fj1han74chbc1zpbp5bn37rj0gz608aqka8"))))
19177 (build-system emacs-build-system)
19178 (propagated-inputs
19179 `(("emacs-lsp-mode" ,emacs-lsp-mode)))
19180 (home-page "https://github.com/phenix3443/lsp-lua-emmy/")
19181 (synopsis "Lua support in @code{lsp-mode} client for Emacs")
19182 (description "This package provides a Lua language support in
19183 @code{lsp-mode} client for Emacs.")
19184 (license license:gpl3+))))
19185
19186 (define-public emacs-lsp-ivy
19187 (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
19188 (revision "2"))
19189 (package
19190 (name "emacs-lsp-ivy")
19191 (version (git-version "0.1" revision commit))
19192 (source (origin
19193 (method git-fetch)
19194 (uri (git-reference
19195 (url "https://github.com/emacs-lsp/lsp-ivy.git")
19196 (commit commit)))
19197 (file-name (git-file-name name version))
19198 (sha256
19199 (base32
19200 "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
19201 (build-system emacs-build-system)
19202 (propagated-inputs
19203 `(("emacs-ivy" ,emacs-ivy)
19204 ("emacs-lsp-mode" ,emacs-lsp-mode)
19205 ("emacs-dash" ,emacs-dash)))
19206 (home-page "https://github.com/emacs-lsp/lsp-ivy")
19207 (synopsis "Provide LSP-enhanced completion for symbols")
19208 (description
19209 "This package enhances @code{ivy} with completion for symbols from
19210 workspaces with a LSP-compliant server running.")
19211 (license license:gpl3+))))
19212
19213 (define-public emacs-helm-lsp
19214 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
19215 (revision "1"))
19216 (package
19217 (name "emacs-helm-lsp")
19218 (version (git-version "0.1" revision commit))
19219 (source (origin
19220 (method git-fetch)
19221 (uri (git-reference
19222 (url "https://github.com/emacs-lsp/helm-lsp.git")
19223 (commit commit)))
19224 (file-name (git-file-name name version))
19225 (sha256
19226 (base32
19227 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
19228 (build-system emacs-build-system)
19229 (propagated-inputs
19230 `(("emacs-helm" ,emacs-helm)
19231 ("emacs-lsp-mode" ,emacs-lsp-mode)
19232 ("emacs-dash" ,emacs-dash)))
19233 (home-page "https://github.com/emacs-lsp/helm-lsp")
19234 (synopsis "Provide LSP-enhanced completion for symbols")
19235 (description
19236 "This package enhances @code{helm} with completion for symbols from
19237 workspaces with a LSP-compliant server running.")
19238 (license license:gpl3+))))
19239
19240 (define-public emacs-helm-notmuch
19241 (package
19242 (name "emacs-helm-notmuch")
19243 (version "1.2")
19244 (home-page "https://github.com/emacs-helm/helm-notmuch/")
19245 (source (origin
19246 (method git-fetch)
19247 (uri (git-reference
19248 (url home-page)
19249 (commit version)))
19250 (file-name (git-file-name name version))
19251 (sha256
19252 (base32
19253 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
19254 (build-system emacs-build-system)
19255 (propagated-inputs
19256 `(("emacs-helm" ,emacs-helm)
19257 ("notmuch" ,notmuch)))
19258 (synopsis "Search emails with Emacs Notmuch and Helm")
19259 (description
19260 "This package can be used to search emails in Emacs, searching result
19261 displays as you type thanks to Helm, though @command{notmuch-search} does the
19262 real search.")
19263 (license license:gpl3+)))
19264
19265 (define-public emacs-elmacro
19266 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
19267 (package
19268 (name "emacs-elmacro")
19269 (version (git-version "1.1.0" "1" commit))
19270 (home-page "https://github.com/Silex/elmacro")
19271 (source (origin
19272 (method git-fetch)
19273 (uri (git-reference
19274 (url home-page)
19275 (commit commit)))
19276 (file-name (git-file-name name version))
19277 (sha256
19278 (base32
19279 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
19280 (build-system emacs-build-system)
19281 (propagated-inputs
19282 `(("emacs-s" ,emacs-s)
19283 ("emacs-dash" ,emacs-dash)))
19284 (synopsis "Convert keyboard macros to Emacs Lisp")
19285 (description
19286 "This package displays keyboard macros or latest interactive commands
19287 as Emacs Lisp.")
19288 (license license:gpl3+))))
19289
19290 (define-public emacs-transient
19291 (let ((revision "1")
19292 (commit "a6e4cced303b3febd59412b24a97eaf1e855e6d7"))
19293 (package
19294 (name "emacs-transient")
19295 (version (git-version "0.2.0" revision commit))
19296 (source (origin
19297 (method git-fetch)
19298 (uri (git-reference
19299 (url "https://github.com/magit/transient")
19300 (commit commit)))
19301 (file-name (git-file-name name version))
19302 (sha256
19303 (base32
19304 "01xsw9sxr50valc2q590ngy3ra2ll01p39l9cbzvqqz6mxyymxmd"))))
19305 (build-system emacs-build-system)
19306 (arguments
19307 `(#:tests? #f ;no test suite
19308 #:phases
19309 (modify-phases %standard-phases
19310 (add-after 'unpack 'build-info-manual
19311 (lambda _
19312 (invoke "make" "info")
19313 ;; Move the info file to lisp so that it gets installed by the
19314 ;; emacs-build-system.
19315 (rename-file "docs/transient.info" "lisp/transient.info")))
19316 (add-after 'build-info-manual 'enter-lisp-directory
19317 (lambda _
19318 (chdir "lisp")
19319 #t)))))
19320 (native-inputs
19321 `(("texinfo" ,texinfo)))
19322 (propagated-inputs
19323 `(("dash" ,emacs-dash)))
19324 (home-page "https://magit.vc/manual/transient")
19325 (synopsis "Transient commands in Emacs")
19326 (description "Taking inspiration from prefix keys and prefix arguments
19327 in Emacs, Transient implements a similar abstraction involving a prefix
19328 command, infix arguments and suffix commands. We could call this abstraction
19329 a \"transient command\", but because it always involves at least two
19330 commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
19331 (license license:gpl3+))))
19332
19333 (define-public emacs-forge
19334 (let ((commit "09bf8adc9c9afb492632e612f51f39e1cc15fca0"))
19335 (package
19336 (name "emacs-forge")
19337 (version (git-version "0.1.0" "4" commit))
19338 (source
19339 (origin
19340 (method git-fetch)
19341 (uri (git-reference
19342 (url "https://github.com/magit/forge.git")
19343 (commit commit)))
19344 (file-name (git-file-name name version))
19345 (sha256
19346 (base32
19347 "148h1rvmfmxyrfy2q5l0vzblr7lpsyw1si30hfwhzsj8fvj21qcr"))))
19348 (build-system emacs-build-system)
19349 (native-inputs
19350 `(("texinfo" ,texinfo)))
19351 (propagated-inputs
19352 `(("emacs-closql" ,emacs-closql)
19353 ("emacs-dash" ,emacs-dash)
19354 ("emacs-emacsql-sqlite" ,emacs-emacsql)
19355 ("emacs-ghub" ,emacs-ghub)
19356 ("emacs-let-alist" ,emacs-let-alist)
19357 ("emacs-magit" ,emacs-magit)
19358 ("emacs-markdown-mode" ,emacs-markdown-mode)
19359 ("emacs-transient" ,emacs-transient)))
19360 (arguments
19361 `(#:tests? #f ;no tests
19362 #:phases
19363 (modify-phases %standard-phases
19364 (add-after 'unpack 'build-info-manual
19365 (lambda _
19366 (invoke "make" "info")
19367 ;; Move the info file to lisp so that it gets installed by the
19368 ;; emacs-build-system.
19369 (rename-file "docs/forge.info" "lisp/forge.info")))
19370 (add-after 'build-info-manual 'chdir-lisp
19371 (lambda _
19372 (chdir "lisp")
19373 #t)))))
19374 (home-page "https://github.com/magit/forge/")
19375 (synopsis "Access Git forges from Magit")
19376 (description "Work with Git forges, such as Github and Gitlab, from the
19377 comfort of Magit and the rest of Emacs.")
19378 (license license:gpl3+))))
19379
19380 (define-public emacs-matcha
19381 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
19382 (package
19383 (name "emacs-matcha")
19384 (version (git-version "0.0.1" "1" commit)) ;no upstream release
19385 (source (origin
19386 (method git-fetch)
19387 (uri (git-reference
19388 (url "https://github.com/jojojames/matcha.git")
19389 (commit commit)))
19390 (file-name (git-file-name name version))
19391 (sha256
19392 (base32
19393 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
19394 (propagated-inputs
19395 `(("emacs-hydra" ,emacs-hydra)
19396 ("emacs-transient" ,emacs-transient)))
19397 (build-system emacs-build-system)
19398 (home-page "https://github.com/jojojames/matcha/")
19399 (synopsis "Collection of hydras with a generic interface to launch them")
19400 (description "Matcha provides a collection of transients for various
19401 packages with a consistent way to use them.")
19402 (license license:gpl3+))))
19403
19404 (define-public emacs-undo-propose-el
19405 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
19406 (revision "3"))
19407 (package
19408 (name "emacs-undo-propose-el")
19409 (version (git-version "3.0.0" revision commit))
19410 (source
19411 (origin
19412 (method git-fetch)
19413 (uri (git-reference
19414 (url "https://github.com/jackkamm/undo-propose-el")
19415 (commit commit)))
19416 (file-name (git-file-name name version))
19417 (sha256
19418 (base32
19419 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
19420 (build-system emacs-build-system)
19421 (arguments
19422 `(#:tests? #t
19423 #:test-command '("make" "test")))
19424 (home-page "https://github.com/jackkamm/undo-propose-el")
19425 (synopsis "Simple and safe navigation of @code{undo} history")
19426 (description "This package permits navigation of @code{undo} history in a
19427 temporary buffer, which is read-only save for @code{undo} commands, and
19428 subsequent committal of a chain of @code{undo} commands as a single edit in
19429 the @code{undo} history.")
19430 (license license:gpl3+))))
19431
19432 (define-public emacs-elisp-docstring-mode
19433 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
19434 (version "0.0.1")
19435 (revision "1"))
19436 (package
19437 (name "emacs-elisp-docstring-mode")
19438 (version (git-version version revision commit))
19439 (source
19440 (origin
19441 (method git-fetch)
19442 (uri (git-reference
19443 (url "https://github.com/Fuco1/elisp-docstring-mode")
19444 (commit commit)))
19445 (file-name (git-file-name name version))
19446 (sha256
19447 (base32
19448 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
19449 (build-system emacs-build-system)
19450 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
19451 (synopsis "Major mode for editing Emacs Lisp docstrings")
19452 (description "This package provides font lock and automatic escaping and
19453 unescaping of quotes.")
19454 (license license:gpl3+))))
19455
19456 (define-public emacs-vimrc-mode
19457 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
19458 (version "0.3.1")
19459 (revision "1"))
19460 (package
19461 (name "emacs-vimrc-mode")
19462 (version (git-version version revision commit))
19463 (source
19464 (origin
19465 (method git-fetch)
19466 (uri (git-reference
19467 (url "https://github.com/mcandre/vimrc-mode")
19468 (commit commit)))
19469 (file-name (git-file-name name version))
19470 (sha256
19471 (base32
19472 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
19473 (build-system emacs-build-system)
19474 (home-page "https://github.com/mcandre/vimrc-mode")
19475 (synopsis "Major mode for Vimscript")
19476 (description "This package provides font lock and @code{beginning-} and
19477 @code{end-of-defun} functions for Vimscript files.")
19478 (license license:gpl3+))))
19479
19480 (define-public emacs-flycheck-elm
19481 (let ((revision "0")
19482 (commit "1b60050efd4729bfba548f3e5adbcb58436667cb"))
19483 (package
19484 (name "emacs-flycheck-elm")
19485 (version (git-version "0" revision commit))
19486 (source
19487 (origin
19488 (method git-fetch)
19489 (uri
19490 (git-reference
19491 (url "https://github.com/bsermons/flycheck-elm")
19492 (commit commit)))
19493 (file-name (git-file-name name version))
19494 (sha256
19495 (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms"))))
19496 (build-system emacs-build-system)
19497 (propagated-inputs
19498 `(("emacs-flycheck" ,emacs-flycheck)
19499 ("emacs-let-alist" ,emacs-let-alist)))
19500 (home-page "https://github.com/bsermons/flycheck-elm")
19501 (synopsis "Flycheck support for the Elm language")
19502 (description "Flycheck Elm adds Flycheck support for Elm language.")
19503 (license license:gpl3+))))
19504
19505 (define-public emacs-flycheck-haskell
19506 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
19507 (revision "2"))
19508 (package
19509 (name "emacs-flycheck-haskell")
19510 (version (git-version "0.8" revision commit))
19511 (source
19512 (origin
19513 (method git-fetch)
19514 (uri (git-reference
19515 (url "https://github.com/flycheck/flycheck-haskell")
19516 (commit commit)))
19517 (file-name (git-file-name name version))
19518 (sha256
19519 (base32
19520 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
19521 (build-system emacs-build-system)
19522 (propagated-inputs
19523 `(("emacs-dash" ,emacs-dash)
19524 ("emacs-seq" ,emacs-seq)
19525 ("emacs-flycheck" ,emacs-flycheck)
19526 ("emacs-haskell-mode" ,emacs-haskell-mode)
19527 ("emacs-let-alist" ,emacs-let-alist)))
19528 (arguments
19529 `(#:include '("\\.el$" "\\.hs$")))
19530 (home-page "https://github.com/flycheck/flycheck-haskell")
19531 (synopsis "Flycheck for Haskell")
19532 (description "This package configures syntax-checking for Haskell
19533 buffers.")
19534 (license license:gpl3+))))
19535
19536 (define-public emacs-js2-refactor-el
19537 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
19538 (revision "2"))
19539 (package
19540 (name "emacs-js2-refactor-el")
19541 (version (git-version "0.9.0" revision commit))
19542 (source
19543 (origin
19544 (method git-fetch)
19545 (uri (git-reference
19546 (url "https://github.com/magnars/js2-refactor.el")
19547 (commit commit)))
19548 (file-name (git-file-name name version))
19549 (sha256
19550 (base32
19551 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
19552 (build-system emacs-build-system)
19553 (propagated-inputs
19554 `(("emacs-dash" ,emacs-dash)
19555 ("emacs-s" ,emacs-s)
19556 ("emacs-js2-mode" ,emacs-js2-mode)
19557 ("emacs-yasnippet" ,emacs-yasnippet)
19558 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
19559 (native-inputs
19560 `(("emacs-buttercup" ,emacs-buttercup)
19561 ("emacs-espuds" ,emacs-espuds)))
19562 (home-page "https://github.com/magnars/js2-refactor.el")
19563 (synopsis "JavaScript refactoring in Emacs")
19564 (description "This package provides various refactoring functions for
19565 JavaScript.")
19566 (license license:gpl3+))))
19567
19568 (define-public emacs-prettier
19569 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
19570 (version "0.1.0")
19571 (revision "1"))
19572 (package
19573 (name "emacs-prettier")
19574 (version (git-version version revision commit))
19575 (source
19576 (origin
19577 (method git-fetch)
19578 (uri (git-reference
19579 (url "https://github.com/prettier/prettier-emacs")
19580 (commit commit)))
19581 (file-name (git-file-name name version))
19582 (sha256
19583 (base32
19584 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
19585 (build-system emacs-build-system)
19586 (home-page "https://github.com/prettier/prettier-emacs")
19587 (synopsis "Automatic formatting of JavaScript code")
19588 (description "This package integrates Prettier with Emacs, and
19589 provides a minor mode that autoformats the buffer upon saving.")
19590 (license license:expat))))
19591
19592 (define-public emacs-fish-mode
19593 (package
19594 (name "emacs-fish-mode")
19595 (version "0.1.4")
19596 (source
19597 (origin
19598 (method git-fetch)
19599 (uri (git-reference
19600 (url "https://github.com/wwwjfy/emacs-fish")
19601 (commit version)))
19602 (file-name (git-file-name name version))
19603 (sha256
19604 (base32
19605 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
19606 (build-system emacs-build-system)
19607 (home-page "https://github.com/wwwjfy/emacs-fish")
19608 (synopsis "Major mode for Fish shell scripts")
19609 (description "This package provides syntax highlighting and indentation
19610 functions for Fish shell scripts.")
19611 (license license:gpl3+)))
19612
19613 (define-public emacs-eshell-up
19614 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
19615 (version "0.0.3")
19616 (revision "12"))
19617 (package
19618 (name "emacs-eshell-up")
19619 (version (git-version version revision commit))
19620 (source
19621 (origin
19622 (method git-fetch)
19623 (uri (git-reference
19624 (url "https://github.com/peterwvj/eshell-up")
19625 (commit commit)))
19626 (file-name (git-file-name name version))
19627 (sha256
19628 (base32
19629 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
19630 (build-system emacs-build-system)
19631 (home-page "https://github.com/peterwvj/eshell-up")
19632 (synopsis "Quickly go to a parent directory in @code{Eshell}")
19633 (description "This package provides quick navigation to a specific
19634 parent directory using @code{Eshell}.")
19635 (license license:gpl3+))))
19636
19637 (define-public emacs-tco-el
19638 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
19639 (revision "1"))
19640 (package
19641 (name "emacs-tco-el")
19642 (version (git-version "0.3" revision commit))
19643 (source
19644 (origin
19645 (method git-fetch)
19646 (uri (git-reference
19647 (url "https://github.com/Wilfred/tco.el")
19648 (commit commit)))
19649 (file-name (git-file-name name version))
19650 (sha256
19651 (base32
19652 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
19653 (build-system emacs-build-system)
19654 (propagated-inputs
19655 `(("emacs-dash" ,emacs-dash)))
19656 (native-inputs
19657 `(("emacs-ert-runner" ,emacs-ert-runner)
19658 ("emacs-undercover" ,emacs-undercover)))
19659 (arguments
19660 `(#:tests? #t
19661 #:test-command '("ert-runner")))
19662 (home-page "https://github.com/Wilfred/tco.el")
19663 (synopsis "Tail-call optimization for Emacs Lisp")
19664 (description "This package provides tail-call optimization for Emacs
19665 Lisp functions that call themselves in tail position.")
19666 (license license:gpl3+))))
19667
19668 (define-public emacs-equake
19669 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
19670 (revision "2"))
19671 (package
19672 (name "emacs-equake")
19673 (version (git-version "0.85" revision commit))
19674 (source
19675 (origin
19676 (method git-fetch)
19677 (uri (git-reference
19678 (url "https://gitlab.com/emacsomancer/equake/")
19679 (commit commit)))
19680 (file-name (git-file-name name version))
19681 (sha256
19682 (base32
19683 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
19684 (build-system emacs-build-system)
19685 (propagated-inputs
19686 `(("emacs-dash" ,emacs-dash)
19687 ("emacs-tco-el" ,emacs-tco-el)))
19688 (home-page "https://gitlab.com/emacsomancer/equake/")
19689 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
19690 (description "This package provides a Quake-style drop-down console
19691 compatible with Emacs' shell modes.")
19692 (license license:gpl3+))))
19693
19694 (define-public emacs-vdiff
19695 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
19696 (revision "1"))
19697 (package
19698 (name "emacs-vdiff")
19699 (version (git-version "0.2.3" revision commit))
19700 (source
19701 (origin
19702 (method git-fetch)
19703 (uri (git-reference
19704 (url "https://github.com/justbur/emacs-vdiff.git")
19705 (commit commit)))
19706 (file-name (git-file-name name version))
19707 (sha256
19708 (base32
19709 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
19710 (build-system emacs-build-system)
19711 (propagated-inputs
19712 `(("emacs-hydra" ,emacs-hydra)))
19713 (arguments
19714 `(#:tests? #t
19715 #:test-command '("emacs" "-Q" "-batch" "-L" "."
19716 "-l" "vdiff-test.el"
19717 "-f" "ert-run-tests-batch-and-exit")))
19718 (home-page "https://github.com/justbur/emacs-vdiff/")
19719 (synopsis "Frontend for diffing based on vimdiff")
19720 (description "This package permits comparisons of two or three buffers
19721 based on diff output.")
19722 (license license:gpl3+))))
19723
19724 (define-public emacs-vdiff-magit
19725 ;; Need to use a more recent commit than the latest release version because
19726 ;; of Magit and Transient
19727 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
19728 (version "0.3.2")
19729 (revision "8"))
19730 (package
19731 (name "emacs-vdiff-magit")
19732 (version (git-version version revision commit))
19733 (source
19734 (origin
19735 (method git-fetch)
19736 (uri (git-reference
19737 (url "https://github.com/justbur/emacs-vdiff-magit/")
19738 (commit commit)))
19739 (file-name (git-file-name name version))
19740 (sha256
19741 (base32
19742 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
19743 (build-system emacs-build-system)
19744 (propagated-inputs
19745 `(("emacs-vdiff" ,emacs-vdiff)
19746 ("emacs-magit" ,emacs-magit)
19747 ("emacs-transient" ,emacs-transient)))
19748 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
19749 (synopsis "Frontend for diffing based on vimdiff")
19750 (description "This package permits comparisons of two or three buffers
19751 based on diff output.")
19752 (license license:gpl3+))))
19753
19754 (define-public emacs-all-the-icons-dired
19755 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
19756 (version "1.0")
19757 (revision "1"))
19758 (package
19759 (name "emacs-all-the-icons-dired")
19760 (version (git-version version revision commit))
19761 (source
19762 (origin
19763 (method git-fetch)
19764 (uri (git-reference
19765 (url "https://github.com/jtbm37/all-the-icons-dired/")
19766 (commit commit)))
19767 (file-name (git-file-name name version))
19768 (sha256
19769 (base32
19770 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
19771 (build-system emacs-build-system)
19772 (propagated-inputs
19773 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
19774 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
19775 (synopsis "Show icons for each file in @code{dired-mode}")
19776 (description "This package allows icons from @file{all-the-icons.el} to
19777 be used in @code{dired-mode}.")
19778 (license license:gpl3+))))
19779
19780 (define-public emacs-exwm-edit
19781 (let ((commit "bc25ba094b383be3c650ca0b7e1534efe2bb154f")
19782 (version "0.0.1")
19783 (revision "2"))
19784 (package
19785 (name "emacs-exwm-edit")
19786 (version (git-version version revision commit))
19787 (source
19788 (origin
19789 (method git-fetch)
19790 (uri (git-reference
19791 (url "https://github.com/agzam/exwm-edit/")
19792 (commit commit)))
19793 (file-name (git-file-name name version))
19794 (sha256
19795 (base32
19796 "1z1ya9xgknka3dy3b3x8zzfkxdx5jqsi8q5aqkvxjxa6n7mmqdwv"))))
19797 (build-system emacs-build-system)
19798 (propagated-inputs
19799 `(("emacs-exwm" ,emacs-exwm)))
19800 (home-page "https://github.com/agzam/exwm-edit/")
19801 (synopsis "Open temp buffers for editing text from EXWM buffers")
19802 (description "This package facilitates editing text from EXWM buffers by
19803 generating a temp buffer in which any useful Emacs utilities and modes can be
19804 invoked.")
19805 (license license:gpl3+))))
19806
19807 (define-public emacs-ert-async
19808 (package
19809 (name "emacs-ert-async")
19810 (version "0.1.2")
19811 (source
19812 (origin
19813 (method git-fetch)
19814 (uri (git-reference
19815 (url "https://github.com/rejeep/ert-async.el")
19816 (commit (string-append "v" version))))
19817 (file-name (git-file-name name version))
19818 (sha256
19819 (base32
19820 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
19821 (build-system emacs-build-system)
19822 (home-page "https://github.com/rejeep/ert-async.el")
19823 (synopsis "Async support for ERT")
19824 (description "This package allows ERT to work with asynchronous tests.")
19825 (license license:gpl3+)))
19826
19827 (define-public emacs-prodigy-el
19828 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
19829 (revision "2"))
19830 (package
19831 (name "emacs-prodigy-el")
19832 (version (git-version "0.7.0" revision commit))
19833 (source
19834 (origin
19835 (method git-fetch)
19836 (uri (git-reference
19837 (url "https://github.com/rejeep/prodigy.el")
19838 (commit commit)))
19839 (file-name (git-file-name name version))
19840 (sha256
19841 (base32
19842 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
19843 (build-system emacs-build-system)
19844 (propagated-inputs
19845 `(("emacs-dash" ,emacs-dash)
19846 ("emacs-s" ,emacs-s)
19847 ("emacs-f" ,emacs-f)))
19848 (native-inputs
19849 `(("emacs-el-mock" ,emacs-el-mock)
19850 ("emacs-ert-async" ,emacs-ert-async)))
19851 (home-page "https://github.com/rejeep/prodigy.el")
19852 (synopsis "Manage external services from within Emacs")
19853 (description "This package provides a GUI for defining and monitoring services.")
19854 (license license:gpl3+))))
19855
19856 (define-public emacs-web-server
19857 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
19858 (revision "1"))
19859 (package
19860 (name "emacs-web-server")
19861 (version (git-version "0.1.0" revision commit))
19862 (source
19863 (origin
19864 (method git-fetch)
19865 (uri (git-reference
19866 (url "https://github.com/eschulte/emacs-web-server/")
19867 (commit commit)))
19868 (file-name (git-file-name name version))
19869 (sha256
19870 (base32
19871 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
19872 (build-system emacs-build-system)
19873 (native-inputs
19874 `(("curl" ,curl)))
19875 (arguments
19876 `(#:phases
19877 (modify-phases %standard-phases
19878 (add-after 'unpack 'set-shell
19879 ;; Setting the SHELL environment variable is required for the tests
19880 ;; to find sh.
19881 (lambda _
19882 (setenv "SHELL" (which "sh"))
19883 #t)))
19884 #:tests? #t
19885 #:test-command '("make" "check")))
19886 (home-page "https://github.com/eschulte/emacs-web-server/")
19887 (synopsis "Web server with handlers in Emacs Lisp")
19888 (description "This package supports HTTP GET and POST requests with
19889 url-encoded parameters, as well as web sockets.")
19890 (license license:gpl3+))))
19891
19892 (define-public emacs-markdown-preview-mode
19893 (package
19894 (name "emacs-markdown-preview-mode")
19895 (version "0.9.2")
19896 (source
19897 (origin
19898 (method git-fetch)
19899 (uri (git-reference
19900 (url "https://github.com/ancane/markdown-preview-mode")
19901 (commit (string-append "v" version))))
19902 (file-name (git-file-name name version))
19903 (sha256
19904 (base32
19905 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
19906 (build-system emacs-build-system)
19907 (propagated-inputs
19908 `(("emacs-markdown-mode" ,emacs-markdown-mode)
19909 ("emacs-websocket" ,emacs-websocket)
19910 ("emacs-web-server" ,emacs-web-server)))
19911 (arguments '(#:include '("\\.el$" "\\.html$")))
19912 (home-page "https://github.com/ancane/markdown-preview-mode")
19913 (synopsis "Preview Markdown files")
19914 (description "This package provides a minor mode for preview of Markdown
19915 files, and sends rendered Markdown to a web browser.")
19916 (license license:gpl3+)))
19917
19918 (define-public emacs-dotenv-mode
19919 (package
19920 (name "emacs-dotenv-mode")
19921 (version "0.2.4")
19922 (source
19923 (origin
19924 (method git-fetch)
19925 (uri (git-reference
19926 (url "https://github.com/preetpalS/emacs-dotenv-mode")
19927 (commit (string-append "v" version))))
19928 (file-name (git-file-name name version))
19929 (sha256
19930 (base32
19931 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
19932 (build-system emacs-build-system)
19933 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
19934 (synopsis "Major mode for @file{.env} files")
19935 (description "This package provides syntax highlighting for @file{.env}
19936 files.")
19937 (license license:gpl3+)))
19938
19939 (define-public emacs-add-node-modules-path
19940 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
19941 (version "1.2.0")
19942 (revision "10"))
19943 (package
19944 (name "emacs-add-node-modules-path")
19945 (version (git-version version revision commit))
19946 (source
19947 (origin
19948 (method git-fetch)
19949 (uri (git-reference
19950 (url "https://github.com/codesuki/add-node-modules-path")
19951 (commit commit)))
19952 (file-name (git-file-name name version))
19953 (sha256
19954 (base32
19955 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
19956 (build-system emacs-build-system)
19957 (home-page "https://github.com/codesuki/add-node-modules-path")
19958 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
19959 (description "This package searches the parent directories of the
19960 current file for the project's @file{node_modules/.bin/} directory, allowing
19961 Emacs to find project-specific installations of packages.")
19962 (license license:expat))))
19963
19964 (define-public emacs-flow-minor-mode
19965 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
19966 (version "0.3")
19967 (revision "4"))
19968 (package
19969 (name "emacs-flow-minor-mode")
19970 (version (git-version version revision commit))
19971 (source
19972 (origin
19973 (method git-fetch)
19974 (uri (git-reference
19975 (url "https://github.com/an-sh/flow-minor-mode")
19976 (commit commit)))
19977 (file-name (git-file-name name version))
19978 (sha256
19979 (base32
19980 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
19981 (build-system emacs-build-system)
19982 (home-page "https://github.com/an-sh/flow-minor-mode")
19983 (synopsis "Minor mode for JavaScript Flow files")
19984 (description "This package integrates Flow with Emacs, allowing for
19985 definition-jumping and type-checking on demand.")
19986 (license license:bsd-3))))
19987
19988 (define-public emacs-rjsx-mode
19989 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
19990 (revision "2"))
19991 (package
19992 (name "emacs-rjsx-mode")
19993 (version (git-version "0.4" revision commit))
19994 (source
19995 (origin
19996 (method git-fetch)
19997 (uri (git-reference
19998 (url "https://github.com/felipeochoa/rjsx-mode")
19999 (commit commit)))
20000 (file-name (git-file-name name version))
20001 (sha256
20002 (base32
20003 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
20004 (build-system emacs-build-system)
20005 (propagated-inputs
20006 `(("emacs-js2-mode" ,emacs-js2-mode)))
20007 (arguments
20008 `(#:tests? #t
20009 #:test-command '("make" "test")))
20010 (home-page "https://github.com/felipeochoa/rjsx-mode")
20011 (synopsis "Major mode for JSX files")
20012 (description "This package extends the parser of @code{js2-mode} to
20013 support JSX syntax.")
20014 (license license:expat))))
20015
20016 (define-public emacs-origami-el
20017 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
20018 (version "1.0")
20019 (revision "1"))
20020 (package
20021 (name "emacs-origami-el")
20022 (version (git-version version revision commit))
20023 (source
20024 (origin
20025 (method git-fetch)
20026 (uri (git-reference
20027 (url "https://github.com/gregsexton/origami.el")
20028 (commit commit)))
20029 (file-name (git-file-name name version))
20030 (sha256
20031 (base32
20032 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
20033 (build-system emacs-build-system)
20034 (propagated-inputs
20035 `(("emacs-dash" ,emacs-dash)
20036 ("emacs-s" ,emacs-s)))
20037 (home-page "https://github.com/gregsexton/origami.el")
20038 (synopsis "Flexible text-folding")
20039 (description "This package provides a minor mode for collapsing and
20040 expanding regions of text without modifying the actual contents.")
20041 (license license:expat))))
20042
20043 (define-public emacs-peep-dired
20044 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
20045 (version "0")
20046 (revision "1"))
20047 (package
20048 (name "emacs-peep-dired")
20049 (version (git-version version revision commit))
20050 (source
20051 (origin
20052 (method git-fetch)
20053 (uri (git-reference
20054 (url "https://github.com/asok/peep-dired")
20055 (commit commit)))
20056 (file-name (git-file-name name version))
20057 (sha256
20058 (base32
20059 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
20060 (build-system emacs-build-system)
20061 (home-page "https://github.com/asok/peep-dired")
20062 (synopsis "Preview files in another window")
20063 (description "This package provides a minor mode that allows files to be
20064 previewed by scrolling up and down within a @code{dired} buffer.")
20065 (license license:gpl3+))))
20066
20067 (define-public emacs-counsel-etags
20068 (package
20069 (name "emacs-counsel-etags")
20070 (version "1.8.9")
20071 (source
20072 (origin
20073 (method git-fetch)
20074 (uri (git-reference
20075 (url "https://github.com/redguardtoo/counsel-etags")
20076 (commit version)))
20077 (file-name (git-file-name name version))
20078 (sha256
20079 (base32
20080 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
20081 (build-system emacs-build-system)
20082 (propagated-inputs
20083 `(("emacs-ivy" ,emacs-ivy)))
20084 (arguments
20085 `(#:tests? #t
20086 #:test-command '("make" "test")))
20087 (home-page "https://github.com/redguardtoo/counsel-etags")
20088 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
20089 (description "This package uses @code{ivy-mode} to facilitate navigating
20090 and searching through @code{Ctags} files.")
20091 (license license:gpl3+)))
20092
20093 (define-public emacs-ivy-clipmenu
20094 (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
20095 (package
20096 (name "emacs-ivy-clipmenu")
20097 (version (git-version "0.0.1" "1" commit))
20098 (source (origin
20099 (method git-fetch)
20100 (uri (git-reference
20101 (url "https://github.com/wpcarro/ivy-clipmenu.el.git")
20102 (commit commit)))
20103 (file-name (git-file-name name version))
20104 (sha256
20105 (base32
20106 "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
20107 (propagated-inputs
20108 `(("emacs-f" ,emacs-f)
20109 ("emacs-ivy" ,emacs-ivy)))
20110 (build-system emacs-build-system)
20111 (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
20112 (synopsis "Ivy integration with clipmenu")
20113 (description "Ivy integration with the clipboard manager, clipmenu.")
20114 (license license:expat))))
20115
20116 (define-public emacs-org-download
20117 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
20118 (revision "2"))
20119 (package
20120 (name "emacs-org-download")
20121 (version (git-version "0.1.0" revision commit))
20122 (source (origin
20123 (method git-fetch)
20124 (uri (git-reference
20125 (url "https://github.com/abo-abo/org-download")
20126 (commit commit)))
20127 (sha256
20128 (base32
20129 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
20130 (file-name (git-file-name name version))))
20131 (build-system emacs-build-system)
20132 (propagated-inputs
20133 `(("emacs-org" ,emacs-org)
20134 ("emacs-async" ,emacs-async)))
20135 (home-page "https://github.com/abo-abo/org-download")
20136 (synopsis "Facilitate moving images")
20137 (description "This package provides utilities for managing image files
20138 copied into @code{org-mode} buffers.")
20139 (license license:gpl3+))))
20140
20141 (define-public emacs-dash-docs
20142 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
20143 (revision "1"))
20144 (package
20145 (name "emacs-dash-docs")
20146 (version (git-version "1.4.0" revision commit))
20147 (source
20148 (origin
20149 (method git-fetch)
20150 (uri (git-reference
20151 (url "https://github.com/dash-docs-el/dash-docs.git")
20152 (commit commit)))
20153 (file-name (git-file-name name version))
20154 (sha256
20155 (base32
20156 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
20157 (build-system emacs-build-system)
20158 (propagated-inputs
20159 `(("emacs-async" ,emacs-async)))
20160 (native-inputs
20161 `(("emacs-undercover" ,emacs-undercover)
20162 ("emacs-ert-runner" ,emacs-ert-runner)))
20163 (arguments
20164 `(#:tests? #t
20165 #:test-command '("ert-runner")
20166 #:phases
20167 ;; this test requires network access, so remove it
20168 (modify-phases %standard-phases
20169 (add-before 'check 'make-tests-writable
20170 (lambda _
20171 (make-file-writable "test/dash-docs-test.el")
20172 #t))
20173 (add-before 'check 'delete-test
20174 (lambda _
20175 (emacs-batch-edit-file "test/dash-docs-test.el"
20176 `(progn (progn
20177 (goto-char (point-min))
20178 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
20179 (beginning-of-line)
20180 (kill-sexp))
20181 (basic-save-buffer)))
20182 #t)))))
20183 (home-page "https://github.com/dash-docs-el/dash-docs")
20184 (synopsis "Offline documentation browser for APIs using Dash docsets")
20185 (description "This package exposes functionality to work with Dash docsets.")
20186 (license license:gpl3+))))
20187
20188 (define-public emacs-helm-dash
20189 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
20190 (revision "2"))
20191 (package
20192 (name "emacs-helm-dash")
20193 (version (git-version "1.3.0" revision commit))
20194 (source
20195 (origin
20196 (method git-fetch)
20197 (uri (git-reference
20198 (url "https://github.com/areina/helm-dash.git")
20199 (commit commit)))
20200 (file-name (git-file-name name version))
20201 (sha256
20202 (base32
20203 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
20204 (build-system emacs-build-system)
20205 (propagated-inputs
20206 `(("emacs-helm" ,emacs-helm)
20207 ("emacs-dash-docs" ,emacs-dash-docs)))
20208 (home-page "https://github.com/areina/helm-dash")
20209 (synopsis "Offline documentation browser for APIs using Dash docsets")
20210 (description "This package uses Helm to install and navigate through
20211 Dash docsets.")
20212 (license license:gpl3+))))
20213
20214 (define-public emacs-counsel-dash
20215 (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
20216 (revision "3"))
20217 (package
20218 (name "emacs-counsel-dash")
20219 (version (git-version "0.1.3" revision commit))
20220 (source
20221 (origin
20222 (method git-fetch)
20223 (uri (git-reference
20224 (url "https://github.com/dash-docs-el/counsel-dash.git")
20225 (commit commit)))
20226 (file-name (git-file-name name version))
20227 (sha256
20228 (base32
20229 "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
20230 (build-system emacs-build-system)
20231 (propagated-inputs
20232 `(("emacs-dash-docs" ,emacs-dash-docs)
20233 ("emacs-ivy" ,emacs-ivy)))
20234 (arguments
20235 `(#:phases
20236 (modify-phases %standard-phases
20237 (add-after 'unpack 'require-ivy
20238 (lambda _
20239 (substitute* "counsel-dash.el"
20240 (("^\\(require 'cl-lib\\)")
20241 "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
20242 #t)))))
20243 (home-page "https://github.com/dash-docs-el/counsel-dash")
20244 (synopsis "Offline documentation browser for APIs using Dash docsets")
20245 (description "This package uses @code{ivy-mode} to install and navigate
20246 through Dash docsets.")
20247 (license license:expat))))
20248
20249 (define-public emacs-el-patch
20250 (package
20251 (name "emacs-el-patch")
20252 (version "2.2.3")
20253 (source
20254 (origin
20255 (method git-fetch)
20256 (uri (git-reference
20257 (url "https://github.com/raxod502/el-patch")
20258 (commit version)))
20259 (file-name (git-file-name name version))
20260 (sha256
20261 (base32
20262 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
20263 (build-system emacs-build-system)
20264 (home-page "https://github.com/raxod502/el-patch")
20265 (synopsis "Future-proof your Emacs customizations")
20266 (description "This package allows for an alternate definition of an Elisp
20267 function to be specified and for any differences from the original definition
20268 to be examined using Ediff.")
20269 (license license:expat)))
20270
20271 (define-public emacs-info-plus
20272 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
20273 (revision "2"))
20274 (package
20275 (name "emacs-info-plus")
20276 (version (git-version "0" revision commit))
20277 (source
20278 (origin
20279 (method git-fetch)
20280 (uri (git-reference
20281 (url "https://github.com/emacsmirror/info-plus")
20282 (commit commit)))
20283 (file-name (git-file-name name version))
20284 (sha256
20285 (base32
20286 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
20287 (build-system emacs-build-system)
20288 (home-page "https://github.com/emacsmirror/info-plus")
20289 (synopsis "Extensions to @file{info.el}")
20290 (description "This package extends Emacs' @file{info.el} by allowing
20291 outline-enabled table of contents, additional metadata association for Info
20292 nodes, and more.")
20293 (license license:gpl2+))))
20294
20295 (define-public emacs-eval-sexp-fu-el
20296 (package
20297 (name "emacs-eval-sexp-fu-el")
20298 (version "0.5.0")
20299 (source
20300 (origin
20301 (method git-fetch)
20302 (uri (git-reference
20303 (url "https://github.com/hchbaw/eval-sexp-fu.el")
20304 (commit (string-append "v" version))))
20305 (file-name (git-file-name name version))
20306 (sha256
20307 (base32
20308 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
20309 (build-system emacs-build-system)
20310 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
20311 (synopsis "Enhancements for evaluating s-expressions")
20312 (description "This package provides provides variants of
20313 @code{eval-last-sexp} that work on the containing list or s-expression, as
20314 well as an option for visually flashing evaluated s-expressions.")
20315 (license license:gpl3+)))
20316
20317 (define-public emacs-counsel-tramp
20318 (package
20319 (name "emacs-counsel-tramp")
20320 (version "0.6.3")
20321 (source
20322 (origin
20323 (method git-fetch)
20324 (uri (git-reference
20325 (url "https://github.com/masasam/emacs-counsel-tramp")
20326 (commit version)))
20327 (file-name (git-file-name name version))
20328 (sha256
20329 (base32
20330 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
20331 (build-system emacs-build-system)
20332 (propagated-inputs
20333 `(("emacs-ivy" ,emacs-ivy)))
20334 (home-page "https://github.com/masasam/emacs-counsel-tramp")
20335 (synopsis "Ivy interface for TRAMP")
20336 (description "This package allows @code{ivy-mode} to display and filter
20337 SSH servers.")
20338 (license license:gpl3+)))
20339
20340 (define-public emacs-tramp
20341 (package
20342 (name "emacs-tramp")
20343 (version "2.4.3.5")
20344 (source
20345 (origin
20346 (method url-fetch)
20347 (uri (string-append "https://elpa.gnu.org/packages/"
20348 "tramp-" version ".tar"))
20349 (sha256
20350 (base32 "14djizi4ivwv4ad4nymday86jbh45w14wdhlm96743ffwr45dd2m"))))
20351 (build-system emacs-build-system)
20352 (arguments
20353 `(#:emacs ,emacs ;need D-Bus
20354 #:phases
20355 (modify-phases %standard-phases
20356 ;; All but one "/bin/" directory refer to remote
20357 ;; environments, which may not be Guix. Do not patch them
20358 ;; blindly. However, local encoding shell has to be patched.
20359 (replace 'patch-el-files
20360 (lambda* (#:key inputs #:allow-other-keys)
20361 (let ((sh (assoc-ref inputs "bash"))
20362 (file "tramp.el"))
20363 (emacs-substitute-variables file
20364 ("tramp-encoding-shell" (string-append sh "/bin/sh"))))
20365 #t)))))
20366 (inputs
20367 `(("bash" ,bash)))
20368 (home-page "https://savannah.gnu.org/projects/tramp")
20369 (synopsis "Remote file editing package for Emacs")
20370 (description
20371 "Tramp stands for ``Transparent Remote (file) Access, Multiple
20372 Protocol''. This package provides remote file editing, using
20373 a combination of @command{rsh} and @command{rcp} or other work-alike
20374 programs, such as @command{ssh} and @command{scp}.")
20375 (license license:gpl3+)))
20376
20377 (define-public emacs-tramp-auto-auth
20378 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
20379 (package
20380 (name "emacs-tramp-auto-auth")
20381 (version (git-version "20191027" "1" commit))
20382 (source
20383 (origin
20384 (method git-fetch)
20385 (uri (git-reference
20386 (url "https://github.com/oitofelix/tramp-auto-auth.git")
20387 (commit commit)))
20388 (file-name (git-file-name name version))
20389 (sha256
20390 (base32
20391 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
20392 (build-system emacs-build-system)
20393 (home-page "https://github.com/oitofelix/tramp-auto-auth")
20394 (synopsis "TRAMP automatic authentication library")
20395 (description "This package provides @code{tramp-auto-auth-mode} Emacs
20396 global minor mode whose purpose is to automatically feed TRAMP sub-processes
20397 with passwords for paths matching regexps.")
20398 (license license:gpl3+))))
20399
20400 (define-public emacs-eacl
20401 (package
20402 (name "emacs-eacl")
20403 (version "2.0.1")
20404 (source
20405 (origin
20406 (method git-fetch)
20407 (uri (git-reference
20408 (url "https://github.com/redguardtoo/eacl")
20409 (commit version)))
20410 (file-name (git-file-name name version))
20411 (sha256
20412 (base32
20413 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
20414 (build-system emacs-build-system)
20415 (propagated-inputs
20416 `(("emacs-ivy" ,emacs-ivy)))
20417 (home-page "https://github.com/redguardtoo/eacl")
20418 (synopsis "Auto-complete lines by using @code{grep} on a project")
20419 (description "This package provides auto-completion commands for single
20420 and multiple lines of code in a project.")
20421 (license license:gpl3+)))
20422
20423 (define-public emacs-semantic-refactor
20424 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
20425 ;; commits since then.
20426 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
20427 (package
20428 (name "emacs-semantic-refactor")
20429 (version (git-version "0.5" "1" commit))
20430 (source
20431 (origin
20432 (method git-fetch)
20433 (uri (git-reference
20434 (url "https://github.com/tuhdo/semantic-refactor")
20435 (commit commit)))
20436 (file-name (git-file-name name version))
20437 (sha256
20438 (base32
20439 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
20440 (build-system emacs-build-system)
20441 (home-page "https://github.com/tuhdo/semantic-refactor")
20442 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
20443 (description "This package provides a refactoring tool based on the
20444 Emacs Semantic parser framework. For C and C++ it supports operations such as:
20445
20446 @enumerate
20447 @item Generating class implementations
20448 @item Generating function prototypes
20449 @item Converting functions to function pointers
20450 @item Moving semantic units
20451 @item etc...
20452 @end enumerate
20453
20454 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
20455 as:
20456
20457 @enumerate
20458 @item Formatting the whole buffer
20459 @item Converting sexpressions to one or multiple lines
20460 @item etc...
20461 @end enumerate\n")
20462 (license license:gpl3+))))
20463
20464 (define-public emacs-nhexl-mode
20465 (package
20466 (name "emacs-nhexl-mode")
20467 (version "1.4")
20468 (source
20469 (origin
20470 (method url-fetch)
20471 (uri (string-append
20472 "https://elpa.gnu.org/packages/nhexl-mode-"
20473 version ".el"))
20474 (sha256
20475 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
20476 (build-system emacs-build-system)
20477 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
20478 (synopsis "Minor mode to edit files via hex-dump format")
20479 (description
20480 "This package implements NHexl mode, a minor mode for editing files
20481 in hex dump format. The mode command is called @command{nhexl-mode}.
20482
20483 This minor mode implements similar functionality to @command{hexl-mode},
20484 but using a different implementation technique, which makes it
20485 usable as a \"plain\" minor mode. It works on any buffer, and does
20486 not mess with the undo log or with the major mode.
20487
20488 It also comes with:
20489
20490 @itemize
20491 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
20492 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
20493 (which only work for hex-digits) will only modify the nibble under point.
20494 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
20495 moving text. In this minor mode, not only self-inserting keys overwrite
20496 existing text, but commands like `yank' and @command{kill-region} as well.
20497 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
20498 C-f} to advance by #xa4 characters.
20499 @end itemize\n")
20500 (license license:gpl3+)))
20501
20502 (define-public emacs-helm-wikipedia
20503 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
20504 (package
20505 (name "emacs-helm-wikipedia")
20506 (version (git-version "0.0.0" "1" commit))
20507 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
20508 (source
20509 (origin
20510 (method git-fetch)
20511 (uri (git-reference
20512 (url home-page)
20513 (commit commit)))
20514 (file-name (git-file-name name version))
20515 (sha256
20516 (base32
20517 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
20518 (build-system emacs-build-system)
20519 (inputs
20520 `(("helm" ,emacs-helm)))
20521 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
20522 (description
20523 "This package provides an Emacs Helm interface for search suggestions
20524 and article extracts for Wikipedia.")
20525 (license license:gpl3+))))
20526
20527 (define-public emacs-webfeeder
20528 (package
20529 (name "emacs-webfeeder")
20530 (version "1.0.0")
20531 (source
20532 (origin
20533 (method url-fetch)
20534 (uri (string-append
20535 "https://elpa.gnu.org/packages/webfeeder-"
20536 version
20537 ".tar"))
20538 (sha256
20539 (base32
20540 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
20541 (build-system emacs-build-system)
20542 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
20543 (synopsis "Build RSS and Atom webfeeds from HTML files")
20544 (description
20545 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
20546 files. The various elements of the HTML input are parsed with customizable
20547 functions (e.g. @code{webfeeder-title-function}).")
20548 (license license:gpl3+)))
20549
20550 (define-public emacs-evil-numbers
20551 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
20552 (package
20553 (name "emacs-evil-numbers")
20554 (version (git-version "0.4" "1" commit))
20555 (source (origin
20556 (method git-fetch)
20557 (uri (git-reference
20558 (url "https://github.com/dieggsy/evil-numbers")
20559 (commit commit)))
20560 (file-name (git-file-name name version))
20561 (sha256
20562 (base32
20563 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
20564 (build-system emacs-build-system)
20565 (home-page "https://github.com/dieggsy/evil-numbers")
20566 (synopsis "Increment and decrement numbers in Emacs")
20567 (description "This package increments and decrements binary, octal,
20568 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
20569 number up to EOL and then increments or decrements and keeps zero padding up
20570 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
20571 numbers within that region will be incremented/decremented (unlike in Vim).
20572
20573 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
20574 (license license:gpl3+))))
20575
20576 (define-public emacs-rotate-text
20577 (package
20578 (name "emacs-rotate-text")
20579 (version "0.1")
20580 (source (origin
20581 (method git-fetch)
20582 (uri (git-reference
20583 (url "https://github.com/nschum/rotate-text.el.git")
20584 (commit version)))
20585 (file-name (git-file-name name version))
20586 (sha256
20587 (base32
20588 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
20589 (build-system emacs-build-system)
20590 (home-page "https://nschum.de/src/emacs/rotate-text/")
20591 (synopsis "Cycle through words, symbols and patterns in Emacs")
20592 (description "@code{rotate-text} allows you rotate to commonly
20593 interchanged text with a single keystroke. For example, you can toggle
20594 between \"frame-width\" and \"frame-height\", between \"public\",
20595 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
20596 \"variableN\".")
20597 (license license:gpl2+)))
20598
20599 (define-public emacs-ediprolog
20600 (package
20601 (name "emacs-ediprolog")
20602 (version "1.2")
20603 (source
20604 (origin
20605 (method url-fetch)
20606 (uri (string-append
20607 "https://elpa.gnu.org/packages/ediprolog-"
20608 version
20609 ".el"))
20610 (sha256
20611 (base32
20612 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
20613 (build-system emacs-build-system)
20614 (home-page "https://elpa.gnu.org/packages/ediprolog.html")
20615 (synopsis "Emacs Does Interactive Prolog")
20616 (description "This package provides a major mode that let the user
20617 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
20618 programs and evaluate embedded queries. This mode is focused on the command
20619 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
20620 context, carry out the appropriate action.")
20621 (license license:gpl3+)))
20622
20623 (define-public emacs-evil-cleverparens
20624 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
20625 (revision "1"))
20626 (package
20627 (name "emacs-evil-cleverparens")
20628 (version (git-version "2017-07-17" revision commit))
20629 (source (origin
20630 (method git-fetch)
20631 (uri (git-reference
20632 (url "https://github.com/luxbock/evil-cleverparens.git")
20633 (commit commit)))
20634 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
20635 (file-name (git-file-name name version))))
20636 (build-system emacs-build-system)
20637 (propagated-inputs
20638 `(("emacs-evil" ,emacs-evil)
20639 ("emacs-paredit" ,emacs-paredit)
20640 ("emacs-smartparens" ,emacs-smartparens)))
20641 (home-page "https://github.com/luxbock/evil-cleverparens")
20642 (synopsis "Emacs modal editing optimized for editing Lisp")
20643 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
20644 modal editing with screwing up the structure of Lisp code. Alternatives for
20645 verb commands which would are normally destructive (such as deletion) are
20646 provided. Those alternative commands are and bound by default to their
20647 corresponding Evil keys.")
20648 (license license:expat))))
20649
20650 (define-public emacs-evil-traces
20651 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
20652 (revision "2"))
20653 (package
20654 (name "emacs-evil-traces")
20655 (version (git-version "0.0.1" revision commit))
20656 (source (origin
20657 (method git-fetch)
20658 (uri (git-reference
20659 (url "https://github.com/mamapanda/evil-traces.git")
20660 (commit commit)))
20661 (file-name (git-file-name name version))
20662 (sha256
20663 (base32
20664 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
20665 (build-system emacs-build-system)
20666 (propagated-inputs
20667 `(("emacs-evil" ,emacs-evil)))
20668 (arguments
20669 `(#:phases
20670 (modify-phases %standard-phases
20671 (add-after 'unpack 'set-shell
20672 ;; Setting the SHELL environment variable is required for the tests
20673 ;; to find sh.
20674 (lambda _
20675 (setenv "SHELL" (which "sh"))
20676 #t)))
20677 #:tests? #t
20678 #:test-command '("make" "test")))
20679 (home-page "https://github.com/mamapanda/evil-traces")
20680 (synopsis "Visual hints for @code{evil-ex}")
20681 (description "This package adds visual hints to certain @code{ex}
20682 commands in @code{evil-mode}.")
20683 (license license:gpl3+))))
20684
20685 (define-public emacs-evil-tmux-navigator
20686 (package
20687 (name "emacs-evil-tmux-navigator")
20688 (version "0.1.5")
20689 (source
20690 (origin
20691 (method git-fetch)
20692 (uri
20693 (git-reference
20694 (url "https://github.com/keith/evil-tmux-navigator")
20695 (commit version)))
20696 (file-name (git-file-name name version))
20697 (sha256
20698 (base32
20699 "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx"))))
20700 (propagated-inputs
20701 `(("emacs-evil" ,emacs-evil)))
20702 (build-system emacs-build-system)
20703 (home-page "https://github.com/keith/evil-tmux-navigator")
20704 (synopsis
20705 "Navigate seamlessly between emacs windows and tmux panes")
20706 (description
20707 "This package lets you use C-h, C-j, C-k and C-l to navigate between
20708 Emacs windows and tmux panes.")
20709 (license license:expat)))
20710
20711 (define-public emacs-xclip
20712 (package
20713 (name "emacs-xclip")
20714 (version "1.10")
20715 (source
20716 (origin
20717 (method url-fetch)
20718 (uri (string-append "https://elpa.gnu.org/packages/"
20719 "xclip-" version ".el"))
20720 (sha256
20721 (base32 "0i3i9kwfg8qmhcmqhhnrb1kljgwkccv63s9q1mjwqfjldyfh8j8i"))))
20722 (build-system emacs-build-system)
20723 (home-page "http://elpa.gnu.org/packages/xclip.html")
20724 (synopsis "Copy and paste GUI clipboard from Emacs in text terminal")
20725 (description
20726 "This package allows Emacs to copy to and paste from the GUI clipboard
20727 when running in text terminal.
20728
20729 It can use external command-line tools for that, e.g., @command{xclip} or
20730 @command{xsel}, which you may need to install in order for the package to
20731 work.")
20732 (license license:gpl3+)))
20733
20734 (define-public emacs-xterm-color
20735 (package
20736 (name "emacs-xterm-color")
20737 (version "1.9")
20738 (source (origin
20739 (method git-fetch)
20740 (uri (git-reference
20741 (url "https://github.com/atomontage/xterm-color.git")
20742 (commit version)))
20743 (file-name (git-file-name name version))
20744 (sha256
20745 (base32
20746 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
20747 (build-system emacs-build-system)
20748 (home-page "https://github.com/atomontage/xterm-color")
20749 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
20750 (description "@code{xterm-color.el} is an ANSI control sequence to
20751 text-property translator.")
20752 (license license:bsd-2)))
20753
20754 (define-public emacs-org-noter
20755 (package
20756 (name "emacs-org-noter")
20757 (version "1.4.1")
20758 (source
20759 (origin
20760 (method git-fetch)
20761 (uri (git-reference
20762 (url "https://github.com/weirdNox/org-noter.git")
20763 (commit version)))
20764 (file-name (git-file-name name version))
20765 (sha256
20766 (base32
20767 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
20768 (build-system emacs-build-system)
20769 (propagated-inputs `(("emacs-org" ,emacs-org)))
20770 (home-page "https://github.com/weirdNox/org-noter")
20771 (synopsis "Synchronized, Org-mode, document annotator")
20772 (description
20773 "This package lets you create notes that are kept in sync when you
20774 scroll through the document, but that are external to it---the notes
20775 themselves live in an Org-mode file. As such, this leverages the power of
20776 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
20777 acting like notes that are made @emph{in} the document.")
20778 (license license:gpl3+)))
20779
20780 (define-public emacs-org-redmine
20781 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
20782 (package
20783 (name "emacs-org-redmine")
20784 (version (git-version "0.1" "1" commit))
20785 (source (origin
20786 (method git-fetch)
20787 (uri (git-reference
20788 (url "https://github.com/gongo/org-redmine.git")
20789 (commit commit)))
20790 (file-name (git-file-name name version))
20791 (sha256
20792 (base32
20793 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
20794 (build-system emacs-build-system)
20795 (home-page "https://github.com/gongo/org-redmine/")
20796 (synopsis "Redmine tools using Emacs")
20797 (description "This program provides an Emacs client for Redmine.")
20798 (license license:gpl3+))))
20799
20800 (define-public emacs-multi-term
20801 ;; No upstream release. Extract version from main file.
20802 (let ((commit "017c77c550115936860e2ea71b88e585371475d5")
20803 (revision "0"))
20804 (package
20805 (name "emacs-multi-term")
20806 (version (git-version "1.5" revision commit))
20807 (source
20808 (origin
20809 (method git-fetch)
20810 (uri (git-reference
20811 (url "https://github.com/manateelazycat/multi-term.git")
20812 (commit commit)))
20813 (file-name (git-file-name name version))
20814 (sha256
20815 (base32 "043dqd8i8h6hbcg11rzprxin2yq5lb902zlrb7mxah44vyp8wrdi"))))
20816 (build-system emacs-build-system)
20817 (inputs
20818 `(("zsh" ,zsh)))
20819 (home-page "https://github.com/manateelazycat/multi-term")
20820 (synopsis "Manage multiple terminal buffers in Emacs")
20821 (description
20822 "This package enhances @code{term.el} with the following features:
20823
20824 @enumerate
20825 @item Functions to switch between multiple terminal buffers
20826 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
20827 the underlying terminal
20828 @item Kills the unused buffer left after exiting the terminal
20829 @item Kills the running sub-processes along with the terminal when killing the
20830 it forcibly
20831 @item Dedicated window for debugging program.
20832 @end enumerate")
20833 (license license:gpl3+))))
20834
20835 (define-public emacs-elpher
20836 (package
20837 (name "emacs-elpher")
20838 (version "2.7.9")
20839 (source
20840 (origin
20841 (method git-fetch)
20842 (uri (git-reference
20843 (url "git://thelambdalab.xyz/elpher.git")
20844 (commit (string-append "v" version))))
20845 (file-name (git-file-name name version))
20846 (sha256
20847 (base32
20848 "1vikzia87z5x3wx2qjihv0r2f29b7s9xkm6i1j0y646dwnzn6wzr"))))
20849 (build-system emacs-build-system)
20850 (native-inputs
20851 `(("texinfo" ,texinfo)))
20852 (arguments
20853 `(#:phases
20854 (modify-phases %standard-phases
20855 (add-before 'install 'build-doc
20856 (lambda _
20857 (invoke "makeinfo" "elpher.texi"))))))
20858 (home-page "gopher://thelambdalab.xyz/1/projects/elpher/")
20859 (synopsis "Gopher client for Emacs")
20860 (description "Elpher is a full-featured gopher client for Emacs. Its
20861 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
20862 compatibility with evil-mode, clickable web and gopher links in plain text,
20863 caching of visited sites, pleasant and configurable visualization of Gopher
20864 directories, direct visualisation of image files, jumping directly to links by
20865 name (with autocompletion), a simple bookmark management system and
20866 connections using TLS encryption.")
20867 (license license:gpl3+)))
20868
20869 (define-public emacs-zerodark-theme
20870 (package
20871 (name "emacs-zerodark-theme")
20872 (version "4.6")
20873 (source
20874 (origin
20875 (method git-fetch)
20876 (uri (git-reference
20877 (url "https://github.com/NicolasPetton/zerodark-theme")
20878 (commit version)))
20879 (file-name (git-file-name name version))
20880 (sha256
20881 (base32
20882 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
20883 (build-system emacs-build-system)
20884 (propagated-inputs
20885 `(("emacs-flycheck" ,emacs-flycheck)
20886 ("emacs-all-the-icons" ,emacs-all-the-icons)))
20887 (home-page
20888 "https://gitlab.petton.fr/nico/zerodark-theme")
20889 (synopsis
20890 "Dark, medium contrast theme for Emacs")
20891 (description
20892 "Zerodark is a dark theme inspired from One Dark and Niflheim.
20893 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
20894 (license license:gpl3+)))
20895
20896 (define-public emacs-gnus-alias
20897 (package
20898 (name "emacs-gnus-alias")
20899 (version "20150316")
20900 (source (origin
20901 (method git-fetch)
20902 (uri (git-reference
20903 (url "https://github.com/hexmode/gnus-alias.git")
20904 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
20905 (file-name (git-file-name name version))
20906 (sha256
20907 (base32
20908 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
20909 (build-system emacs-build-system)
20910 (home-page "https://melpa.org/#/gnus-alias")
20911 (synopsis "Alternative to @code{gnus-posting-styles}")
20912 (description "This Emacs add-on provides a simple mechanism to switch
20913 Identities when using a @code{message-mode} or a @code{message-mode} derived
20914 mode. Identities can include @code{From} and @code{Organisation} headers,
20915 extra headers, body and signature. Other features include:
20916
20917 @itemize
20918 @item Switch Identities in a message buffer.
20919 @item Access original message to help determine Identity of the followup/reply
20920 message.
20921 @item Act on a forwarded message as if it were a message being replied to.
20922 @item Start a new message with a given Identity pre-selected.
20923 @end itemize")
20924 (license license:gpl2+)))
20925
20926 (define-public emacs-ox-epub
20927 (package
20928 (name "emacs-ox-epub")
20929 (version "0.3")
20930 (source (origin
20931 (method git-fetch)
20932 (uri (git-reference
20933 (url "https://github.com/ofosos/ox-epub.git")
20934 (commit (string-append "v" version))))
20935 (file-name (git-file-name name version))
20936 (sha256
20937 (base32
20938 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
20939 (build-system emacs-build-system)
20940 (home-page "https://github.com/ofosos/ox-epub")
20941 (synopsis "Export org mode projects to EPUB")
20942 (description "@code{ox-epub} extends the (X)HTML exporter to generate
20943 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
20944 which should give broad compatibility. It should also be relatiely easy to
20945 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
20946 zip utility (default is @code{zip}).")
20947 (license license:gpl3+)))
20948
20949 (define-public emacs-ox-hugo
20950 (package
20951 (name "emacs-ox-hugo")
20952 (version "0.8")
20953 (source
20954 (origin
20955 (method git-fetch)
20956 (uri (git-reference
20957 (url "https://github.com/kaushalmodi/ox-hugo.git")
20958 (commit (string-append "v" version))))
20959 (file-name (git-file-name name version))
20960 (sha256
20961 (base32
20962 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
20963 (build-system emacs-build-system)
20964 (home-page "https://ox-hugo.scripter.co")
20965 (synopsis "Hugo markdown back-end for Org export engine")
20966 (description
20967 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
20968 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
20969 format.")
20970 (license license:gpl3+)))
20971
20972 (define-public emacs-ox-pandoc
20973 (package
20974 (name "emacs-ox-pandoc")
20975 (version "20180510")
20976 (source (origin
20977 (method git-fetch)
20978 (uri (git-reference
20979 (url "https://github.com/kawabata/ox-pandoc.git")
20980 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
20981 (file-name (git-file-name name version))
20982 (sha256
20983 (base32
20984 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
20985 (build-system emacs-build-system)
20986 (inputs
20987 `(("pandoc" ,ghc-pandoc)))
20988 (propagated-inputs
20989 `(("emacs-dash" ,emacs-dash)
20990 ("emacs-ht" ,emacs-ht)))
20991 (home-page "https://github.com/kawabata/ox-pandoc")
20992 (synopsis "Org exporter for Pandoc")
20993 (description "@code{ox-pandoc} is an exporter for converting Org-mode
20994 files to numerous other formats via Pandoc.")
20995 (license license:gpl3+)))
20996
20997 (define-public emacs-wc-mode
20998 (package
20999 (name "emacs-wc-mode")
21000 (version "1.3")
21001 (source (origin
21002 (method git-fetch)
21003 (uri (git-reference
21004 (url "https://github.com/bnbeckwith/wc-mode.git")
21005 (commit (string-append "v" version))))
21006 (file-name (git-file-name name version))
21007 (sha256
21008 (base32
21009 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
21010 (build-system emacs-build-system)
21011 (home-page "https://github.com/bnbeckwith/wc-mode")
21012 (synopsis "Running word count with goals (minor mode)")
21013 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
21014 for Emacs buffers as well as a modeline addition with live word, line and
21015 character counts. Additionally, a user can set specific goals for adding or
21016 deleting words. These goals were partly inspired by 750words.com where the
21017 goal of the site is to encourage writing by setting a goal of 750 words at a
21018 time.")
21019 (license license:gpl3+)))
21020
21021 (define-public emacs-mastodon
21022 (package
21023 (name "emacs-mastodon")
21024 (version "0.9.0")
21025 (source (origin
21026 (method git-fetch)
21027 (uri (git-reference
21028 (url "https://github.com/jdenen/mastodon.el.git")
21029 (commit version)))
21030 (file-name (git-file-name name version))
21031 (sha256
21032 (base32
21033 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
21034 (build-system emacs-build-system)
21035 (arguments
21036 `(#:phases
21037 (modify-phases %standard-phases
21038 ;; Move the source files to the top level, which is included in
21039 ;; the EMACSLOADPATH.
21040 (add-after 'unpack 'move-source-files
21041 (lambda _
21042 (let ((el-files (find-files "./lisp" ".*\\.el$")))
21043 (for-each (lambda (f)
21044 (rename-file f (basename f)))
21045 el-files))
21046 #t)))))
21047 (home-page "https://github.com/jdenen/mastodon.el")
21048 (synopsis "Emacs client for Mastodon")
21049 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
21050 federated microblogging social network.")
21051 (license license:gpl3+)))
21052
21053 ;; The last release tarball is for version 0.6. We pick a commit close to
21054 ;; version 0.6.10, which doesn't have a release tarball.
21055 (define-public emacs-ebdb
21056 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
21057 (revision "0"))
21058 (package
21059 (name "emacs-ebdb")
21060 (version (git-version "0.6.10" revision commit))
21061 (source (origin
21062 (method git-fetch)
21063 (uri (git-reference
21064 (url "https://github.com/girzel/ebdb.git")
21065 (commit commit)))
21066 (file-name (git-file-name name version))
21067 (sha256
21068 (base32
21069 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
21070 (build-system emacs-build-system)
21071 (home-page "https://github.com/girzel/ebdb")
21072 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
21073 (description "EBDB is a contact management/addressbook package for
21074 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
21075 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
21076 (license license:gpl3+))))
21077
21078 (define-public emacs-refactor
21079 (package
21080 (name "emacs-refactor")
21081 (version "0.4")
21082 (source (origin
21083 (method git-fetch)
21084 (uri (git-reference
21085 (url "https://github.com/Wilfred/emacs-refactor.git")
21086 (commit version)))
21087 (file-name (git-file-name name version))
21088 (sha256
21089 (base32
21090 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
21091 (build-system emacs-build-system)
21092 (propagated-inputs
21093 `(("emacs-dash" ,emacs-dash)
21094 ("emacs-s" ,emacs-s)
21095 ("emacs-popup" ,emacs-popup)
21096 ("emacs-list-utils" ,emacs-list-utils)
21097 ("emacs-iedit" ,emacs-iedit)))
21098 (home-page "https://github.com/Wilfred/emacs-refactor/")
21099 (synopsis "Language-specific refactoring in Emacs")
21100 (description "Emacs Refactor (EMR) is a framework for providing
21101 language-specific refactoring in Emacs. It includes refactoring commands for
21102 a variety of languages, including elisp itself.")
21103 (license license:gpl3+)))
21104
21105 (define-public emacs-flyspell-correct
21106 (package
21107 (name "emacs-flyspell-correct")
21108 (version "0.5")
21109 (source
21110 (origin
21111 (method git-fetch)
21112 (uri (git-reference
21113 (url "https://github.com/d12frosted/flyspell-correct.git")
21114 (commit (string-append "v" version))))
21115 (file-name (git-file-name name version))
21116 (sha256
21117 (base32
21118 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
21119 (build-system emacs-build-system)
21120 (propagated-inputs
21121 `(("emacs-helm" ,emacs-helm)
21122 ("emacs-ivy" ,emacs-ivy)
21123 ("emacs-popup" ,emacs-popup)))
21124 (home-page
21125 "https://github.com/d12frosted/flyspell-correct")
21126 (synopsis
21127 "Correcting words with flyspell via custom interfaces")
21128 (description
21129 "This package provides functionality for correcting words via custom
21130 interfaces. Several interfaces are supported beside the classic ido: popup,
21131 helm and ivy.")
21132 (license license:gpl3+)))
21133
21134 (define-public emacs-org-emms
21135 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
21136 (revision "1"))
21137 (package
21138 (name "emacs-org-emms")
21139 (version
21140 (git-version "0.1" revision commit))
21141 (source
21142 (origin
21143 (method git-fetch)
21144 (uri (git-reference
21145 (url "https://gitlab.com/jagrg/org-emms.git")
21146 (commit commit)))
21147 (file-name (git-file-name name commit))
21148 (sha256
21149 (base32
21150 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
21151 (build-system emacs-build-system)
21152 (propagated-inputs
21153 `(("emms" ,emacs-emms)
21154 ("emacs-org" ,emacs-org)))
21155 (home-page "https://gitlab.com/jagrg/org-emms")
21156 (synopsis "Play multimedia files from org-mode")
21157 (description
21158 "This package provides a new org link type for playing back multimedia
21159 files from org-mode using EMMS, The Emacs Multimedia System. If the link
21160 contains a track position, playback will start at the specified position.")
21161 (license license:gpl3+))))
21162
21163 (define-public emacs-org-jira
21164 (package
21165 (name "emacs-org-jira")
21166 (version "4.3.1")
21167 (source
21168 (origin
21169 (method git-fetch)
21170 (uri (git-reference
21171 (url "https://github.com/ahungry/org-jira.git")
21172 (commit version)))
21173 (file-name (git-file-name name version))
21174 (sha256
21175 (base32
21176 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
21177 (build-system emacs-build-system)
21178 (propagated-inputs
21179 `(("emacs-request" ,emacs-request)
21180 ("emacs-s" ,emacs-s)
21181 ("emacs-dash" ,emacs-dash)
21182 ("emacs-org" ,emacs-org)))
21183 (home-page "https://github.com/ahungry/org-jira")
21184 (synopsis "Syncing between Jira and Org-mode")
21185 (description
21186 "This package provides an extension to org-mode for syncing issues with
21187 JIRA issue servers.")
21188 (license license:gpl3+)))
21189
21190 (define-public emacs-systemd-mode
21191 (package
21192 (name "emacs-systemd-mode")
21193 (version "1.6")
21194 (source (origin
21195 (method git-fetch)
21196 (uri (git-reference
21197 (url "https://github.com/holomorph/systemd-mode.git")
21198 (commit (string-append "v" version))))
21199 (file-name (git-file-name name version))
21200 (sha256
21201 (base32
21202 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
21203 (build-system emacs-build-system)
21204 (arguments '(#:include '("\\.el$" "\\.txt$")))
21205 (home-page "https://github.com/holomorph/systemd-mode")
21206 (synopsis
21207 "Major mode for editing systemd units")
21208 (description
21209 "Major mode for editing systemd units in GNU Emacs.")
21210 (license license:gpl3+)))
21211
21212 (define-public emacs-ssh-config-mode
21213 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
21214 (revision "1"))
21215 (package
21216 (name "emacs-ssh-config-mode")
21217 (version (git-version "8.0" revision commit))
21218 (source
21219 (origin
21220 (method git-fetch)
21221 (uri
21222 (git-reference
21223 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
21224 (commit commit)))
21225 (file-name (git-file-name name commit))
21226 (sha256
21227 (base32
21228 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
21229 (build-system emacs-build-system)
21230 (arguments '(#:include '("\\.el$" "\\.txt$")))
21231 (home-page
21232 "https://github.com/jhgorrell/ssh-config-mode-el")
21233 (synopsis
21234 "Mode for fontification of ~/.ssh/config")
21235 (description
21236 "This package fontifies the ssh config keywords and creates
21237 keybindings for skipping from host section to host section.")
21238 (license license:gpl3+))))
21239
21240 (define-public emacs-ssh-agency
21241 (package
21242 (name "emacs-ssh-agency")
21243 (version "0.4")
21244 (source (origin
21245 (method git-fetch)
21246 (uri (git-reference
21247 (url "https://github.com/magit/ssh-agency.git")
21248 (commit version)))
21249 (file-name (git-file-name name version))
21250 (sha256
21251 (base32
21252 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
21253 (build-system emacs-build-system)
21254 (propagated-inputs
21255 `(("dash" ,emacs-dash)))
21256 (home-page "https://github.com/magit/ssh-agency")
21257 (synopsis "Manage @code{ssh-agent} from Emacs")
21258 (description
21259 "This package provides functions to startup @code{ssh-agent}, set the
21260 needed environment variables in Emacs, and prompt for passphrases from within
21261 Emacs so that pushes and pulls from @code{magit} will not require entering any
21262 passphrase.
21263
21264 It can also be useful on Unix-like platforms to delay having to enter your
21265 passphrase until the first time you push to a remote.")
21266 (license license:gpl3+)))
21267
21268 (define-public emacs-tao-theme
21269 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
21270 (revision "0"))
21271 (package
21272 (name "emacs-tao-theme")
21273 (version (git-version "0" revision commit))
21274 (source
21275 (origin
21276 (method git-fetch)
21277 (uri (git-reference
21278 (url "https://github.com/11111000000/tao-theme-emacs.git")
21279 (commit commit)))
21280 (file-name (git-file-name name version))
21281 (sha256
21282 (base32
21283 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
21284 (build-system emacs-build-system)
21285 (home-page "https://github.com/11111000000/tao-theme-emacs")
21286 (synopsis "Parameterized uncolored color themes for Emacs")
21287 (description
21288 "This package provides two parameterized uncolored color themes for
21289 Emacs: @code{tao-yin} and @code{tao-yang}. The default
21290 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
21291
21292 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
21293 @code{tao-theme-scale-filter-fn}, for edge filter; and
21294 @code{tao-theme-use-height}.")
21295 (license license:gpl3+))))
21296
21297 (define-public emacs-almost-mono-themes
21298 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
21299 (revision "0"))
21300 (package
21301 (name "emacs-almost-mono-themes")
21302 (version (git-version "0" revision commit))
21303 (source
21304 (origin
21305 (method git-fetch)
21306 (uri (git-reference
21307 (url "https://github.com/cryon/almost-mono-themes.git")
21308 (commit commit)))
21309 (file-name (git-file-name name version))
21310 (sha256
21311 (base32
21312 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
21313 (build-system emacs-build-system)
21314 (home-page "https://github.com/cryon/almost-mono-themes")
21315 (synopsis "Almost monochromatic themes for emacs in a few variants")
21316 (description
21317 "This package provides a collection of almost monochrome Emacs themes:
21318 @code{almost-mono-black} and @code{almost-mono-white}.")
21319 (license license:gpl3+))))
21320
21321 (define-public emacs-quasi-monochrome
21322 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
21323 (revision "0"))
21324 (package
21325 (name "emacs-quasi-monochrome")
21326 (version (git-version "1.2" revision commit))
21327 (source
21328 (origin
21329 (method git-fetch)
21330 (uri (git-reference
21331 (url "https://github.com/lbolla/emacs-quasi-monochrome.git")
21332 (commit commit)))
21333 (file-name (git-file-name name version))
21334 (sha256
21335 (base32
21336 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
21337 (build-system emacs-build-system)
21338 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
21339 (synopsis "Dark color theme for Emacs")
21340 (description
21341 "This package provides a dark color theme with a black background, high
21342 contrast and few colors.")
21343 (license license:gpl3+))))
21344
21345 (define-public emacs-doom-themes
21346 (let ((commit "54039c5171e3f8c9cef1f82122549b66cd8c8f7b")
21347 (revision "4")
21348 (version "2.1.6"))
21349 (package
21350 (name "emacs-doom-themes")
21351 (version (git-version version revision commit))
21352 (source (origin
21353 (method git-fetch)
21354 (uri (git-reference
21355 (url "https://github.com/hlissner/emacs-doom-themes.git")
21356 (commit commit)))
21357 (file-name (git-file-name name version))
21358 (sha256
21359 (base32 "1iwdjq4q2gkhi6jwas3ywgmdz5dg14sfb3fzhqd7wih6j3i2l3cr"))))
21360 (build-system emacs-build-system)
21361 (native-inputs
21362 `(("emacs-ert-runner" ,emacs-ert-runner)))
21363 (arguments
21364 `(#:tests? #t
21365 #:test-command '("ert-runner")
21366 #:modules ((guix build emacs-build-system)
21367 (guix build utils)
21368 (guix build emacs-utils)
21369 (srfi srfi-1))
21370 #:phases
21371 (modify-phases %standard-phases
21372 (add-after 'unpack 'move-themes
21373 (lambda _
21374 ;; Move the source files to the top level, which is in the
21375 ;; EMACSLOADPATH.
21376 (for-each (lambda (f)
21377 (rename-file f (basename f)))
21378 (find-files "./themes" ".*\\.el$"))
21379 #t))
21380 ;; There is a byte-code overflow issue in the latest checkout
21381 ;; which affects byte-compilation for several (read `most') theme
21382 ;; files. In order to cope with this issue, we disable
21383 ;; byte-compilation until this issue is resolved.
21384 ;; <https://github.com/hlissner/emacs-doom-themes/issues/314>
21385 ;;
21386 ;; NOTE: Byte-comp has been disabled in/after commit 9cd6872.
21387 ;; However our method of selective disabling is preferential to
21388 ;; just widely disabling byte-compilation.
21389 (add-after 'move-themes 'disable-breaking-compilation
21390 (lambda _
21391 (for-each (lambda (file)
21392 (chmod file #o600) ; needed to write changes.
21393 (emacs-batch-disable-compilation file))
21394 (cons "doom-themes-ext-neotree.el"
21395 ;; NOTE: When updating this package, determine
21396 ;; whether changed theme files can byte-compile.
21397 ;; If they can successfully byte-compile, add them
21398 ;; to this list of exceptions.
21399 (lset-difference string-contains
21400 (find-files "." ".*-theme.el")
21401 '("material"
21402 "snazzy"
21403 "tomorrow-day"))))
21404 #t)))))
21405 (synopsis "Wide collection of color themes for Emacs")
21406 (description "Emacs-doom-themes contains numerous popular color themes for
21407 Emacs that integrate with major modes like Org-mode.")
21408 (home-page "https://github.com/hlissner/emacs-doom-themes")
21409 (license license:expat))))
21410
21411 (define-public emacs-modus-operandi-theme
21412 (package
21413 (name "emacs-modus-operandi-theme")
21414 (version "0.9.0")
21415 (source
21416 (origin
21417 (method url-fetch)
21418 (uri (string-append "https://elpa.gnu.org/packages/"
21419 "modus-operandi-theme-" version ".el"))
21420 (sha256
21421 (base32 "0wzwhzpw5g719xxz58v5bjqb8gdz1xzqwxslgm9cng4y3hwy3igh"))))
21422 (build-system emacs-build-system)
21423 (home-page "https://gitlab.com/protesilaos/modus-themes")
21424 (synopsis "Accessible light theme (WCAG AAA)")
21425 (description
21426 "Modus operandi is the light version of the Modus accessible themes for
21427 GNU Emacs. The contrast ratio between foreground and background values should
21428 always be greater than 7:1, which conforms with the WCAG AAA accessibility
21429 standard. This is the highest standard of its kind.")
21430 (license license:gpl3+)))
21431
21432 (define-public emacs-modus-vivendi-theme
21433 (package
21434 (name "emacs-modus-vivendi-theme")
21435 (version "0.9.0")
21436 (source
21437 (origin
21438 (method url-fetch)
21439 (uri (string-append "https://elpa.gnu.org/packages/"
21440 "modus-vivendi-theme-" version ".el"))
21441 (sha256
21442 (base32 "0f6cd93q9vrxfmgg6ff85ixcmq6acvrirb3kwgkf7qv16w3ipcir"))))
21443 (build-system emacs-build-system)
21444 (home-page "https://gitlab.com/protesilaos/modus-themes")
21445 (synopsis "Accessible dark theme (WCAG AAA)")
21446 (description
21447 "Modus vivendi is the dark version of the Modus accessible themes for GNU
21448 Emacs. The contrast ratio between foreground and background values should
21449 always be greater than 7:1, which conforms with the WCAG AAA accessibility
21450 standard. This is the highest standard of its kind.")
21451 (license license:gpl3+)))
21452
21453 (define-public emacs-modus-themes
21454 (deprecated-package "emacs-modus-themes" emacs-modus-operandi-theme))
21455
21456 (define-public emacs-punpun-theme
21457 (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
21458 (revision "0"))
21459 (package
21460 (name "emacs-punpun-theme")
21461 (version (git-version "0" revision commit))
21462 (source
21463 (origin
21464 (method git-fetch)
21465 (uri (git-reference
21466 (url "https://github.com/wasamasa/punpun-theme.git")
21467 (commit commit)))
21468 (file-name (git-file-name name version))
21469 (sha256
21470 (base32
21471 "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"))))
21472 (build-system emacs-build-system)
21473 (home-page "https://github.com/wasamasa/punpun-theme")
21474 (synopsis "Bleak Emacs theme")
21475 (description
21476 "A bleak theme. Uses shades of gray and the occasional splash of
21477 color. Designed for 256-color terminals. Comes in light and dark!")
21478 (license license:gpl3+))))
21479
21480 (define-public emacs-spacemacs-theme
21481 (let ((commit "f79c40fb241e204539fde97200abae91e828e585")
21482 (revision "1"))
21483 (package
21484 (name "emacs-spacemacs-theme")
21485 (version (git-version "0" revision commit)) ;no release yet
21486 (source
21487 (origin
21488 (method git-fetch)
21489 (uri (git-reference
21490 (url "https://github.com/nashamri/spacemacs-theme.git")
21491 (commit commit)))
21492 (file-name (git-file-name name version))
21493 (sha256
21494 (base32 "1l2kkiyrskkpx8f901v0wrzaah1wjg15zdyv88spj3mh3hwd3b6n"))))
21495 (build-system emacs-build-system)
21496 (home-page "https://github.com/nashamri/spacemacs-theme")
21497 (synopsis
21498 "Light and dark theme for spacemacs that supports GUI and terminal")
21499 (description
21500 "Spacemacs theme is an Emacs color theme that started as
21501 a theme for Spacemacs. The theme comes with dark and light variants
21502 and it should work well with 256 color terminals.")
21503 (license license:gpl3+))))
21504
21505 (define-public emacs-elixir-mode
21506 (package
21507 (name "emacs-elixir-mode")
21508 (version "2.3.1")
21509 (source
21510 (origin
21511 (method git-fetch)
21512 (uri (git-reference
21513 (url "https://github.com/elixir-editors/emacs-elixir.git")
21514 (commit (string-append "v" version))))
21515 (file-name (git-file-name name version))
21516 (sha256
21517 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
21518 (build-system emacs-build-system)
21519 (propagated-inputs
21520 `(("emacs-pkg-info" ,emacs-pkg-info)))
21521 (home-page
21522 "https://github.com/elixir-editors/emacs-elixir")
21523 (synopsis "Major mode for editing Elixir files")
21524 (description
21525 "Elixir-Mode provides font-locking, indentation and navigation support
21526 for the Elixir programming language.")
21527 (license license:gpl3+)))
21528
21529 (define-public emacs-dimmer
21530 (package
21531 (name "emacs-dimmer")
21532 (version "0.3.0")
21533 (source
21534 (origin
21535 (method git-fetch)
21536 (uri (git-reference
21537 (url "https://github.com/gonewest818/dimmer.el.git")
21538 (commit version)))
21539 (file-name (git-file-name name version))
21540 (sha256
21541 (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
21542 (build-system emacs-build-system)
21543 (home-page "https://github.com/gonewest818/dimmer.el")
21544 (synopsis "Visually highlights the selected buffer in Emacs")
21545 (description "Dimmer provides a minor mode that indicates which buffer is
21546 currently active by dimming the faces in the other buffers. It does this
21547 nondestructively, and computes the dimmed faces dynamically such that your
21548 overall color scheme is shown in a muted form without requiring you to define
21549 what is a \"dim\" version of every face.")
21550 (license license:gpl3+)))
21551
21552 (define-public emacs-minibuffer-line
21553 (package
21554 (name "emacs-minibuffer-line")
21555 (version "0.1")
21556 (source
21557 (origin
21558 (method url-fetch)
21559 (uri (string-append
21560 "https://elpa.gnu.org/packages/minibuffer-line-"
21561 version
21562 ".el"))
21563 (sha256
21564 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
21565 (build-system emacs-build-system)
21566 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
21567 (synopsis "Display status info in the minibuffer window")
21568 (description
21569 "This package lets you display various status information in the
21570 minibuffer window instead of the mode-line. Of course, this is only displayed
21571 when the minibuffer window is not already used for other things (e.g. a
21572 minibuffer or an each area message).
21573
21574 The contents and aspect is controlled by the @code{minibuffer-line-format}
21575 variable and the @code{minibuffer-line} face.")
21576 (license license:gpl3+)))
21577
21578 (define-public emacs-eshell-prompt-extras
21579 (package
21580 (name "emacs-eshell-prompt-extras")
21581 (version "1.0")
21582 (home-page "https://github.com/zwild/eshell-prompt-extras")
21583 (source
21584 (origin
21585 (method git-fetch)
21586 (uri (git-reference
21587 (url home-page)
21588 (commit version)))
21589 (file-name (git-file-name name version))
21590 (sha256
21591 (base32
21592 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
21593 (build-system emacs-build-system)
21594 (synopsis "Display extra information and color for your Eshell prompt")
21595 (description "This library displays various customizable elements for
21596 @code{eshell} prompts: remote user, remote host, python virtual environment
21597 info, git branch, git dirty info and git unpushed number. Multiple themes are
21598 available.")
21599 (license license:gpl3+)))
21600
21601 (define-public emacs-eshell-did-you-mean
21602 (package
21603 (name "emacs-eshell-did-you-mean")
21604 (version "0.1")
21605 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
21606 (source
21607 (origin
21608 (method git-fetch)
21609 (uri (git-reference
21610 (url home-page)
21611 (commit (string-append "v" version))))
21612 (file-name (git-file-name name version))
21613 (sha256
21614 (base32
21615 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
21616 (build-system emacs-build-system)
21617 (synopsis "Display suggestions on 'command not found' in Eshell")
21618 (description "This library adds a list of 'Did you mean...' suggestions
21619 when the command was not found in Eshell. The suggestions are found after the
21620 commands that bear resemblance to the input command.")
21621 (license license:gpl3+)))
21622
21623 (define-public emacs-unfill
21624 (package
21625 (name "emacs-unfill")
21626 (version "0.2")
21627 (home-page "https://github.com/purcell/unfill")
21628 (source
21629 (origin
21630 (method git-fetch)
21631 (uri (git-reference
21632 (url home-page)
21633 (commit version)))
21634 (file-name (git-file-name name version))
21635 (sha256
21636 (base32 "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc"))))
21637 (build-system emacs-build-system)
21638 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
21639 (description
21640 "The functions in this package provide the inverse of Emacs'
21641 @code{fill-paragraph} and @code{fill-region}.")
21642 (license license:gpl3+)))
21643
21644 (define-public emacs-windower
21645 (package
21646 (name "emacs-windower")
21647 (version "0.0.1")
21648 (home-page "https://gitlab.com/ambrevar/emacs-windower")
21649 (source
21650 (origin
21651 (method git-fetch)
21652 (uri (git-reference
21653 (url home-page)
21654 (commit version)))
21655 (file-name (git-file-name name version))
21656 (sha256
21657 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
21658 (build-system emacs-build-system)
21659 (synopsis "Helper functions for window manipulation in Emacs")
21660 (description
21661 "This package provides helper functions for window manipulation in Emacs,
21662 such as:
21663
21664 @itemize
21665 @item switch to last buffer,
21666 @item toggle single window display,
21667 @item toggle between horizontal and vertical splits,
21668 @item move borders more naturally,
21669 @item swap windows à-la @code{windmove}.
21670 @end itemize")
21671 (license license:gpl3+)))
21672
21673 (define-public emacs-flycheck-cpplint
21674 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
21675 (revision "1"))
21676 (package
21677 (name "emacs-flycheck-cpplint")
21678 (version (git-version "0.1" revision commit))
21679 (source
21680 (origin
21681 (method git-fetch)
21682 (uri (git-reference
21683 (url "https://github.com/flycheck/flycheck-google-cpplint")
21684 (commit commit)))
21685 (file-name (git-file-name name version))
21686 (sha256
21687 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
21688 (build-system emacs-build-system)
21689 (arguments
21690 `(#:phases
21691 (modify-phases %standard-phases
21692 (add-after 'unpack 'set-cpplint-path
21693 (lambda _
21694 (substitute* "flycheck-google-cpplint.el"
21695 (("\"cpplint.py\"")
21696 (string-append "\"" (which "cpplint") "\"")))
21697 #t)))))
21698 (inputs
21699 `(("cpplint" ,cpplint)))
21700 (propagated-inputs
21701 `(("flycheck-mode" ,emacs-flycheck)))
21702 (synopsis "Google C++ checker for Flycheck")
21703 (description "This package provides a interface for @code{cpplint} over
21704 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
21705 Google guidelines.")
21706 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
21707 (license license:gpl3+))))
21708
21709 (define-public emacs-helm-fish-completion
21710 (package
21711 (name "emacs-helm-fish-completion")
21712 (version "0.4")
21713 (home-page "https://github.com/emacs-helm/helm-fish-completion")
21714 (source
21715 (origin
21716 (method git-fetch)
21717 (uri (git-reference
21718 (url home-page)
21719 (commit version)))
21720 (file-name (git-file-name name version))
21721 (sha256
21722 (base32 "0mh10qq3r16hjrayrbns51gmjpjnmpzy4i05rwn14rf2icvhs6x8"))))
21723 (build-system emacs-build-system)
21724 (propagated-inputs
21725 `(("helm" ,emacs-helm)
21726 ("fish-completion" ,emacs-fish-completion)))
21727 (synopsis "Helm interface for Emacs fish-completion")
21728 (description "Helm Fish Completion is a Helm interface for Emacs
21729 fish-completion. It can be used in both Eshell and M-x shell.")
21730 (license license:gpl3+)))
21731
21732 (define-public emacs-telega
21733 ;; This package has versions newer than indicated on MELPA.
21734 ;; Get the current version from `telega-version` in telega.el.
21735 ;; or by running M-x telega-version.
21736 (let ((commit "ae09592498ce380e57fbb76725fd4c89ae248864")
21737 (revision "0")
21738 (version "0.6.0"))
21739 (package
21740 (name "emacs-telega")
21741 (version (git-version version revision commit))
21742 (source
21743 (origin
21744 (method git-fetch)
21745 (uri (git-reference
21746 (url "https://github.com/zevlg/telega.el.git")
21747 (commit commit)))
21748 (sha256
21749 (base32
21750 "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3"))
21751 (patches (search-patches "emacs-telega-test-env.patch"))
21752 (file-name (git-file-name name version))))
21753 (build-system gnu-build-system)
21754 (arguments
21755 `(#:modules ((guix build gnu-build-system)
21756 ((guix build emacs-build-system) #:prefix emacs:)
21757 (guix build utils)
21758 (guix build emacs-utils))
21759 #:imported-modules (,@%gnu-build-system-modules
21760 (guix build emacs-build-system)
21761 (guix build emacs-utils))
21762 #:test-target "test"
21763 #:make-flags (list "WITH_VOIP=t")
21764 #:phases
21765 (modify-phases %standard-phases
21766 (add-after 'unpack 'prefix-patch
21767 (lambda _
21768 (substitute* "server/Makefile"
21769 (("CC=cc")
21770 "CC=gcc")
21771 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
21772 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
21773 "/bin"))
21774 ;; Manually invoke `run_tests.py` after install phase.
21775 (("python3 run_tests.py")
21776 ""))
21777 #t))
21778 (add-after 'unpack 'telega-paths-patch
21779 (lambda* (#:key inputs #:allow-other-keys)
21780 ;; Hard-code paths to `ffplay` and `ffmpeg`.
21781 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
21782 "/bin/ffplay"))
21783 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
21784 "/bin/ffmpeg")))
21785 (substitute* "telega-ffplay.el"
21786 (("\\(executable-find \"ffplay\"\\)")
21787 (string-append
21788 "(and (file-executable-p \"" ffplay-bin "\")"
21789 "\"" ffplay-bin "\")"))
21790 (("\\(executable-find \"ffmpeg\"\\)")
21791 (string-append
21792 "(and (file-executable-p \"" ffmpeg-bin "\")"
21793 "\"" ffmpeg-bin "\")"))))
21794 ;; Modify telega-util to reflect unique dir name in
21795 ;; `telega-install-data' phase.
21796 (substitute* "telega-util.el"
21797 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
21798 "(concat \"telega-data/\" filename)
21799 (locate-dominating-file telega--lib-directory
21800 \"telega-data\")"))
21801 #t))
21802 ;; The server test suite has a hardcoded path.
21803 ;; Reset this behavior to use the proper path.
21804 (add-after 'unpack 'server-suite-patch
21805 (lambda _
21806 (substitute* "server/run_tests.py"
21807 (("~/.telega/telega-server")
21808 (string-append (assoc-ref %outputs "out")
21809 "/bin/telega-server")))
21810 #t))
21811 (add-after 'install 'run-server-suite
21812 (lambda _
21813 (invoke "python3" "server/run_tests.py")
21814 #t))
21815 (delete 'configure)
21816 ;; Build emacs-side using `emacs-build-system'
21817 (add-after 'compress-documentation 'emacs-add-source-to-load-path
21818 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
21819 (add-after 'emacs-add-source-to-load-path 'emacs-install
21820 (assoc-ref emacs:%standard-phases 'install))
21821 ;; This step installs subdir /etc, which contains images, sounds and
21822 ;; various other data, next to the site-lisp dir.
21823 (add-after 'emacs-install 'telega-install-data
21824 (lambda* (#:key outputs #:allow-other-keys)
21825 (copy-recursively
21826 "etc"
21827 (string-append (assoc-ref outputs "out")
21828 "/share/emacs/telega-data/"))
21829 #t))
21830 (add-after 'telega-install-data 'emacs-build
21831 (assoc-ref emacs:%standard-phases 'build))
21832 (add-after 'emacs-build 'emacs-make-autoloads
21833 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
21834 (inputs
21835 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
21836 (propagated-inputs
21837 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
21838 ("emacs-company" ,emacs-company)
21839 ("libwebp" ,libwebp))) ; sticker support.
21840 (native-inputs
21841 `(("tdlib" ,tdlib)
21842 ("libtgvoip" ,libtgvoip) ; VoIP support.
21843 ;; Use Emacs with wide ints on 32-bit architectures.
21844 ("emacs" ,(match (%current-system)
21845 ((or "i686-linux" "armhf-linux")
21846 emacs-wide-int)
21847 (_
21848 emacs)))
21849 ("python" ,python)))
21850 (synopsis "GNU Emacs client for the Telegram messenger")
21851 (description
21852 "Telega is a full-featured, unofficial GNU Emacs-based client for the
21853 Telegram messaging platform.")
21854 (home-page "https://github.com/zevlg/telega.el")
21855 (license license:gpl3+))))
21856
21857 (define-public emacs-doom-modeline
21858 (package
21859 (name "emacs-doom-modeline")
21860 (version "2.8.2")
21861 (source (origin
21862 (method git-fetch)
21863 (uri (git-reference
21864 (url "https://github.com/seagle0128/doom-modeline.git")
21865 (commit (string-append "v" version))))
21866 (sha256
21867 (base32
21868 "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"))
21869 (file-name (git-file-name name version))))
21870 (build-system emacs-build-system)
21871 (arguments
21872 `(#:test-command '("ert-runner")))
21873 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
21874 (propagated-inputs
21875 `(("emacs-all-the-icons" ,emacs-all-the-icons)
21876 ("emacs-shrink-path" ,emacs-shrink-path)))
21877 (synopsis "Fancy and fast mode-line inspired by minimalism design")
21878 (description "Doom modeline is a complete modeline for GNU Emacs inspired
21879 by the Doom theme collection. This modeline features support for mode-specific
21880 icon support, git integration, and several other utilities.")
21881 (home-page "https://github.com/seagle0128/doom-modeline/")
21882 (license license:gpl3+)))
21883
21884 (define-public emacs-shrink-path
21885 (package
21886 (name "emacs-shrink-path")
21887 (version "0.3.1")
21888 (source
21889 (origin
21890 (method git-fetch)
21891 (uri (git-reference
21892 (url "https://gitlab.com/bennya/shrink-path.el.git")
21893 (commit (string-append "v" version))))
21894 (sha256
21895 (base32
21896 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
21897 (file-name (git-file-name name version))))
21898 (build-system emacs-build-system)
21899 (propagated-inputs
21900 `(("emacs-s" ,emacs-s)
21901 ("emacs-dash" ,emacs-dash)
21902 ("emacs-f" ,emacs-f)))
21903 (home-page "https://gitlab.com/bennya/shrink-path.el")
21904 (synopsis "Fish-style path truncation in emacs-lisp")
21905 (description "This package provides utility functions that allow for
21906 Fish-style truncated directories in eshell and various modelines.")
21907 (license license:gpl3+)))
21908
21909 (define-public emacs-org-present
21910 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
21911 (package
21912 (name "emacs-org-present")
21913 (version "0.0.1")
21914 (source
21915 (origin
21916 (method git-fetch)
21917 (uri (git-reference
21918 (url "https://github.com/rlister/org-present.git")
21919 (commit commit)))
21920 (file-name (git-file-name name version))
21921 (sha256
21922 (base32
21923 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
21924 (build-system emacs-build-system)
21925 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
21926 (description "Org-present is an extremely minimalist presentation tool
21927 for Emacs org-mode. Simply layout your presentation with each slide under a
21928 top-level header, start the minor mode with @code{org-present}, and page through
21929 each slide with left/right keys.")
21930 (home-page "https://github.com/rlister/org-present")
21931 (license license:gpl2))))
21932
21933 (define-public emacs-fullframe
21934 (package
21935 (name "emacs-fullframe")
21936 (version "0.5.0")
21937 (source
21938 (origin
21939 (method git-fetch)
21940 (uri (git-reference
21941 (url "https://github.com/tomterl/fullframe.git")
21942 (commit version)))
21943 (sha256
21944 (base32
21945 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
21946 (file-name (git-file-name name version))))
21947 (build-system emacs-build-system)
21948 (home-page "https://github.com/tomterl/fullframe")
21949 (synopsis "Generalized automatic execution in a single frame")
21950 (description "This library provides helpers for single-window-per-frame
21951 execution of buffer-exposing commands.")
21952 (license license:gpl3+)))
21953
21954 (define-public emacs-eshell-toggle
21955 (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
21956 (revision "1"))
21957 (package
21958 (name "emacs-eshell-toggle")
21959 (version (git-version "0.10.0" revision commit))
21960 (source
21961 (origin
21962 (method git-fetch)
21963 (uri (git-reference
21964 (url "https://github.com/4DA/eshell-toggle.git")
21965 (commit commit)))
21966 (sha256
21967 (base32
21968 "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
21969 (file-name (git-file-name name version))))
21970 (build-system emacs-build-system)
21971 (propagated-inputs
21972 `(("emacs-dash" ,emacs-dash)))
21973 (home-page "https://github.com/4DA/eshell-toggle")
21974 (synopsis "Show and hide an @code{eshell} instance")
21975 (description "This package toggles an @code{eshell} instance for the
21976 current buffer.")
21977 (license license:gpl3+))))
21978
21979 (define-public emacs-repl-toggle
21980 (package
21981 (name "emacs-repl-toggle")
21982 (version "0.6.1")
21983 (source
21984 (origin
21985 (method git-fetch)
21986 (uri (git-reference
21987 (url "https://github.com/tomterl/repl-toggle.git")
21988 (commit version)))
21989 (sha256
21990 (base32
21991 "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
21992 (file-name (git-file-name name version))))
21993 (build-system emacs-build-system)
21994 (propagated-inputs
21995 `(("emacs-fullframe" ,emacs-fullframe)))
21996 (home-page "https://github.com/tomterl/repl-toggle")
21997 (synopsis "Switch to and from current major mode's REPL")
21998 (description "This package provides a function to switch to and from a
21999 REPL appropriate to the current major mode.")
22000 (license license:gpl3+)))
22001
22002 (define-public emacs-blackout
22003 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
22004 (revision "1"))
22005 (package
22006 (name "emacs-blackout")
22007 (version (git-version "1.0" revision commit))
22008 (source
22009 (origin
22010 (method git-fetch)
22011 (uri (git-reference
22012 (url "https://github.com/raxod502/blackout.git")
22013 (commit commit)))
22014 (sha256
22015 (base32
22016 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
22017 (file-name (git-file-name name version))))
22018 (build-system emacs-build-system)
22019 (home-page "https://github.com/raxod502/blackout")
22020 (synopsis "Clean up mode lighters")
22021 (description "This package provides a function for hiding and customizing
22022 display of major and minor modes in the mode line.")
22023 (license license:gpl3+))))
22024
22025 (define-public emacs-ivy-omni-org
22026 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
22027 (revision "1"))
22028 (package
22029 (name "emacs-ivy-omni-org")
22030 (version (git-version "0.2.1" revision commit))
22031 (source
22032 (origin
22033 (method git-fetch)
22034 (uri (git-reference
22035 (url "https://github.com/akirak/ivy-omni-org.git")
22036 (commit commit)))
22037 (file-name (git-file-name name version))
22038 (sha256
22039 (base32
22040 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
22041 (build-system emacs-build-system)
22042 (propagated-inputs
22043 `(("emacs-ivy" ,emacs-ivy)
22044 ("emacs-dash" ,emacs-dash)))
22045 (synopsis "Browse anything in Org mode")
22046 (description "This package allows Org items to be accessed via the Ivy
22047 interface.")
22048 (home-page "https://github.com/akirak/ivy-omni-org")
22049 (license license:gpl3+))))
22050
22051 (define-public emacs-ivy-posframe
22052 (let ((commit "ae9bafe94fe6b77b6fe45766ae6172646f6a5d50"))
22053 (package
22054 (name "emacs-ivy-posframe")
22055 (version (git-version "0.1.0" "1" commit))
22056 (source
22057 (origin
22058 (method git-fetch)
22059 (uri (git-reference
22060 (url "https://github.com/tumashu/ivy-posframe.git")
22061 (commit commit)))
22062 (file-name (git-file-name name version))
22063 (sha256
22064 (base32
22065 "1j6yns5d7lh2v1nfcznrirl7qicdli9csciqvfgj4gkh72a97pw1"))))
22066 (build-system emacs-build-system)
22067 (propagated-inputs
22068 `(("emacs-posframe" ,emacs-posframe)
22069 ("emacs-ivy" ,emacs-ivy)))
22070 (home-page "https://github.com/tumashu/ivy-posframe")
22071 (synopsis "Pop a posframe (a child frame) to show Ivy candidates")
22072 (description
22073 "This package provides an Emacs Ivy extension, which let Ivy use
22074 posframe to show its candidate menu.")
22075 (license license:gpl3+))))
22076
22077 (define-public emacs-shackle
22078 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
22079 (revision "1"))
22080 (package
22081 (name "emacs-shackle")
22082 (version (git-version "1.0.3" revision commit))
22083 (source
22084 (origin
22085 (method git-fetch)
22086 (uri (git-reference
22087 (url "https://github.com/wasamasa/shackle.git")
22088 (commit commit)))
22089 (file-name (git-file-name name version))
22090 (sha256
22091 (base32
22092 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
22093 (build-system emacs-build-system)
22094 (synopsis "Enforce rules for popups")
22095 (description "This package provides a global minor mode in which users
22096 can specify how popup-displaying functions occupy the screen.")
22097 (home-page "https://github.com/wasamasa/shackle")
22098 (license license:gpl3+))))
22099
22100 (define-public emacs-helm-lacarte
22101 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
22102 (revision "1"))
22103 (package
22104 (name "emacs-helm-lacarte")
22105 (version (git-version "0" revision commit))
22106 (source
22107 (origin
22108 (method git-fetch)
22109 (uri (git-reference
22110 (url "https://github.com/emacs-helm/helm-lacarte.git")
22111 (commit commit)))
22112 (file-name (git-file-name name version))
22113 (sha256
22114 (base32
22115 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
22116 (build-system emacs-build-system)
22117 (propagated-inputs
22118 `(("emacs-helm" ,emacs-helm)
22119 ("emacs-lacarte" ,emacs-lacarte)))
22120 (synopsis "Helm interface to @code{lacarte.el}")
22121 (description "This package provides a Helm interface to
22122 @code{lacarte.el}, a package that displays mode-specific commands as menu
22123 items.")
22124 (home-page "https://github.com/emacs-helm/helm-lacarte")
22125 (license license:gpl3+))))
22126
22127 (define-public emacs-esh-help
22128 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
22129 (revision "1"))
22130 (package
22131 (name "emacs-esh-help")
22132 (version (git-version "1.0.1" revision commit))
22133 (source
22134 (origin
22135 (method git-fetch)
22136 (uri (git-reference
22137 (url "https://github.com/tom-tan/esh-help.git")
22138 (commit commit)))
22139 (file-name (git-file-name name version))
22140 (sha256
22141 (base32
22142 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
22143 (build-system emacs-build-system)
22144 (propagated-inputs
22145 `(("emacs-dash" ,emacs-dash)))
22146 (synopsis "Help functions for Eshell")
22147 (description "This package provides a @code{run-help} function inspired
22148 by @code{zsh} as well as @code{eldoc} support.")
22149 (home-page "https://github.com/tom-tan/esh-help")
22150 (license license:gpl3+))))
22151
22152 (define-public emacs-isearch-dabbrev
22153 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
22154 (revision "1"))
22155 (package
22156 (name "emacs-isearch-dabbrev")
22157 (version (git-version "0.1" revision commit))
22158 (source
22159 (origin
22160 (method git-fetch)
22161 (uri (git-reference
22162 (url "https://github.com/Dewdrops/isearch-dabbrev.git")
22163 (commit commit)))
22164 (file-name (git-file-name name version))
22165 (sha256
22166 (base32
22167 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
22168 (build-system emacs-build-system)
22169 (synopsis "Use @code{dabbrev} within @code{isearch}")
22170 (description "This package allows @code{dabbrev-expand} to be used
22171 within @code{isearch-mode}.")
22172 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
22173 (license license:gpl3+))))
22174
22175 (define-public emacs-helm-linux-disks
22176 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
22177 (revision "1"))
22178 (package
22179 (name "emacs-helm-linux-disks")
22180 (version (git-version "0.1" revision commit))
22181 (source
22182 (origin
22183 (method git-fetch)
22184 (uri (git-reference
22185 (url "https://github.com/Akirak/helm-linux-disks.git")
22186 (commit commit)))
22187 (file-name (git-file-name name version))
22188 (sha256
22189 (base32
22190 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
22191 (build-system emacs-build-system)
22192 (propagated-inputs
22193 `(("emacs-helm" ,emacs-helm)))
22194 (synopsis "Mount/unmount volumes in Linux via Helm")
22195 (description "This package provides a Helm interface to run operations
22196 on removable volumes in Linux.")
22197 (home-page "https://github.com/Akirak/helm-linux-disks")
22198 (license license:gpl3+))))
22199
22200 (define-public emacs-psession
22201 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
22202 (revision "1"))
22203 (package
22204 (name "emacs-psession")
22205 (version (git-version "1.5" revision commit))
22206 (source
22207 (origin
22208 (method git-fetch)
22209 (uri (git-reference
22210 (url "https://github.com/thierryvolpiatto/psession.git")
22211 (commit commit)))
22212 (file-name (git-file-name name version))
22213 (sha256
22214 (base32
22215 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
22216 (build-system emacs-build-system)
22217 (propagated-inputs
22218 `(("emacs-async" ,emacs-async)))
22219 (synopsis "Persistent save of @code{elisp} objects.")
22220 (description "This package provides minor modes for saving Emacs session
22221 data, including buffers, window configuration, variables, and more.")
22222 (home-page "https://github.com/thierryvolpiatto/psession")
22223 (license license:gpl3+))))
22224
22225 (define-public emacs-parseedn
22226 (package
22227 (name "emacs-parseedn")
22228 (version "0.1.0")
22229 (source
22230 (origin
22231 (method git-fetch)
22232 (uri (git-reference
22233 (url "https://github.com/clojure-emacs/parseedn.git")
22234 (commit (string-append "v" version))))
22235 (file-name (git-file-name name version))
22236 (sha256
22237 (base32
22238 "11wi3hwcgmy54p6ivpijqm7v0hj6j75a19qk5z779bqfrp79b4pc"))))
22239 (build-system emacs-build-system)
22240 (propagated-inputs
22241 `(("emacs-a" ,emacs-a)
22242 ("emacs-parseclj" ,emacs-parseclj)))
22243 (home-page "https://cider.mx")
22244 (synopsis "EDN parser for Emacs Lisp")
22245 (description
22246 "An Emacs Lisp library for parsing EDN (Clojure) data.
22247 It uses parseclj's shift-reduce parser internally.")
22248 (license license:gpl3+)))
22249
22250 (define-public emacs-parseclj
22251 (package
22252 (name "emacs-parseclj")
22253 (version "0.1.0")
22254 (source
22255 (origin
22256 (method git-fetch)
22257 (uri (git-reference
22258 (url "https://github.com/clojure-emacs/parseclj.git")
22259 (commit (string-append "v" version))))
22260 (file-name (git-file-name name version))
22261 (sha256
22262 (base32
22263 "03bm5dm4hmkqimv4wqxjjh5814pxysmm7z54bv2rf7zwv1x7dggr"))))
22264 (build-system emacs-build-system)
22265 (propagated-inputs `(("emacs-a" ,emacs-a)))
22266 (home-page "https://cider.mx")
22267 (synopsis "Clojure parser for Emacs Lisp")
22268 (description
22269 "An Emacs Lisp library for parsing Clojure code and EDN data.
22270 It supports several input and output formats, all powered by the
22271 same shift-reduce parser function.")
22272 (license license:gpl3+)))
22273
22274 (define-public emacs-hide-mode-line
22275 (package
22276 (name "emacs-hide-mode-line")
22277 (version "1.0.2")
22278 (source (origin
22279 (method git-fetch)
22280 (uri (git-reference
22281 (url "https://github.com/hlissner/emacs-hide-mode-line.git")
22282 (commit (string-append "v" version))))
22283 (file-name (git-file-name name version))
22284 (sha256
22285 (base32
22286 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
22287 (build-system emacs-build-system)
22288 (synopsis "Emacs plugin that hides the mode-line")
22289 (description "A minor mode that hides the mode-line in your current
22290 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
22291 or simply disable the mode-line in buffers where it is not very useful.")
22292 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
22293 (license license:expat)))
22294
22295 (define-public emacs-helm-cider
22296 ;; No new release since March 2018.
22297 (let ((commit "9363cc537f06233345aa3af5cd46aa5681ad607b"))
22298 (package
22299 (name "emacs-helm-cider")
22300 (version (git-version "0.4.0" "1" commit))
22301 (home-page "https://github.com/clojure-emacs/helm-cider")
22302 (source (origin
22303 (method git-fetch)
22304 (uri (git-reference
22305 (url home-page)
22306 (commit commit)))
22307 (file-name (git-file-name name version))
22308 (sha256
22309 (base32
22310 "0vfn4smqba1vsshz48ggkj8gs94la0sxb1sq4shrb41qj2x3dci7"))))
22311 (build-system emacs-build-system)
22312 (propagated-inputs
22313 `(("emacs-helm" ,emacs-helm)
22314 ("emacs-cider" ,emacs-cider)))
22315 (synopsis "Helm interface to Clojure's CIDER")
22316 (description "Helm-CIDER adds Helm interfaces to
22317 @command{cider-apropos}, @command{cider-apropos-documentation},
22318 @command{cider-browse-ns} (namespaces).
22319
22320 It also provides original Helm commands: @command{helm-cider-spec},
22321 @command{helm-cider-spec-ns}, @command{helm-cider-repl-history},
22322 @command{helm-cider-cheatsheet}.")
22323 (license license:gpl3+))))
22324
22325 (define-public emacs-edn
22326 ;; No release since February 2016
22327 (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
22328 (package
22329 (name "emacs-edn")
22330 (version (git-version "1.1.2" "1" commit))
22331 (home-page "https://github.com/expez/edn.el")
22332 (source (origin
22333 (method git-fetch)
22334 (uri (git-reference
22335 (url home-page)
22336 (commit commit)))
22337 (file-name (git-file-name name version))
22338 (sha256
22339 (base32
22340 "1xp2hjhn52k6l1g6ypva6dsklpawni7gvjafbz6404f9dyxflh7l"))))
22341 (build-system emacs-build-system)
22342 (propagated-inputs
22343 `(("emacs-peg" ,emacs-peg)))
22344 (synopsis "Read and write EDN from Elisp")
22345 (description "This is an Emacs Lisp library for reading and writing the
22346 data format @code{edn}. See @url{https://github.com/edn-format/edn}.")
22347 (license license:gpl3+))))
22348
22349 (define-public emacs-helm-clojuredocs
22350 (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
22351 (package
22352 (name "emacs-helm-clojuredocs")
22353 (version (git-version "0.3" "1" commit))
22354 (home-page "https://github.com/mbuczko/helm-clojuredocs")
22355 (source (origin
22356 (method git-fetch)
22357 (uri (git-reference
22358 (url home-page)
22359 (commit commit)))
22360 (file-name (git-file-name name version))
22361 (sha256
22362 (base32
22363 "015b8zxh91ljhqvn6z43gy08di54xcw9skw0i7frj3d7gk984qhl"))))
22364 (build-system emacs-build-system)
22365 (propagated-inputs
22366 `(("emacs-helm" ,emacs-helm)
22367 ("emacs-edn" ,emacs-edn)))
22368 (synopsis "Search help on clojuredocs.org with Helm")
22369 (description "This package provides a Helm interface to lookup Clojure
22370 documentation on @url{https://clojuredocs.org} with Helm.
22371
22372 Two function are exposed:
22373 @itemize
22374 @item @command{helm-clojuredocs}: opens a Helm session with no initial
22375 pattern. Searching starts with minimal 3 characters entered.
22376 @item @command{helm-clojuredocs-at-point}: opens a Helm session with initial
22377 pattern guessed from thing under current cursor position.
22378 @end itemize\n")
22379 (license license:gpl3+))))
22380
22381 (define-public emacs-metal-mercury-mode
22382 (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
22383 (revision "1")
22384 (version "0.0.0"))
22385 (package
22386 (name "emacs-metal-mercury-mode")
22387 (version (git-version version revision commit))
22388 (source
22389 (origin
22390 (method git-fetch)
22391 (uri (git-reference
22392 (url "https://github.com/ahungry/metal-mercury-mode.git")
22393 (commit commit)))
22394 (sha256
22395 (base32
22396 "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5"))
22397 (file-name (git-file-name name version))))
22398 (build-system emacs-build-system)
22399 (propagated-inputs
22400 `(("emacs-dash" ,emacs-dash)))
22401 (synopsis "Major mode for editing Mercury files")
22402 (description
22403 "Major mode for editing Mercury files. This is a rewrite of the original
22404 mercury-mode provided by Emacs as a wrapper around prolog-mode.")
22405 (home-page "https://github.com/ahungry/metal-mercury-mode")
22406 (license license:gpl3+))))
22407
22408 (define-public emacs-boxquote
22409 ;; The following commit is 2.1 release with a switch to GPL3+ license.
22410 (let ((commit "7e47e0e2853bc1215739b2e28f260e9eed93b2c5")
22411 (revision "0"))
22412 (package
22413 (name "emacs-boxquote")
22414 (version (git-version "2.1" revision commit))
22415 (source
22416 (origin
22417 (method git-fetch)
22418 (uri (git-reference
22419 (url "https://github.com/davep/boxquote.el.git")
22420 (commit commit)))
22421 (file-name (git-file-name name version))
22422 (sha256
22423 (base32 "1aqhg24gajvllbqxb0zxrnx6sddas37k2ldfinqyszd856sjhsg3"))))
22424 (build-system emacs-build-system)
22425 (home-page "https://github.com/davep/boxquote.el")
22426 (synopsis "Quote text with different kinds of boxes")
22427 (description "@code{boxquote} provides a set of functions for using
22428 a text quoting style that partially boxes in the left hand side of an area of
22429 text, such a marking style might be used to show externally included text or
22430 example code.")
22431 (license license:gpl3+))))
22432
22433 (define-public emacs-buffer-move
22434 (package
22435 (name "emacs-buffer-move")
22436 (version "0.6.2")
22437 (source
22438 (origin
22439 (method git-fetch)
22440 (uri (git-reference
22441 (url "https://github.com/lukhas/buffer-move.git")
22442 (commit version)))
22443 (file-name (git-file-name name version))
22444 (sha256
22445 (base32 "0xdks4jfqyhkh34y48iq3gz8swp0f526kwnaai5mhgvazvs4za8c"))))
22446 (build-system emacs-build-system)
22447 (home-page "https://github.com/lukhas/buffer-move")
22448 (synopsis "Functions for moving Emacs' buffers around")
22449 (description
22450 "This package define functions for swapping buffers between windows
22451 contained in the same frame. An alternate behavior is to have the current
22452 window switch to the previous buffer instead of swapping with the other
22453 window.")
22454 (license license:gpl3+)))
22455
22456 (define-public emacs-company-ebdb
22457 (package
22458 (name "emacs-company-ebdb")
22459 (version "1.1")
22460 (source
22461 (origin
22462 (method url-fetch)
22463 (uri (string-append "https://elpa.gnu.org/packages/"
22464 "company-ebdb-" version ".el"))
22465 (sha256
22466 (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"))))
22467 (build-system emacs-build-system)
22468 (propagated-inputs
22469 `(("emacs-company" ,emacs-company)))
22470 (home-page "https://elpa.gnu.org/packages/company-ebdb.html")
22471 (synopsis "Company completion backend for EBDB in Message mode")
22472 (description "@code{company-ebdb} provides Company mode integration for
22473 EBDB. It is copied more or less intact from @code{company-bbdb}, originally
22474 by Jan Tatarik.")
22475 (license license:gpl3+)))
22476
22477 (define-public emacs-mwim
22478 ;; Use the latest commit not in a release version as of yet, since it
22479 ;; contains a bug fix for the cases where `comment-start-skip' is nil.
22480 (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
22481 (revision "0"))
22482 (package
22483 (name "emacs-mwim")
22484 (version (git-version "0.4" revision commit))
22485 (source
22486 (origin
22487 (method git-fetch)
22488 (uri (git-reference
22489 (url "https://github.com/alezost/mwim.el.git")
22490 (commit commit)))
22491 (file-name (git-file-name name version))
22492 (sha256
22493 (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"))))
22494 (build-system emacs-build-system)
22495 (home-page "https://github.com/alezost/mwim.el")
22496 (synopsis "Move to the beginning/end of line, code or comment")
22497 (description "@code{mwim} provides several commands to switch between
22498 various line positions, like moving to the beginning/end of code, line, or
22499 comment.")
22500 (license license:gpl3+))))
22501
22502 (define-public emacs-delight
22503 (package
22504 (name "emacs-delight")
22505 (version "1.5")
22506 (source
22507 (origin
22508 (method url-fetch)
22509 (uri (string-append "https://elpa.gnu.org/packages/"
22510 "delight-" version ".el"))
22511 (sha256
22512 (base32 "0kzlvzwmn6zj0874086q2xw0pclyi7wlkq48zh2lkd2796xm8vw7"))))
22513 (build-system emacs-build-system)
22514 (home-page "https://elpa.gnu.org/packages/delight.html")
22515 (synopsis "Dimmer switch for your mode-line lighter text")
22516 (description "@code{delight} enables customizing or hiding the
22517 mode-line text (lighter) of major and minor modes.")
22518 (license license:gpl3+)))
22519
22520 (define-public emacs-unkillable-scratch
22521 ;; Use the latest (unreleased) commit as of now, since it contains a handy
22522 ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
22523 ;; repopulate the scratch buffer with `initial-scratch-message'.
22524 (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab")
22525 (revision "0"))
22526 (package
22527 (name "emacs-unkillable-scratch")
22528 (version (git-version "1.0.0" revision commit))
22529 (source
22530 (origin
22531 (method git-fetch)
22532 (uri (git-reference
22533 (url "https://github.com/EricCrosson/unkillable-scratch.git")
22534 (commit commit)))
22535 (file-name (git-file-name name version))
22536 (sha256
22537 (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa"))))
22538 (build-system emacs-build-system)
22539 (home-page "https://github.com/EricCrosson/unkillable-scratch")
22540 (synopsis "Prevents the *scratch* buffer from being killed")
22541 (description "@code{unkillable-scratch} helps prevent killing buffers
22542 matching a given regexp.")
22543 (license license:gpl2+))))
22544
22545 (define-public emacs-switch-buffer-functions
22546 (package
22547 (name "emacs-switch-buffer-functions")
22548 (version "0.0.1")
22549 (source
22550 (origin
22551 (method git-fetch)
22552 (uri (git-reference
22553 (url "https://github.com/10sr/switch-buffer-functions-el.git")
22554 (commit (string-append "v" version))))
22555 (file-name (git-file-name name version))
22556 (sha256
22557 (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
22558 (build-system emacs-build-system)
22559 (home-page "https://github.com/10sr/switch-buffer-functions-el")
22560 (synopsis "Hooks run when switching current buffer")
22561 (description "This package provides a hook variable
22562 @code{switch-buffer-functions}. The hooks will be run when the current buffer
22563 is changed after an interactive command, i.e., when @code{post-command-hook}
22564 hooks are run. The hooked functions will be called with both the previous and
22565 the current buffer.")
22566 (license license:unlicense)))
22567
22568 (define-public emacs-erc-scrolltoplace
22569 (package
22570 (name "emacs-erc-scrolltoplace")
22571 (version "0.1.0")
22572 (source
22573 (origin
22574 (method git-fetch)
22575 (uri (git-reference
22576 (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
22577 (commit version)))
22578 (file-name (git-file-name name version))
22579 (sha256
22580 (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
22581 (build-system emacs-build-system)
22582 (propagated-inputs
22583 `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions)))
22584 (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
22585 (synopsis "ERC module to replace scrolltobottom while using keep-place")
22586 (description "@code{erc-scrolltoplace} is an ERC module to try
22587 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
22588 (license license:gpl3+)))
22589
22590 (define-public emacs-dmenu
22591 ;; Use the latest commit, as there are no tagged releases.
22592 (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
22593 (revision "0"))
22594 (package
22595 (name "emacs-dmenu")
22596 (version (git-version "0.1" revision commit))
22597 (source
22598 (origin
22599 (method git-fetch)
22600 (uri (git-reference
22601 (url "https://github.com/lujun9972/el-dmenu.git")
22602 (commit commit)))
22603 (file-name (git-file-name name version))
22604 (sha256
22605 (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
22606 (build-system emacs-build-system)
22607 (home-page "https://github.com/lujun9972/el-dmenu")
22608 (synopsis "Simulate the @command{dmenu} command line program")
22609 (description "This package provides a @command{dmenu} command for
22610 launching other commands/applications from within Emacs, similar to the
22611 @command{dmenu} program. This is especially useful when using EXWM.")
22612 (license license:gpl3+))))
22613
22614 (define-public emacs-no-littering
22615 (package
22616 (name "emacs-no-littering")
22617 (version "1.0.3")
22618 (source
22619 (origin
22620 (method git-fetch)
22621 (uri (git-reference
22622 (url "https://github.com/emacscollective/no-littering.git")
22623 (commit (string-append "v" version))))
22624 (file-name (git-file-name name version))
22625 (sha256
22626 (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"))))
22627 (build-system emacs-build-system)
22628 (home-page "https://github.com/emacscollective/no-littering")
22629 (synopsis "Help keep ~/.emacs.d/ clean")
22630 (description "The default paths used to store configuration files and
22631 persistent data are not consistent across Emacs packages, be them built-in or
22632 third-party ones. @code{no-littering} sets out to help clean
22633 @file{~/.emacs.d/} by putting configuration files and persistent data files in
22634 two user-defined directories, as well as using more descriptive names for
22635 files and subdirectories when appropriate.")
22636 (license license:gpl3+)))
22637
22638 (define-public emacs-meson-mode
22639 (package
22640 (name "emacs-meson-mode")
22641 (version "0.2")
22642 (source
22643 (origin
22644 (method git-fetch)
22645 (uri (git-reference
22646 (url "https://github.com/wentasah/meson-mode.git")
22647 (commit (string-append "v" version))))
22648 (file-name (git-file-name name version))
22649 (sha256
22650 (base32 "1720b3hpfqd989zrgcns51jbjrv4vzl9di9mccl55vkmkbqzfin0"))))
22651 (build-system emacs-build-system)
22652 (home-page "https://github.com/wentasah/meson-mode")
22653 (synopsis "Major mode for Meson build system files")
22654 (description
22655 "This is an Emacs major mode for Meson build system files. Syntax
22656 highlighting works reliably. Indentation works too, but there are probably
22657 cases where it breaks.")
22658 (license license:gpl3+)))
22659
22660 (define-public emacs-message-x
22661 ;; Use the latest commit, as there are no tagged releases.
22662 (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
22663 (revision "0"))
22664 (package
22665 (name "emacs-message-x")
22666 (version (git-version "1.23" revision commit))
22667 (source
22668 (origin
22669 (method git-fetch)
22670 (uri (git-reference
22671 (url "https://github.com/emacsmirror/message-x.git")
22672 (commit commit)))
22673 (file-name (git-file-name name version))
22674 (sha256
22675 (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
22676 (build-system emacs-build-system)
22677 (home-page "https://www.emacswiki.org/emacs/message-x.el")
22678 (synopsis "Customizable completion in message headers")
22679 (description "@code{message-x} assigns a context-sensitive function to
22680 the TAB key in Message mode. When on a header line, it performs completion
22681 based on which header we are in (for example, newsgroup name completion makes
22682 sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
22683 sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
22684 executes a different function (default: @code{indent-relative}).")
22685 (license license:gpl2+))))
22686
22687 (define-public emacs-glsl-mode
22688 ;; No tag, version grabbed from source .el file.
22689 (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136")
22690 (revision "0"))
22691 (package
22692 (name "emacs-glsl-mode")
22693 (version (git-version "2.4" revision commit))
22694 (source
22695 (origin
22696 (method git-fetch)
22697 (uri (git-reference
22698 (url "https://github.com/jimhourihan/glsl-mode")
22699 (commit commit)))
22700 (file-name (git-file-name name version))
22701 (sha256
22702 (base32 "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s"))))
22703 (build-system emacs-build-system)
22704 (home-page "https://github.com/jimhourihan/glsl-mode")
22705 (synopsis "Major mode for Open GLSL shader files")
22706 (description
22707 "This package provides a major mode for editing OpenGLSL grammar files,
22708 usually files ending with @file{.vert}, @file{.frag}, @file{.glsl} or
22709 @file{.geom}. It is based on C mode plus some features and pre-specified
22710 fontifications.")
22711 (license license:gpl3+))))
22712
22713 (define-public emacs-gnus-harvest
22714 (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
22715 (revision "0"))
22716 (package
22717 (name "emacs-gnus-harvest")
22718 (version (git-version "1.0" revision commit))
22719 (source
22720 (origin
22721 (method git-fetch)
22722 (uri (git-reference
22723 (url "https://github.com/jwiegley/gnus-harvest.git")
22724 (commit commit)))
22725 (file-name (git-file-name name version))
22726 (sha256
22727 (base32 "08zb7vc3v3wdxkzgi902vlc5ybfvm8fxrvm5drnwfsjj9873pbcb"))))
22728 (build-system emacs-build-system)
22729 (inputs
22730 `(("sqlite" ,sqlite)))
22731 (arguments
22732 `(#:phases
22733 (modify-phases %standard-phases
22734 (add-before 'build 'patch-exec-paths
22735 (lambda* (#:key inputs #:allow-other-keys)
22736 (let ((sqlite (assoc-ref inputs "sqlite"))
22737 (file "gnus-harvest.el"))
22738 (make-file-writable file)
22739 (emacs-substitute-variables file
22740 ("gnus-harvest-sqlite-program"
22741 (string-append sqlite "/bin/sqlite3"))))
22742 #t)))))
22743 (home-page "https://github.com/jwiegley/gnus-harvest")
22744 (synopsis
22745 "Harvest email addresses from read/written Gnus articles")
22746 (description "@code{gnus-harvest} notices email address in every message
22747 or post you read or write, and collects them in a SQLite database, which can
22748 be easily and quickly queried to determine the completion list. It optionally
22749 uses BBDB and Message-X.")
22750 (license license:gpl3+))))
22751
22752 (define-public emacs-auto-dictionary-mode
22753 (package
22754 (name "emacs-auto-dictionary-mode")
22755 (version "1.1")
22756 (source
22757 (origin
22758 (method git-fetch)
22759 (uri (git-reference
22760 (url "https://github.com/nschum/auto-dictionary-mode")
22761 (commit version)))
22762 (file-name (git-file-name name version))
22763 (sha256
22764 (base32 "191294k92qp8gmfypf0q8j8qrym96aqikzvyb9p03wqvbr3r1dsk"))))
22765 (build-system emacs-build-system)
22766 (home-page "http://nschum.de/src/emacs/auto-dictionary/")
22767 (synopsis "Automatic dictionary switcher for Emacs spell checking")
22768 (description "@code{auto-dictionary} is a minor mode that hooks into
22769 Flyspell's on-the-fly spell checking and extends these checks to also detect
22770 language. Auto-dictionary then sets @code{ispell-dictionary} to use the
22771 detected language.")
22772 (license license:gpl2+)))
22773
22774 (define-public emacs-persist
22775 (package
22776 (name "emacs-persist")
22777 (version "0.4")
22778 (source
22779 (origin
22780 (method url-fetch)
22781 (uri (string-append "https://elpa.gnu.org/packages/"
22782 "persist-" version ".tar"))
22783 (sha256
22784 (base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
22785 (build-system emacs-build-system)
22786 (home-page "http://elpa.gnu.org/packages/persist.html")
22787 (synopsis "Persist variables between Emacs sessions")
22788 (description
22789 "This package provides variables which persist across sessions.
22790 Values are stored in a directory in @code{user-emacs-directory}, using
22791 one file per value. This makes it easy to delete or remove unused
22792 variables.")
22793 (license license:gpl3+)))
22794
22795 (define-public emacs-company-emoji
22796 (package
22797 (name "emacs-company-emoji")
22798 (version "2.5.2")
22799 (source
22800 (origin
22801 (method git-fetch)
22802 (uri (git-reference
22803 (url "https://github.com/dunn/company-emoji/")
22804 (commit version)))
22805 (file-name (git-file-name name version))
22806 (sha256
22807 (base32 "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2"))))
22808 (build-system emacs-build-system)
22809 (propagated-inputs
22810 `(("emacs-company" ,emacs-company)))
22811 (home-page "https://github.com/dunn/company-emoji/")
22812 (synopsis "Company completion back-end for emoji")
22813 (description
22814 "This library is a Company back-end providing auto-completion for
22815 emoji.")
22816 (license license:gpl3+)))
22817
22818 (define-public emacs-exiftool
22819 (package
22820 (name "emacs-exiftool")
22821 (version "0.3.2")
22822 (source
22823 (origin
22824 (method git-fetch)
22825 (uri (git-reference
22826 (url "https://git.systemreboot.net/exiftool.el/")
22827 (commit (string-append "v" version))))
22828 (file-name (git-file-name name version))
22829 (sha256
22830 (base32
22831 "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
22832 (build-system emacs-build-system)
22833 (arguments
22834 `(#:tests? #t
22835 #:test-command '("make" "-C" "tests")
22836 #:phases
22837 (modify-phases %standard-phases
22838 (add-after 'unpack 'configure
22839 (lambda* (#:key inputs #:allow-other-keys)
22840 (make-file-writable "exiftool.el")
22841 (emacs-substitute-variables "exiftool.el"
22842 ("exiftool-executable"
22843 (string-append (assoc-ref inputs "perl-image-exiftool")
22844 "/bin/exiftool")))
22845 #t)))))
22846 (inputs
22847 `(("perl-image-exiftool" ,perl-image-exiftool)))
22848 (home-page "https://git.systemreboot.net/exiftool.el/about/")
22849 (synopsis "Elisp wrapper around ExifTool")
22850 (description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool.
22851 ExifTool supports reading and writing metadata in various formats including
22852 EXIF, XMP and IPTC.")
22853 (license license:gpl3+)))
22854
22855 (define-public emacs-password-generator
22856 (package
22857 (name "emacs-password-generator")
22858 (version "1.01")
22859 (home-page "https://github.com/zargener/emacs-password-genarator")
22860 (source
22861 (origin
22862 (method git-fetch)
22863 (uri (git-reference
22864 (url home-page)
22865 (commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3")))
22866 (file-name (git-file-name name version))
22867 (sha256
22868 (base32
22869 "1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv"))))
22870 (build-system emacs-build-system)
22871 (synopsis "Generate passwords inside Emacs")
22872 (description "@code{emacs-password-generator} provides simple functions to
22873 generate random passwords and insert them into the current buffer. It also
22874 supports generation of phonetic and numeric passwords.")
22875 (license license:artistic2.0)))
22876
22877 (define-public emacs-csv
22878 (package
22879 (name "emacs-csv")
22880 (version "2.1")
22881 (home-page "https://gitlab.com/u11/csv.el")
22882 (source
22883 (origin
22884 (method git-fetch)
22885 (uri (git-reference
22886 (url home-page)
22887 (commit (string-append "V" version))))
22888 (file-name (git-file-name name version))
22889 (sha256
22890 (base32
22891 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"))))
22892 (build-system emacs-build-system)
22893 (synopsis "Elisp functions for reading and parsing CSV files")
22894 (description
22895 "@code{csv.el} provides functions for reading and parsing @acronym{CSV,
22896 Comma-Separated Values} files. It follows the format as defined in RFC 4180
22897 @emph{Common Format and MIME Type for CSV
22898 Files} (@url{http://tools.ietf.org/html/rfc4180}).")
22899 (license license:gpl3+)))
22900
22901 (define-public emacs-org-journal
22902 (package
22903 (name "emacs-org-journal")
22904 (version "2.0.0")
22905 (source
22906 (origin
22907 (method git-fetch)
22908 (uri (git-reference
22909 (url "https://github.com/bastibe/org-journal.git")
22910 (commit version)))
22911 (file-name (git-file-name name version))
22912 (sha256
22913 (base32 "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg"))))
22914 (build-system emacs-build-system)
22915 (home-page "https://github.com/bastibe/org-journal")
22916 (synopsis "Simple Org mode journaling mode")
22917 (description
22918 "Org Journal is a set of functions to maintain a simple personal diary /
22919 journal using in Emacs, adapted from
22920 @url{https://www.emacswiki.org/emacs/PersonalDiary}. Convenient bindings
22921 allow the creation of journal records in the current daily, weekly, monthly or
22922 yearly file and search within all records or specified time intervals. All
22923 records can be browsed and searched from the Emacs Calendar for convenience.
22924 All entries in a specified TODO state will be carried over to the next day.")
22925 (license license:bsd-3)))
22926
22927 (define-public emacs-org-static-blog
22928 (package
22929 (name "emacs-org-static-blog")
22930 (version "1.3.0")
22931 (source
22932 (origin
22933 (method git-fetch)
22934 (uri (git-reference
22935 (url "https://github.com/bastibe/org-static-blog")
22936 (commit version)))
22937 (file-name (git-file-name name version))
22938 (sha256
22939 (base32 "15iy3z8rglaqbx1fz14inh18ksgjsmq30b8hyv3lgjvcc9ssaiw0"))))
22940 (build-system emacs-build-system)
22941 (home-page "https://github.com/bastibe/org-static-blog")
22942 (synopsis
22943 "Simple Org mode based static blog generator")
22944 (description
22945 "@code{emacs-org-static-blog} is one more static blog generator, it
22946 focuses on being simple. All files are simple Org files in a directory. The
22947 only requirement is that every Org file must have a @samp{title} and
22948 a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
22949 (license license:bsd-3)))
22950
22951 (define-public emacs-ddskk
22952 ;; XXX: Upstream adds code names to their release tags, so version and code
22953 ;; name below need to be updated together.
22954 (let ((version "16.3")
22955 (code-name "Kutomatsunai"))
22956 (package
22957 (name "emacs-ddskk")
22958 (version version)
22959 (source
22960 (origin
22961 (method git-fetch)
22962 (uri (git-reference
22963 (url "https://github.com/skk-dev/ddskk")
22964 (commit (string-append "ddskk-" version "_" code-name))))
22965 (file-name (git-file-name name version))
22966 (sha256
22967 (base32 "0ln4x8f35z5y3kf9m718g223bn3lzcmw40jfjg2j5yi24ydf1wm9"))))
22968 (build-system gnu-build-system)
22969 (arguments
22970 `(#:modules ((guix build gnu-build-system)
22971 (guix build utils)
22972 (guix build emacs-utils))
22973 #:imported-modules (,@%gnu-build-system-modules
22974 (guix build emacs-utils))
22975 #:test-target "test"
22976 #:phases
22977 (modify-phases %standard-phases
22978 (replace 'configure
22979 (lambda* (#:key outputs #:allow-other-keys)
22980 (make-file-writable "SKK-MK")
22981 (emacs-substitute-variables "SKK-MK"
22982 ("PREFIX" (assoc-ref outputs "out"))
22983 ("LISPDIR" '(expand-file-name "/share/emacs/site-lisp" PREFIX))
22984 ("SKK_PREFIX" "")
22985 ("SKK_INFODIR" '(expand-file-name "info" PREFIX)))
22986 (for-each make-file-writable (find-files "./doc"))
22987 #t)))))
22988 (native-inputs
22989 `(("emacs-minimal" ,emacs-minimal)))
22990 (home-page "https://github.com/skk-dev/ddskk")
22991 (synopsis "Simple Kana to Kanji conversion program")
22992 (description
22993 "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
22994 conversion program}, a Japanese input method on Emacs.")
22995 (license license:gpl2+))))
22996
22997 (define-public emacs-objed
22998 (package
22999 (name "emacs-objed")
23000 (version "0.8.3")
23001 (source
23002 (origin
23003 (method url-fetch)
23004 (uri (string-append
23005 "https://elpa.gnu.org/packages/objed-" version ".tar"))
23006 (sha256
23007 (base32
23008 "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr"))))
23009 (build-system emacs-build-system)
23010 (home-page "https://github.com/clemera/objed")
23011 (synopsis "Navigate and edit text objects")
23012 (description
23013 "@code{emacs-objed} allows navigating and editing text objects. It
23014 enables modal editing and composition of commands, too. It combines ideas of
23015 other Editors like Vim or Kakoune and tries to align them with regular Emacs
23016 conventions.")
23017 (license license:gpl3+)))
23018
23019 (define-public emacs-haskell-snippets
23020 ;; The commit below is 5 commits ahead of release, and includes a build fix.
23021 (let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a"))
23022 (package
23023 (name "emacs-haskell-snippets")
23024 (version (git-version "0.1.0" "0" commit))
23025 (source
23026 (origin
23027 (method git-fetch)
23028 (uri
23029 (git-reference
23030 (url "https://github.com/haskell/haskell-snippets")
23031 (commit commit)))
23032 (file-name (git-file-name name version))
23033 (sha256
23034 (base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"))))
23035 (build-system emacs-build-system)
23036 (arguments
23037 `(#:phases
23038 (modify-phases %standard-phases
23039 (add-after 'install 'install-snippets
23040 (lambda* (#:key outputs #:allow-other-keys)
23041 (let* ((out (assoc-ref outputs "out"))
23042 (snippets
23043 (string-append
23044 out "/share/emacs/site-lisp/snippets/haskell-mode")))
23045 (mkdir-p snippets)
23046 (copy-recursively "snippets/haskell-mode" snippets)
23047 #t))))))
23048 (propagated-inputs
23049 `(("emacs-yasnippet" ,emacs-yasnippet)))
23050 (home-page "https://github.com/haskell/haskell-snippets")
23051 (synopsis "Official collection of YASnippet Haskell snippets for Emacs")
23052 (description "Haskell-Snippets is a collection of YASnippet Haskell
23053 snippets for Emacs.")
23054 (license license:expat))))
23055
23056 (define-public emacs-org-roam
23057 (package
23058 (name "emacs-org-roam")
23059 (version "1.0.0")
23060 (source
23061 (origin
23062 (method git-fetch)
23063 (uri (git-reference
23064 (url "https://github.com/jethrokuan/org-roam.git")
23065 (commit (string-append "v" version))))
23066 (file-name (git-file-name name version))
23067 (sha256
23068 (base32 "08pfa63k194dpk0y2gfa0nzn5lig81q0l9axkq5j4ibj6ifaap4a"))))
23069 (build-system emacs-build-system)
23070 (propagated-inputs
23071 `(("emacs-company" ,emacs-company)
23072 ("emacs-dash" ,emacs-dash)
23073 ("emacs-emacsql-sqlite" ,emacs-emacsql)
23074 ("emacs-f" ,emacs-f)
23075 ("emacs-org-ref" ,emacs-org-ref)
23076 ("emacs-s" ,emacs-s)))
23077 (home-page "https://github.com/jethrokuan/org-roam/")
23078 (synopsis "Non-hierarchical note-taking with Org mode")
23079 (description "Emacs Org Roam is a solution for taking non-hierarchical
23080 notes with Org mode. Notes are captured without hierarchy and are connected
23081 by tags. Notes can be found and created quickly. Org Roam should also work
23082 as a plug-and-play solution for anyone already using Org mode for their
23083 personal wiki.")
23084 (license license:gpl3+)))
23085
23086 (define-public emacs-uml-mode
23087 ;; Package has no release. Version is extracted from "Version:" keyword in
23088 ;; main file.
23089 (let ((commit "4c37ac1c4424b2313cd8f16ba48a98a4cc214200")
23090 (revision "1"))
23091 (package
23092 (name "emacs-uml-mode")
23093 (version (git-version "0.0.4" revision commit))
23094 (source
23095 (origin
23096 (method git-fetch)
23097 (uri (git-reference
23098 (url "https://github.com/ianxm/emacs-uml.git")
23099 (commit commit)))
23100 (file-name (git-file-name name version))
23101 (sha256
23102 (base32 "145i4srnfvd1vyibri2a1l6p9mbjvkkwlrpi41134pbarqffcnka"))))
23103 (build-system emacs-build-system)
23104 (home-page "https://github.com/ianxm/emacs-uml")
23105 (synopsis "Minor mode for editing ASCII UML sequence diagrams")
23106 (description "Emacs UML mode is a minor mode that makes it easy to build
23107 ASCII UML sequence diagrams in Emacs, which can be embedded in source code,
23108 comments or emails.")
23109 (license license:gpl3+))))
23110
23111 (define-public emacs-trashed
23112 (package
23113 (name "emacs-trashed")
23114 (version "1.9.0")
23115 (source
23116 (origin
23117 (method git-fetch)
23118 (uri (git-reference
23119 (url "https://github.com/shingo256/trashed/")
23120 (commit version)))
23121 (file-name (git-file-name name version))
23122 (sha256
23123 (base32 "13grdi12iwlw4fiphdfmvclfpbr6ajlgfbfyi7v41z8k3rxz4ypz"))))
23124 (build-system emacs-build-system)
23125 (home-page "https://github.com/shingo256/trashed/")
23126 (synopsis "View and edit system trash can in Emacs")
23127 (description "Open, view, browse, restore or permanently delete trashed
23128 files or directories in trash can with Dired-like look and feel. The trash
23129 can has to be compliant with freedesktop.org. In Emacs, you can trash files by
23130 deleting them with @code{(setq delete-by-moving-to-trash t)}. This package
23131 provides a simple but convenient user interface to manage those trashed
23132 files.")
23133 (license license:gpl3+)))
23134
23135 (define-public emacs-plantuml-mode
23136 (package
23137 (name "emacs-plantuml-mode")
23138 (version "1.4.1")
23139 (source
23140 (origin
23141 (method git-fetch)
23142 (uri (git-reference
23143 (url "https://github.com/skuro/plantuml-mode")
23144 (commit (string-append "v" version))))
23145 (file-name (git-file-name name version))
23146 (sha256
23147 (base32 "0yp41d2dmf3sx7qnl5x0zdjcr9y71b2wwc9m0q31v22xqn938ipc"))))
23148 (arguments
23149 '(#:phases
23150 (modify-phases %standard-phases
23151 (add-after 'unpack 'use-local-plantuml
23152 (lambda* (#:key inputs #:allow-other-keys)
23153 (let ((plantuml (assoc-ref inputs "plantuml"))
23154 (file "plantuml-mode.el"))
23155 (chmod file #o644)
23156 (emacs-substitute-variables file
23157 ("plantuml-jar-path"
23158 (string-append plantuml "/share/java/plantuml.jar"))
23159 ("plantuml-executable-path"
23160 (string-append plantuml "/bin/plantuml"))
23161 ("plantuml-server-url" 'nil)
23162 ("plantuml-default-exec-mode" ''executable))
23163 (emacs-batch-edit-file file
23164 `(progn (progn
23165 (goto-char (point-min))
23166 (re-search-forward "(defun plantuml-download-jar")
23167 (beginning-of-line)
23168 (kill-sexp))
23169 (basic-save-buffer)))
23170 #t))))))
23171 (inputs
23172 `(("plantuml" ,plantuml)))
23173 (propagated-inputs
23174 `(("emacs-dash" ,emacs-dash)))
23175 (build-system emacs-build-system)
23176 (home-page "https://github.com/skuro/plantuml-mode")
23177 (synopsis "Major mode for editing PlantUML sources")
23178 (description "This package provides a major mode for editing PlantUML
23179 sources. It features syntax highlighting, autocompletion, preview of buffer
23180 or region and use of locally installed binaries.")
23181 (license license:gpl3+)))