gnu: emacs-ghub: Update to 3.3.0.
[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 "16.1")
826 (source (origin
827 (method git-fetch)
828 (uri (git-reference
829 (url "https://github.com/haskell/haskell-mode")
830 (commit (string-append "v" version))))
831 (file-name (git-file-name name version))
832 (sha256
833 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
834 (patches
835 (search-patches ; backport test failure fixes
836 "haskell-mode-unused-variables.patch"
837 "haskell-mode-make-check.patch"))))
838 (inputs
839 `(("emacs-el-search" ,emacs-el-search) ; for tests
840 ("emacs-stream" ,emacs-stream))) ; for tests
841 (propagated-inputs
842 `(("emacs-dash" ,emacs-dash)))
843 (native-inputs
844 `(("emacs" ,emacs-minimal)
845 ("texinfo" ,texinfo)))
846 (build-system gnu-build-system)
847 (arguments
848 `(#:make-flags (list (string-append "EMACS="
849 (assoc-ref %build-inputs "emacs")
850 "/bin/emacs"))
851 #:modules ((ice-9 match)
852 (srfi srfi-26)
853 ,@%gnu-build-system-modules)
854 #:phases
855 (modify-phases %standard-phases
856 (delete 'configure)
857 (add-before
858 'build 'pre-build
859 (lambda* (#:key inputs #:allow-other-keys)
860 (define (el-dir store-dir)
861 (match (find-files store-dir "\\.el$")
862 ((f1 f2 ...) (dirname f1))
863 (_ "")))
864
865 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
866 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
867
868 (setenv "SHELL" "sh")
869 (setenv "EMACSLOADPATH"
870 (string-concatenate
871 (map (match-lambda
872 (((? emacs-prefix? name) . dir)
873 (string-append (el-dir dir) ":"))
874 (_ ""))
875 inputs)))
876 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
877 ;; embed filename to fix test failure
878 (let ((file "tests/haskell-cabal-tests.el"))
879 (substitute* file
880 (("\\(buffer-file-name\\)")
881 (format #f "(or (buffer-file-name) ~s)" file))))
882 #t)))
883 (replace
884 'install
885 (lambda* (#:key outputs #:allow-other-keys)
886 (let* ((out (assoc-ref outputs "out"))
887 (el-dir (string-append out "/share/emacs/site-lisp"))
888 (doc (string-append
889 out "/share/doc/haskell-mode-" ,version))
890 (info (string-append out "/share/info")))
891 (define (copy-to-dir dir files)
892 (for-each (lambda (f)
893 (install-file f dir))
894 files))
895
896 (with-directory-excursion "doc"
897 (invoke "makeinfo" "haskell-mode.texi")
898 (install-file "haskell-mode.info" info))
899 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
900 (copy-to-dir el-dir (find-files "." "\\.elc?"))
901 ;; These are part of other packages.
902 (with-directory-excursion el-dir
903 (for-each delete-file '("dash.el" "ert.el")))
904 #t))))))
905 (home-page "https://github.com/haskell/haskell-mode")
906 (synopsis "Haskell mode for Emacs")
907 (description
908 "This is an Emacs mode for editing, debugging and developing Haskell
909 programs.")
910 (license license:gpl3+)))
911
912 (define-public emacs-dante
913 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
914 (revision "1"))
915 (package
916 (name "emacs-dante")
917 (version (git-version "1.6" revision commit))
918 (source (origin
919 (method git-fetch)
920 (uri (git-reference
921 (url "https://github.com/jyp/dante")
922 (commit commit)))
923 (sha256
924 (base32
925 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
926 (file-name (git-file-name name version))))
927 (build-system emacs-build-system)
928 (propagated-inputs
929 `(("emacs-dash" ,emacs-dash)
930 ("emacs-f" ,emacs-f)
931 ("emacs-flycheck" ,emacs-flycheck)
932 ("emacs-haskell-mode" ,emacs-haskell-mode)
933 ("emacs-s" ,emacs-s)
934 ("emacs-company" ,emacs-company)
935 ("emacs-lcr" ,emacs-lcr)))
936 (home-page "https://github.com/jyp/dante")
937 (synopsis "Minor mode for interactive Haskell")
938 (description
939 "This package provides a minor mode for Haskell development that
940 supports type hints, definition-jumping, completion, and more.")
941 (license license:gpl3+))))
942
943 (define-public emacs-flycheck
944 ;; Last release version was more than 500 commits ago.
945 (let ((commit "9bcf6b665e15db94870bebc81dc8248c3eec20d3")
946 (revision "2"))
947 (package
948 (name "emacs-flycheck")
949 (version (git-version "31" revision commit))
950 (source
951 (origin
952 (method git-fetch)
953 (uri (git-reference
954 (url "https://github.com/flycheck/flycheck/")
955 (commit commit)))
956 (sha256
957 (base32 "015ixss5bjr7gvhj8mkw5x2x1hy6fvvsjarr2xpv0gskkkngs7pg"))
958 (file-name (git-file-name name version))))
959 (build-system emacs-build-system)
960 (propagated-inputs
961 `(("emacs-dash" ,emacs-dash)))
962 (native-inputs
963 `(("emacs-shut-up" ,emacs-shut-up)))
964 (arguments
965 `(#:phases
966 (modify-phases %standard-phases
967 (add-after 'unpack 'change-flycheck-version
968 (lambda _
969 (substitute* "flycheck.el"
970 (("\\(pkg-info-version-info 'flycheck\\)")
971 (string-append "\"" ,version "\"")))
972 #t)))
973 ;; TODO: many failing tests
974 #:tests? #f
975 #:test-command '("emacs" "-Q" "--batch" "-L" "."
976 "--load" "test/flycheck-test"
977 "--load" "test/run.el"
978 "-f" "flycheck-run-tests-main")))
979 (home-page "https://www.flycheck.org")
980 (synopsis "On-the-fly syntax checking")
981 (description
982 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
983 replacement for the older Flymake extension which is part of GNU Emacs, with
984 many improvements and additional features.
985
986 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
987 checking for over 30 programming and markup languages with more than 70
988 different tools. It highlights errors and warnings inline in the buffer, and
989 provides an optional IDE-like error list.")
990 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
991
992 (define-public emacs-a
993 (package
994 (name "emacs-a")
995 (version "0.1.1")
996 (source (origin
997 (method git-fetch)
998 (uri (git-reference
999 (url "https://github.com/plexus/a.el.git")
1000 (commit (string-append "v" version))))
1001 (file-name (git-file-name name version))
1002 (sha256
1003 (base32
1004 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
1005 (build-system emacs-build-system)
1006 (home-page "https://github.com/plexus/a.el/")
1007 (synopsis
1008 "Emacs library for dealing with association lists and hash tables")
1009 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
1010 with associative structures in a uniform and functional way. These functions
1011 can take association lists, hash tables, and in some cases vectors (where the
1012 index is considered the key).")
1013 (license license:gpl3+)))
1014
1015 (define-public emacs-ace-jump-mode
1016 (package
1017 (name "emacs-ace-jump-mode")
1018 (version "2.0")
1019 (home-page "https://github.com/winterTTr/ace-jump-mode")
1020 (source (origin
1021 (method git-fetch)
1022 (uri (git-reference
1023 (url home-page)
1024 (commit (string-append "v" version))))
1025 (sha256
1026 (base32
1027 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
1028 (file-name (git-file-name name version))))
1029 (build-system emacs-build-system)
1030 (synopsis "Cursor location minor mode for fast navigation")
1031 (description "Ace-jump-mode is a fast/direct cursor location minor
1032 mode. It creates an N-Branch search tree internally and marks all
1033 the possible position with predefined keys in within the whole Emacs
1034 view. This allows you to move to the character, word, or line almost
1035 directly.")
1036 (license license:gpl3+)))
1037
1038 (define-public emacs-anaphora
1039 (package
1040 (name "emacs-anaphora")
1041 (version "1.0.4")
1042 (source
1043 (origin
1044 (method git-fetch)
1045 (uri (git-reference
1046 (url "https://github.com/rolandwalker/anaphora.git")
1047 (commit (string-append "v" version))))
1048 (file-name (git-file-name name version))
1049 (sha256
1050 (base32
1051 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
1052 (build-system emacs-build-system)
1053 (home-page "https://github.com/rolandwalker/anaphora/")
1054 (synopsis "Anaphoric expressions for Emacs Lisp")
1055 (description "@code{emacs-anaphora} implements anaphoric expressions for
1056 Emacs Lisp.
1057
1058 Anaphoric expressions implicitly create one or more temporary variables which
1059 can be referred to during the expression. This technique can improve clarity
1060 in certain cases. It also enables recursion for anonymous functions.")
1061 (license license:public-domain)))
1062
1063 (define-public emacs-xr
1064 (package
1065 (name "emacs-xr")
1066 (version "1.19")
1067 (source
1068 (origin
1069 (method url-fetch)
1070 (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
1071 (sha256
1072 (base32 "1aa3iqh0r635jw8k89zh8y4am9d4hfrqpk9mrdh2b51invjn8llq"))))
1073 (build-system emacs-build-system)
1074 (home-page "https://elpa.gnu.org/packages/xr.html")
1075 (synopsis "Convert string regexp to rx notation")
1076 (description
1077 "This is an inverse companion to the @code{rx} package for translating
1078 regexps in string form to the @code{rx} notation. Its chief uses are:
1079
1080 @itemize
1081 @item Migrating existing code to @code{rx} form, for better readability and
1082 maintainability
1083 @item Understanding complex regexp strings and finding errors in them
1084 @end itemize
1085
1086 In addition to Emacs regexps, this package can also parse and troubleshoot
1087 skip set strings, which are arguments to @code{skip-chars-forward} and
1088 @code{skip-chars-backward}.")
1089 (license license:gpl3+)))
1090
1091 (define-public emacs-ample-regexps
1092 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
1093 (revision "1"))
1094 (package
1095 (name "emacs-ample-regexps")
1096 (version (git-version "0.1" revision commit))
1097 (source
1098 (origin
1099 (method git-fetch)
1100 (uri (git-reference
1101 (url "https://github.com/immerrr/ample-regexps.el")
1102 (commit commit)))
1103 (file-name (git-file-name name version))
1104 (sha256
1105 (base32
1106 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
1107 (build-system emacs-build-system)
1108 (native-inputs
1109 `(("ert-runner" ,emacs-ert-runner)))
1110 (arguments
1111 `(#:tests? #t
1112 #:test-command '("ert-runner" "-l" "ample-regexps")))
1113 (home-page "https://github.com/immerrr/ample-regexps.el")
1114 (synopsis "Compose and reuse Emacs regexps")
1115 (description
1116 "This package allows common parts of regexps to be easily picked out
1117 and reused.")
1118 (license license:gpl3+))))
1119
1120 (define-public emacs-ample-theme
1121 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
1122 (revision "1"))
1123 (package
1124 (name "emacs-ample-theme")
1125 (version (git-version "0.0.0" revision commit))
1126 (source (origin
1127 (method git-fetch)
1128 (uri (git-reference
1129 (url "https://github.com/jordonbiondo/ample-theme")
1130 (commit commit)))
1131 (file-name (git-file-name name version))
1132 (sha256
1133 (base32
1134 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
1135 (build-system emacs-build-system)
1136 (home-page "https://github.com/jordonbiondo/ample-theme")
1137 (synopsis "Theme for Emacs providing dark, light, and flat versions")
1138 (description "Ample themes is a collection of three themes sharing a
1139 similar pallet with a light, dark and flat versions with a focus on being easy
1140 on the eyes during night and day. They only support GUI and 256 colour
1141 terminals.")
1142 (license license:gpl3+))))
1143
1144 (define-public emacs-reformatter
1145 (package
1146 (name "emacs-reformatter")
1147 (version "0.4")
1148 (source
1149 (origin
1150 (method git-fetch)
1151 (uri (git-reference
1152 (url "https://github.com/purcell/reformatter.el.git")
1153 (commit version)))
1154 (file-name (git-file-name name version))
1155 (sha256
1156 (base32
1157 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
1158 (build-system emacs-build-system)
1159 (home-page "https://github.com/purcell/reformatter.el")
1160 (synopsis "Define commands which run reformatters on the current buffer")
1161 (description
1162 "This library lets elisp authors easily define an idiomatic command to
1163 reformat the current buffer using a command-line program, together with an
1164 optional minor mode which can apply this command automatically on save.")
1165 (license license:gpl3+)))
1166
1167 (define-public emacs-relint
1168 (package
1169 (name "emacs-relint")
1170 (version "1.17")
1171 (source
1172 (origin
1173 (method url-fetch)
1174 (uri (string-append
1175 "https://elpa.gnu.org/packages/relint-" version ".tar"))
1176 (sha256
1177 (base32 "1nv13dqdhf72c1jgk1ml4k6jqb8wsyphcx2vhsyhig5198lg4kd7"))))
1178 (build-system emacs-build-system)
1179 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1180 (home-page "https://github.com/mattiase/relint")
1181 (synopsis "Elisp regexp mistake finder")
1182 (description
1183 "Relint (regular expression lint) scans Elisp files for mistakes in
1184 regexps, including deprecated syntax and bad practice. It also checks the
1185 regexp-like arguments to @code{skip-chars-forward} and
1186 @code{skip-chars-backward}.")
1187 (license license:gpl3+)))
1188
1189 (define-public emacs-bug-hunter
1190 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1191 (revision "1"))
1192 (package
1193 (name "emacs-bug-hunter")
1194 (version (git-version "1.3.1" revision commit))
1195 (source
1196 (origin
1197 (method git-fetch)
1198 (uri (git-reference
1199 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1200 (commit commit)))
1201 (file-name (git-file-name name commit))
1202 (sha256
1203 (base32
1204 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1205 (build-system emacs-build-system)
1206 (propagated-inputs
1207 `(("emacs-seq" ,emacs-seq)))
1208 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1209 (synopsis "Hunt down errors by bisecting elisp files")
1210 (description
1211 "The Bug Hunter is an Emacs library that finds the source of an error
1212 or unexpected behavior inside an elisp configuration file (typically
1213 @file{init.el} or @file{.emacs}).")
1214 (license license:gpl3+))))
1215
1216 \f
1217 ;;;
1218 ;;; Web browsing.
1219 ;;;
1220
1221 (define-public emacs-w3m
1222 ;; Emacs-w3m follows a "rolling release" model.
1223 (package
1224 (name "emacs-w3m")
1225 (version "2018-11-11")
1226 (source (origin
1227 (method cvs-fetch)
1228 (uri (cvs-reference
1229 (root-directory
1230 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1231 (module "emacs-w3m")
1232 (revision version)))
1233 (file-name (string-append name "-" version "-checkout"))
1234 (sha256
1235 (base32
1236 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1237 (build-system gnu-build-system)
1238 (native-inputs `(("autoconf" ,autoconf)
1239 ("texinfo" ,texinfo)
1240 ("emacs" ,emacs-minimal)))
1241 (inputs `(("w3m" ,w3m)
1242 ("imagemagick" ,imagemagick)))
1243 (arguments
1244 `(#:modules ((guix build gnu-build-system)
1245 (guix build utils)
1246 (guix build emacs-utils))
1247 #:imported-modules (,@%gnu-build-system-modules
1248 (guix build emacs-utils))
1249 #:configure-flags
1250 (let ((out (assoc-ref %outputs "out")))
1251 (list (string-append "--with-lispdir="
1252 out "/share/emacs/site-lisp")
1253 (string-append "--with-icondir="
1254 out "/share/images/emacs-w3m")
1255 ;; Leave .el files uncompressed, otherwise GC can't
1256 ;; identify run-time dependencies. See
1257 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1258 "--without-compress-install"))
1259 #:tests? #f ; no check target
1260 #:phases
1261 (modify-phases %standard-phases
1262 (add-after 'unpack 'autoconf
1263 (lambda _
1264 (invoke "autoconf")))
1265 (add-before 'configure 'support-emacs!
1266 (lambda _
1267 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1268 ;; unsupported.
1269 (substitute* "configure"
1270 (("EMACS_FLAVOR=unsupported")
1271 "EMACS_FLAVOR=emacs"))
1272 #t))
1273 (add-before 'build 'patch-exec-paths
1274 (lambda* (#:key inputs outputs #:allow-other-keys)
1275 (let ((out (assoc-ref outputs "out"))
1276 (w3m (assoc-ref inputs "w3m"))
1277 (imagemagick (assoc-ref inputs "imagemagick"))
1278 (coreutils (assoc-ref inputs "coreutils")))
1279 (make-file-writable "w3m.el")
1280 (emacs-substitute-variables "w3m.el"
1281 ("w3m-command" (string-append w3m "/bin/w3m"))
1282 ("w3m-touch-command"
1283 (string-append coreutils "/bin/touch"))
1284 ("w3m-icon-directory"
1285 (string-append out "/share/images/emacs-w3m")))
1286 (make-file-writable "w3m-image.el")
1287 (emacs-substitute-variables "w3m-image.el"
1288 ("w3m-imagick-convert-program"
1289 (string-append imagemagick "/bin/convert"))
1290 ("w3m-imagick-identify-program"
1291 (string-append imagemagick "/bin/identify")))
1292 #t)))
1293 (replace 'install
1294 (lambda* (#:key outputs #:allow-other-keys)
1295 (invoke "make" "install" "install-icons")
1296 (with-directory-excursion
1297 (string-append (assoc-ref outputs "out")
1298 "/share/emacs/site-lisp")
1299 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1300 (symlink "w3m-load.el" "w3m-autoloads.el")
1301 #t))))))
1302 (home-page "http://emacs-w3m.namazu.org/")
1303 (synopsis "Simple Web browser for Emacs based on w3m")
1304 (description
1305 "Emacs-w3m is an emacs interface for the w3m web browser.")
1306 (license license:gpl2+)))
1307
1308 (define-public emacs-wget
1309 (package
1310 (name "emacs-wget")
1311 (version "0.5.0")
1312 (source (origin
1313 (method url-fetch)
1314 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1315 version ".orig.tar.gz"))
1316 (sha256
1317 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1318 (build-system gnu-build-system)
1319 (inputs `(("wget" ,wget)))
1320 (native-inputs `(("emacs" ,emacs-minimal)))
1321 (arguments
1322 `(#:modules ((guix build gnu-build-system)
1323 (guix build utils)
1324 (guix build emacs-utils))
1325 #:imported-modules (,@%gnu-build-system-modules
1326 (guix build emacs-utils))
1327 #:tests? #f ; no check target
1328 #:phases
1329 (modify-phases %standard-phases
1330 (replace 'configure
1331 (lambda* (#:key outputs #:allow-other-keys)
1332 (substitute* "Makefile"
1333 (("/usr/local") (assoc-ref outputs "out"))
1334 (("/site-lisp/emacs-wget") "/site-lisp"))
1335 #t))
1336 (add-before 'build 'patch-exec-paths
1337 (lambda* (#:key inputs outputs #:allow-other-keys)
1338 (let ((wget (assoc-ref inputs "wget")))
1339 (emacs-substitute-variables "wget.el"
1340 ("wget-command" (string-append wget "/bin/wget"))))
1341 #t))
1342 (add-after 'install 'post-install
1343 (lambda* (#:key outputs #:allow-other-keys)
1344 (emacs-generate-autoloads
1345 "wget" (string-append (assoc-ref outputs "out")
1346 "/share/emacs/site-lisp/"))
1347 #t)))))
1348 (home-page "https://www.emacswiki.org/emacs/EmacsWget")
1349 (synopsis "Simple file downloader for Emacs based on wget")
1350 (description
1351 "Emacs-wget is an emacs interface for the wget file downloader.")
1352 (license license:gpl2+)))
1353
1354 (define-public emacs-eww-lnum
1355 (package
1356 (name "emacs-eww-lnum")
1357 (version "1.1")
1358 (source (origin
1359 (method git-fetch)
1360 (uri (git-reference
1361 (url "https://github.com/m00natic/eww-lnum.git")
1362 (commit version)))
1363 (file-name (git-file-name name version))
1364 (sha256
1365 (base32
1366 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
1367 (build-system emacs-build-system)
1368 (home-page "https://github.com/m00natic/eww-lnum")
1369 (synopsis "Conkeror-like functionality for Eww")
1370 (description "This is extension to the Emacs browser Eww that adds
1371 Conkeror-like functionality. In short, currently visible links, forms,
1372 buttons are temporarily assigned numbers with which the former can be
1373 immediately activated. Also filtering can be applied so selection can be
1374 incrementally confined in Isearch manner.")
1375 (license license:gpl3+)))
1376
1377
1378 \f
1379 ;;;
1380 ;;; Multimedia.
1381 ;;;
1382
1383 (define-public emacs-emms
1384 (package
1385 (name "emacs-emms")
1386 (version "5.4")
1387 (source
1388 (origin
1389 (method url-fetch)
1390 (uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz"))
1391 (sha256
1392 (base32 "1nd7sb6pva7qb1ki6w0zhd6zvqzd7742kaqi0f3v4as5jh09l6nr"))
1393 (modules '((guix build utils)))
1394 (snippet
1395 '(begin
1396 (substitute* "Makefile"
1397 (("/usr/bin/install-info")
1398 ;; No need to use 'install-info' since it would create a
1399 ;; useless 'dir' file.
1400 "true")
1401 (("^INFODIR=.*")
1402 ;; Install Info files to $out/share/info, not $out/info.
1403 "INFODIR := $(PREFIX)/share/info\n")
1404 (("/site-lisp/emms")
1405 ;; Install directly in share/emacs/site-lisp, not in a
1406 ;; sub-directory.
1407 "/site-lisp")
1408 (("^all: (.*)\n" _ rest)
1409 ;; Build 'emms-print-metadata'.
1410 (string-append "all: " rest " emms-print-metadata\n")))
1411 #t))))
1412 (build-system gnu-build-system)
1413 (arguments
1414 `(#:modules ((guix build gnu-build-system)
1415 (guix build utils)
1416 (guix build emacs-utils)
1417 (ice-9 ftw))
1418 #:imported-modules (,@%gnu-build-system-modules
1419 (guix build emacs-utils))
1420
1421 #:phases
1422 (modify-phases %standard-phases
1423 (replace 'configure
1424 (lambda* (#:key inputs outputs #:allow-other-keys)
1425 (let ((out (assoc-ref outputs "out"))
1426 (flac (assoc-ref inputs "flac"))
1427 (vorbis (assoc-ref inputs "vorbis-tools"))
1428 (alsa (assoc-ref inputs "alsa-utils"))
1429 (mpg321 (assoc-ref inputs "mpg321"))
1430 (mp3info (assoc-ref inputs "mp3info"))
1431 (mutagen (assoc-ref inputs "mutagen"))
1432 (opus (assoc-ref inputs "opus-tools")))
1433 ;; Specify the installation directory.
1434 (substitute* "Makefile"
1435 (("PREFIX=.*$")
1436 (string-append "PREFIX := " out "\n")))
1437
1438 (setenv "SHELL" (which "sh"))
1439 (setenv "CC" "gcc")
1440
1441 ;; Specify the absolute file names of the various
1442 ;; programs so that everything works out-of-the-box.
1443 (with-directory-excursion "lisp"
1444 (emacs-substitute-variables
1445 "emms-player-mpg321-remote.el"
1446 ("emms-player-mpg321-remote-command"
1447 (string-append mpg321 "/bin/mpg321")))
1448 (substitute* "emms-player-simple.el"
1449 (("\"ogg123\"")
1450 (string-append "\"" vorbis "/bin/ogg123\"")))
1451 (substitute* "emms-player-simple.el"
1452 (("\"mpg321\"")
1453 (string-append "\"" mpg321 "/bin/mpg321\"")))
1454 (emacs-substitute-variables "emms-info-ogginfo.el"
1455 ("emms-info-ogginfo-program-name"
1456 (string-append vorbis "/bin/ogginfo")))
1457 (emacs-substitute-variables "emms-info-opusinfo.el"
1458 ("emms-info-opusinfo-program-name"
1459 (string-append opus "/bin/opusinfo")))
1460 (emacs-substitute-variables "emms-info-libtag.el"
1461 ("emms-info-libtag-program-name"
1462 (string-append out "/bin/emms-print-metadata")))
1463 (emacs-substitute-variables "emms-info-mp3info.el"
1464 ("emms-info-mp3info-program-name"
1465 (string-append mp3info "/bin/mp3info")))
1466 (emacs-substitute-variables "emms-info-metaflac.el"
1467 ("emms-info-metaflac-program-name"
1468 (string-append flac "/bin/metaflac")))
1469 (emacs-substitute-variables "emms-source-file.el"
1470 ("emms-source-file-gnu-find" (which "find")))
1471 (substitute* "emms-volume-amixer.el"
1472 (("\"amixer\"")
1473 (string-append "\"" alsa "/bin/amixer\"")))
1474 (substitute* "emms-tag-editor.el"
1475 (("\"mid3v2\"")
1476 (string-append "\"" mutagen "/bin/mid3v2\"")))
1477 #t))))
1478 (add-before 'install 'pre-install
1479 (lambda* (#:key outputs #:allow-other-keys)
1480 ;; The 'install' rule expects the target directories to exist.
1481 (let* ((out (assoc-ref outputs "out"))
1482 (bin (string-append out "/bin"))
1483 (man1 (string-append out "/share/man/man1")))
1484 (mkdir-p bin)
1485 (mkdir-p man1)
1486
1487 ;; Ensure that files are not rejected by gzip
1488 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1489 (ftw "." (lambda (file stat flag)
1490 (unless (<= early-1980 (stat:mtime stat))
1491 (utime file early-1980 early-1980))
1492 #t)))
1493 #t)))
1494 (add-after 'install 'post-install
1495 (lambda* (#:key outputs #:allow-other-keys)
1496 (let ((out (assoc-ref outputs "out")))
1497 (symlink "emms-auto.el"
1498 (string-append out "/share/emacs/site-lisp/"
1499 "emms-autoloads.el")))
1500 #t)))
1501 #:tests? #f))
1502 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1503 ("texinfo" ,texinfo)))
1504 (inputs `(("alsa-utils" ,alsa-utils)
1505 ("flac" ,flac) ;for metaflac
1506 ("vorbis-tools" ,vorbis-tools)
1507 ("mpg321" ,mpg321)
1508 ("taglib" ,taglib)
1509 ("mp3info" ,mp3info)
1510 ("mutagen" ,python-mutagen)
1511 ("opus-tools" ,opus-tools)))
1512 (properties '((upstream-name . "emms")))
1513 (synopsis "Emacs Multimedia System")
1514 (description
1515 "EMMS is the Emacs Multimedia System. It is a small front-end which
1516 can control one of the supported external players. Thus, it supports
1517 whatever formats are supported by your music player. It also
1518 supports tagging and playlist management, all behind a clean and
1519 light user interface.")
1520 (home-page "https://www.gnu.org/software/emms/")
1521 (license license:gpl3+)))
1522
1523 (define-public emacs-emms-mode-line-cycle
1524 (package
1525 (name "emacs-emms-mode-line-cycle")
1526 (version "0.2.5")
1527 (source
1528 (origin
1529 (method git-fetch)
1530 (uri (git-reference
1531 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1532 (commit version)))
1533 (file-name (git-file-name name version))
1534 (sha256
1535 (base32
1536 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1537 (build-system emacs-build-system)
1538 (propagated-inputs
1539 `(("emms" ,emacs-emms)))
1540 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1541 (synopsis "Display the EMMS mode line as a ticker")
1542 (description
1543 "This is a minor mode for updating the EMMS mode-line string cyclically
1544 within a specified width. It is useful for displaying long track titles.")
1545 (license license:gpl3+)))
1546
1547 \f
1548 ;;;
1549 ;;; Miscellaneous.
1550 ;;;
1551
1552 (define-public emacs-ace-link
1553 (package
1554 (name "emacs-ace-link")
1555 (version "0.5.0")
1556 (source
1557 (origin
1558 (method git-fetch)
1559 (uri (git-reference
1560 (url "https://github.com/abo-abo/ace-link.git")
1561 (commit version)))
1562 (file-name (git-file-name name version))
1563 (sha256
1564 (base32
1565 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1566 (build-system emacs-build-system)
1567 (propagated-inputs
1568 `(("emacs-avy" ,emacs-avy)))
1569 (home-page "https://github.com/abo-abo/ace-link")
1570 (synopsis "Quickly follow links in Emacs")
1571 (description
1572 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1573 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1574 @code{goto-address-mode} buffer, you can tab through the links to select the
1575 one you want. This is an O(N) operation, where the N is the amount of links.
1576 This package turns this into an O(1) operation. It does so by assigning a
1577 letter to each link using avy.")
1578 (license license:gpl3+)))
1579
1580 (define-public emacs-auto-sudoedit
1581 (package
1582 (name "emacs-auto-sudoedit")
1583 (version "1.0.0")
1584 (source
1585 (origin
1586 (method git-fetch)
1587 (uri (git-reference
1588 (url "https://github.com/ncaq/auto-sudoedit.git")
1589 (commit (string-append "v" version))))
1590 (file-name (git-file-name name version))
1591 (sha256
1592 (base32 "10p0hc95j382km8655pqld9wxg10j1f36czzppkdd6a55cxarv9f"))))
1593 (propagated-inputs
1594 `(("emacs-f" ,emacs-f)))
1595 (build-system emacs-build-system)
1596 (home-page "https://github.com/ncaq/auto-sudoedit")
1597 (synopsis "Automatically re-open read-only files with sudo")
1598 (description
1599 "This package automatically reopens a file or directory with
1600 @command{sudo} if it cannot write to it.")
1601 (license license:expat)))
1602
1603 (define-public emacs-bbdb
1604 (package
1605 (name "emacs-bbdb")
1606 (version "3.2")
1607 (source
1608 (origin
1609 (method url-fetch)
1610 (uri (string-append "https://elpa.gnu.org/packages/"
1611 "bbdb-" version ".tar"))
1612 (sha256
1613 (base32 "1p56dg0mja2b2figy7yhdx714zd5j6njzn0k07zjka3jc06izvjx"))))
1614 (build-system emacs-build-system)
1615 (arguments
1616 ;; XXX: The following file cannot be byte-compiled, because et requires
1617 ;; `vm-autoloads', from the VM package, with is neither in Emacs nor
1618 ;; packaged in Guix. So, don't bother for now.
1619 `(#:exclude '("bbdb-vm\\.el")))
1620 (home-page "http://elpa.gnu.org/packages/bbdb.html")
1621 (synopsis "Contact management utility for Emacs")
1622 (description
1623 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1624 an address book for email and snail mail addresses, phone numbers and the
1625 like. It can be linked with various Emacs mail clients (Message and Mail
1626 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1627 (license license:gpl3+)))
1628
1629 (define-public emacs-aggressive-indent
1630 (package
1631 (name "emacs-aggressive-indent")
1632 (version "1.8.3")
1633 (source (origin
1634 (method url-fetch)
1635 (uri (string-append "https://elpa.gnu.org/packages/"
1636 "aggressive-indent-" version ".el"))
1637 (sha256
1638 (base32
1639 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1640 (build-system emacs-build-system)
1641 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1642 (synopsis "Minor mode to aggressively keep your code always indented")
1643 (description
1644 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1645 always indented. It reindents after every change, making it more reliable
1646 than @code{electric-indent-mode}.")
1647 (license license:gpl2+)))
1648
1649 (define-public emacs-ctrlf
1650 (package
1651 (name "emacs-ctrlf")
1652 (version "1.0")
1653 (source
1654 (origin
1655 (method git-fetch)
1656 (uri (git-reference
1657 (url "https://github.com/raxod502/ctrlf.git")
1658 (commit (string-append "v" version))))
1659 (file-name (git-file-name name version))
1660 (sha256
1661 (base32 "10gnhafas54zj3z9173h1g7b519ac4i26afclmw3w1pk6qyyb03z"))))
1662 (build-system emacs-build-system)
1663 (home-page "https://github.com/raxod502/ctrlf/")
1664 (synopsis "Single-buffer text search in Emacs")
1665 (description "CTRLF (pronounced @emph{control F}) is an intuitive and
1666 efficient solution for single-buffer text search in Emacs, replacing packages
1667 such as Isearch, Swiper, and helm-swoop. It takes inspiration from the
1668 widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as
1669 web browsers, but follows the flow and keybindings of Isearch.")
1670 (license license:expat)))
1671
1672 (define-public emacs-dhall-mode
1673 ;; There is no proper release. The base version is extracted from the
1674 ;; "Version" keyword in the main file.
1675 (let ((revision "0")
1676 (commit "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2"))
1677 (package
1678 (name "emacs-dhall-mode")
1679 (version (git-version "0.1.3" revision commit))
1680 (source
1681 (origin
1682 (method git-fetch)
1683 (uri
1684 (git-reference
1685 (url "https://github.com/psibi/dhall-mode")
1686 (commit commit)))
1687 (file-name (git-file-name name version))
1688 (sha256
1689 (base32 "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384"))))
1690 (build-system emacs-build-system)
1691 (propagated-inputs
1692 `(("emacs-reformatter" ,emacs-reformatter)))
1693 (home-page "https://github.com/psibi/dhall-mode")
1694 (synopsis "Major mode for working with Dhall configuration language")
1695 (description
1696 "Dhall-mode provides an Emacs Major mode for working with the Dhall
1697 configuration language. It features:
1698
1699 @itemize
1700 @item Syntax highlighting
1701 @item Multiline support for String
1702 @item Basic indentation, commenting
1703 @item Automatic formatting on save using dhall-format.
1704 @item Error highlighting.
1705 @end itemize")
1706 (license license:gpl3+))))
1707
1708 (define-public emacs-link-hint
1709 ;; Last release was in 2015.
1710 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1711 (revision "1"))
1712 (package
1713 (name "emacs-link-hint")
1714 (version (git-version "0.1" revision commit))
1715 (source
1716 (origin
1717 (method git-fetch)
1718 (uri (git-reference
1719 (url "https://github.com/noctuid/link-hint.el")
1720 (commit commit)))
1721 (file-name (git-file-name name version))
1722 (sha256
1723 (base32
1724 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1725 (build-system emacs-build-system)
1726 (propagated-inputs
1727 `(("emacs-avy" ,emacs-avy)))
1728 (home-page "https://github.com/noctuid/link-hint.el")
1729 (synopsis "Vimperator-style link-hinting in Emacs")
1730 (description "This package provides commands for visiting and acting on
1731 links.")
1732 (license license:gpl3+))))
1733
1734 (define-public emacs-ag
1735 (package
1736 (name "emacs-ag")
1737 (version "0.48")
1738 (source (origin
1739 (method git-fetch)
1740 (uri (git-reference
1741 (url "https://github.com/Wilfred/ag.el.git")
1742 (commit version)))
1743 (file-name (git-file-name name version))
1744 (sha256
1745 (base32
1746 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
1747 (build-system emacs-build-system)
1748 (arguments
1749 `(#:phases
1750 (modify-phases %standard-phases
1751 (add-before 'install 'make-info
1752 (lambda _
1753 (with-directory-excursion "docs"
1754 (invoke "make" "info"))))
1755 (add-after 'install 'install-info
1756 (lambda* (#:key outputs #:allow-other-keys)
1757 (let* ((out (assoc-ref outputs "out"))
1758 (info (string-append out "/share/info")))
1759 (install-file "docs/_build/texinfo/agel.info" info)
1760 #t))))))
1761 (native-inputs
1762 `(("python-sphinx" ,python-sphinx)
1763 ("texinfo" ,texinfo)))
1764 (propagated-inputs
1765 `(("dash" ,emacs-dash)
1766 ("s" ,emacs-s)
1767 ;; We need to use 'ag' as the executable on remote systems.
1768 ("the-silver-searcher" ,the-silver-searcher)))
1769 (home-page "https://github.com/Wilfred/ag.el")
1770 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1771 (description "This package provides the ability to use the silver
1772 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1773 include version control system awareness, use of Perl compatible regular
1774 expressions, editing the search results directly and searching file names
1775 rather than the contents of files.")
1776 (license license:gpl3+)))
1777
1778 (define-public emacs-async
1779 (package
1780 (name "emacs-async")
1781 (home-page "https://github.com/jwiegley/emacs-async")
1782 (version "1.9.4")
1783 (source (origin
1784 (method git-fetch)
1785 (uri (git-reference
1786 (url home-page)
1787 (commit (string-append "v" version))))
1788 (file-name (git-file-name name version))
1789 (sha256
1790 (base32
1791 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
1792 (build-system emacs-build-system)
1793 (synopsis "Asynchronous processing in Emacs")
1794 (description
1795 "This package provides the ability to call asynchronous functions and
1796 processes. For example, it can be used to run dired commands (for copying,
1797 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1798 as a library for other Emacs packages.")
1799 (license license:gpl3+)))
1800
1801 (define-public emacs-auctex
1802 (package
1803 (name "emacs-auctex")
1804 (version "12.2.3")
1805 (source
1806 (origin
1807 (method url-fetch)
1808 (uri (string-append "https://elpa.gnu.org/packages/"
1809 "auctex-" version ".tar"))
1810 (sha256
1811 (base32 "1rbn6pghkll5apjv1fyn82v523fch9l5ksi5lnh439nq460wx1yf"))))
1812 (build-system emacs-build-system)
1813 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1814 ;; ('emacs-minimal' does not provide dbus).
1815 (arguments
1816 `(#:emacs ,emacs
1817 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1818 #:exclude '("^tests/" "^latex/README")
1819 #:phases
1820 (modify-phases %standard-phases
1821 (add-after 'install 'install-doc
1822 (lambda* (#:key outputs #:allow-other-keys)
1823 (let* ((out (assoc-ref outputs "out"))
1824 (etc-dir (string-append out "/share/" ,name "/"
1825 ,version "/etc")))
1826 (with-directory-excursion "doc"
1827 (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm
1828 (invoke "pdftex" "tex-ref")
1829 (install-file "tex-ref.pdf"
1830 (string-append etc-dir "/refcards")))
1831 #t))))))
1832 (native-inputs
1833 `(("perl" ,perl)))
1834 (inputs
1835 `(("texlive" ,(texlive-union (list texlive-amsfonts)))))
1836 (home-page "https://www.gnu.org/software/auctex/")
1837 (synopsis "Integrated environment for TeX")
1838 (description
1839 "AUCTeX is a comprehensive customizable integrated environment for
1840 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1841 or XEmacs.")
1842 (license license:gpl3+)))
1843
1844 (define-public emacs-autothemer
1845 (package
1846 (name "emacs-autothemer")
1847 (version "0.2.2")
1848 (source
1849 (origin
1850 (method git-fetch)
1851 (uri (git-reference
1852 (url "https://github.com/sebastiansturm/autothemer.git")
1853 (commit version)))
1854 (file-name (git-file-name name version))
1855 (sha256
1856 (base32
1857 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1858 (build-system emacs-build-system)
1859 (propagated-inputs
1860 `(("emacs-dash" ,emacs-dash)))
1861 (home-page "https://github.com/sebastiansturm/autothemer")
1862 (synopsis "Conveniently create Emacs themes")
1863 (description
1864 "Autothemer provides a thin layer on top of @code{deftheme} and
1865 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1866 a set of simplified face specifications and a user-supplied color palette")
1867 (license license:gpl3+)))
1868
1869 (define-public emacs-howm
1870 (package
1871 (name "emacs-howm")
1872 (version "1.4.5")
1873 (source
1874 (origin
1875 (method url-fetch)
1876 (uri (string-append "https://howm.sourceforge.jp/a/howm-"
1877 version ".tar.gz"))
1878 (sha256
1879 (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi"))))
1880 (build-system gnu-build-system)
1881 (native-inputs
1882 `(("emacs" ,emacs-minimal)))
1883 (arguments
1884 `(#:configure-flags
1885 (list (string-append "--with-howmdir=" %output
1886 "/share/emacs/site-lisp/"))
1887 #:modules ((guix build gnu-build-system)
1888 ((guix build emacs-build-system) #:prefix emacs:)
1889 (guix build utils))
1890 #:imported-modules (,@%gnu-build-system-modules
1891 (guix build emacs-build-system)
1892 (guix build emacs-utils))
1893 #:phases
1894 (modify-phases %standard-phases
1895 (add-after 'install 'make-autoloads
1896 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1897 (home-page "https://howm.osdn.jp/")
1898 (synopsis "Note-taking tool for Emacs")
1899 (description "Howm is a note-taking tool for Emacs. Like
1900 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1901 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1902 (license license:gpl1+)))
1903
1904 (define-public emacs-bm
1905 (package
1906 (name "emacs-bm")
1907 (version "201905")
1908 (source
1909 (origin
1910 (method git-fetch)
1911 (uri (git-reference
1912 (url "https://github.com/joodland/bm.git")
1913 (commit version)))
1914 (file-name (git-file-name name version))
1915 (sha256
1916 (base32 "180b3rc13asrmsdh7v405d54jkrininvaj52xhp71vw91ng51dkn"))))
1917 (build-system emacs-build-system)
1918 (home-page "https://github.com/joodland/bm")
1919 (synopsis "Visual bookmarks for Emacs")
1920 (description "This package provides visible, buffer local bookmarks and
1921 the ability to jump forward and backward to the next bookmark.")
1922 (license license:gpl2+)))
1923
1924 (define-public emacs-calfw
1925 (package
1926 (name "emacs-calfw")
1927 (version "1.6")
1928 (source
1929 (origin
1930 (method git-fetch)
1931 (uri (git-reference
1932 (url "https://github.com/kiwanami/emacs-calfw.git")
1933 (commit (string-append "v" version))))
1934 (file-name (git-file-name name version))
1935 (sha256
1936 (base32
1937 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1938 (build-system emacs-build-system)
1939 (propagated-inputs
1940 `(("emacs-howm" ,emacs-howm)))
1941 (home-page "https://github.com/kiwanami/emacs-calfw/")
1942 (synopsis "Calendar framework for Emacs")
1943 (description
1944 "This package displays a calendar view with various schedule data in the
1945 Emacs buffer.")
1946 (license license:gpl3+)))
1947
1948 (define-public emacs-caps-lock
1949 (package
1950 (name "emacs-caps-lock")
1951 (version "1.0")
1952 (source
1953 (origin
1954 (method url-fetch)
1955 (uri (string-append "https://elpa.gnu.org/packages/"
1956 "caps-lock-" version ".el"))
1957 (sha256
1958 (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva"))))
1959 (build-system emacs-build-system)
1960 (home-page "http://elpa.gnu.org/packages/caps-lock.html")
1961 (synopsis "Caps Lock as a minor mode")
1962 (description
1963 "This package provides a minor mode to emulate the behavior of a Caps
1964 Lock key.")
1965 (license license:gpl3+)))
1966
1967 (define-public emacs-chronometrist
1968 (package
1969 (name "emacs-chronometrist")
1970 (version "0.4.3")
1971 (source
1972 (origin
1973 (method git-fetch)
1974 (uri (git-reference
1975 (url "https://framagit.org/contrapunctus/chronometrist.git")
1976 (commit (string-append "v" version))))
1977 (file-name (git-file-name name version))
1978 (sha256
1979 (base32 "1ljjqzghcap4admv0hvw6asm148b80mfgjgxjjcw6qc95fkjjjlr"))))
1980 (build-system emacs-build-system)
1981 (propagated-inputs
1982 `(("emacs-dash" ,emacs-dash)
1983 ("emacs-s" ,emacs-s)))
1984 (home-page "https://framagit.org/contrapunctus/chronometrist")
1985 (synopsis "Time tracker for Emacs")
1986 (description "Chronometrist is a time tracker in Emacs, largely modelled
1987 after the Android application, @emph{A Time Tracker}.
1988
1989 Its features are:
1990 @itemize
1991 @item Simple and efficient to use,
1992 @item Displays useful information about your time usage,
1993 @item Support for both mouse and keyboard,
1994 @item Human errors in tracking are easily fixed by editing a plain text file,
1995 @item Hooks to let you perform arbitrary actions when starting/stopping tasks.
1996 @end itemize")
1997 ;; Software is dual-licensed.
1998 (license (list license:unlicense license:wtfpl2))))
1999
2000 (define-public emacs-direnv
2001 (package
2002 (name "emacs-direnv")
2003 (version "2.0.0")
2004 (source
2005 (origin
2006 (method git-fetch)
2007 (uri (git-reference
2008 (url "https://github.com/wbolster/emacs-direnv.git")
2009 (commit version)))
2010 (file-name (git-file-name name version))
2011 (sha256
2012 (base32
2013 "005ibyzsx1fdyrl5iyhqpb1bg83mphzahq7zvw58x00syyqi2z49"))))
2014 (build-system emacs-build-system)
2015 (propagated-inputs
2016 `(("dash" ,emacs-dash)
2017 ("with-editor" ,emacs-with-editor)))
2018 (home-page "https://github.com/wbolster/emacs-direnv")
2019 (synopsis "Direnv integration for Emacs")
2020 (description
2021 "This package provides support for invoking direnv to get the environment
2022 for the current file and updating the environment within Emacs to match.
2023
2024 Direnv can be invoked manually, and a global minor mode is included that will
2025 update the environment when the active buffer changes.
2026
2027 Using emacs-direnv means that programs started from Emacs will use the
2028 environment set through Direnv.")
2029 (license license:gpl3+)))
2030
2031 (define-public emacs-elf-mode
2032 (package
2033 (name "emacs-elf-mode")
2034 (version "0.1.0")
2035 (source
2036 (origin
2037 (method git-fetch)
2038 (uri
2039 (git-reference
2040 (url "https://github.com/abo-abo/elf-mode")
2041 (commit version)))
2042 (file-name (git-file-name name version))
2043 (sha256
2044 (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"))))
2045 (build-system emacs-build-system)
2046 (home-page "https://github.com/abo-abo/elf-mode")
2047 (synopsis "Show symbol list when opening a binary file in Emacs")
2048 (description "This Emacs package provides a command showing the symbols
2049 that the binary uses instead of the actual binary contents.")
2050 (license license:gpl3+)))
2051
2052 (define-public emacs-form-feed
2053 (package
2054 (name "emacs-form-feed")
2055 (version "0.2.2")
2056 (source
2057 (origin
2058 (method git-fetch)
2059 (uri (git-reference
2060 (url "https://github.com/wasamasa/form-feed.git")
2061 (commit version)))
2062 (file-name (git-file-name name version))
2063 (sha256
2064 (base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2"))))
2065 (build-system emacs-build-system)
2066 (home-page "https://github.com/wasamasa/form-feed")
2067 (synopsis "Display ^L glyphs as horizontal lines")
2068 (description
2069 "This package provides a minor mode @code{form-feed-mode} to display page
2070 delimiters which usually appear as ^L glyphs on a single line as horizontal
2071 lines spanning the entire window. The minor mode is suitable for inclusion
2072 into mode hooks and is intended to be used that way.")
2073 (license license:gpl3+)))
2074
2075 (define-public emacs-ggtags
2076 (package
2077 (name "emacs-ggtags")
2078 (version "0.8.13")
2079 (source
2080 (origin
2081 (method url-fetch)
2082 (uri (string-append "https://elpa.gnu.org/packages/ggtags-"
2083 version ".el"))
2084 (sha256
2085 (base32
2086 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
2087 (build-system emacs-build-system)
2088 (inputs
2089 `(("global" ,global)))
2090 (arguments
2091 `(#:phases
2092 (modify-phases %standard-phases
2093 (add-after 'unpack 'configure
2094 (lambda* (#:key inputs #:allow-other-keys)
2095 (chmod "ggtags.el" #o644)
2096 (emacs-substitute-variables "ggtags.el"
2097 ("ggtags-executable-directory"
2098 (string-append (assoc-ref inputs "global") "/bin")))
2099 #t)))))
2100 (home-page "https://github.com/leoliu/ggtags")
2101 (synopsis "Frontend to the GNU Global source code tagging system")
2102 (description "@code{ggtags} provides a frontend to the GNU Global source
2103 code tagging system.
2104
2105 Features:
2106
2107 @itemize
2108 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
2109 @item Automatically update Global's tag files when needed with tuning for
2110 large source trees.
2111 @item Intuitive navigation among multiple matches with mode-line display of
2112 current match, total matches and exit status.
2113 @item Read tag with completion.
2114 @item Show definition at point.
2115 @item Jump to #include files.
2116 @item Support search history and saving a search to register/bookmark.
2117 @item Query replace.
2118 @item Manage Global's environment variables on a per-project basis.
2119 @item Highlight (definition) tag at point.
2120 @item Abbreviated display of file names.
2121 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
2122 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
2123 @code{pygments} backend.
2124 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
2125 @code{cscope} etc.
2126 @item Support projects on remote hosts (e.g. via @code{tramp}).
2127 @item Support eldoc.
2128 @item Search @code{GTAGSLIBPATH} for references and symbols.
2129 @end itemize\n")
2130 (license license:gpl3+)))
2131
2132 (define-public emacs-go-mode
2133 (package
2134 (name "emacs-go-mode")
2135 (version "1.5.0")
2136 (source (origin
2137 (method git-fetch)
2138 (uri (git-reference
2139 (url "https://github.com/dominikh/go-mode.el.git")
2140 (commit (string-append "v" version))))
2141 (file-name (git-file-name name version))
2142 (sha256
2143 (base32
2144 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
2145 (build-system emacs-build-system)
2146 (arguments
2147 `(#:phases
2148 (modify-phases %standard-phases
2149 (add-after 'unpack 'make-writable
2150 (lambda _
2151 (for-each make-file-writable (find-files "." "\\.el$"))
2152 #t)))))
2153 (home-page "https://github.com/dominikh/go-mode.el")
2154 (synopsis "Go mode for Emacs")
2155 (description
2156 "This package provides go-mode, an Emacs mode for working with software
2157 written in the Go programming language.")
2158 (license license:bsd-3)))
2159
2160 (define-public emacs-google-maps
2161 (package
2162 (name "emacs-google-maps")
2163 (version "1.0.0")
2164 (source (origin
2165 (method git-fetch)
2166 (uri (git-reference
2167 (url "https://github.com/jd/google-maps.el.git")
2168 (commit version)))
2169 (file-name (git-file-name name version))
2170 (sha256
2171 (base32
2172 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
2173 (build-system emacs-build-system)
2174 (home-page "https://github.com/jd/google-maps.el")
2175 (synopsis "Access Google Maps from Emacs")
2176 (description "The @code{google-maps} package displays Google
2177 Maps directly inside Emacs.")
2178 (license license:gpl3+)))
2179
2180 (define-public emacs-graphviz-dot-mode
2181 (package
2182 (name "emacs-graphviz-dot-mode")
2183 (version "0.4.2")
2184 (source
2185 (origin
2186 (method git-fetch)
2187 (uri (git-reference
2188 (url "https://github.com/ppareit/graphviz-dot-mode.git")
2189 (commit (string-append "v" version))))
2190 (file-name (git-file-name name version))
2191 (sha256
2192 (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m"))))
2193 (build-system emacs-build-system)
2194 (arguments
2195 `(#:phases
2196 (modify-phases %standard-phases
2197 (add-before 'install 'make-info
2198 (lambda* (#:key inputs #:allow-other-keys)
2199 (with-directory-excursion "texinfo"
2200 (substitute* "Makefile"
2201 (("\\/usr\\/bin\\/gzip")
2202 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
2203 (invoke "make"
2204 "clean"
2205 "info"
2206 (string-append "TEXINFODIR="
2207 (assoc-ref inputs "texinfo")
2208 "/bin")))))
2209 (add-after 'install 'install-info
2210 (lambda* (#:key outputs #:allow-other-keys)
2211 (let* ((out (assoc-ref outputs "out"))
2212 (info (string-append out "/share/info")))
2213 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
2214 #t))))))
2215 (native-inputs
2216 `(("gzip" ,gzip)
2217 ("texinfo" ,texinfo)))
2218 (propagated-inputs
2219 `(("emacs-company" ,emacs-company)))
2220 (home-page "http://ppareit.github.com/graphviz-dot-mode")
2221 (synopsis "Major mode for editing Graphviz DOT files")
2222 (description
2223 "This Emacs package helps you to create @file{.dot} or @file{.gv} files
2224 using the DOT syntax, and use Graphviz to convert these files to diagrams.")
2225 (license license:gpl2+)))
2226
2227 (define-public emacs-imenu-list
2228 (package
2229 (name "emacs-imenu-list")
2230 (version "0.8")
2231 (source
2232 (origin
2233 (method git-fetch)
2234 (uri
2235 (git-reference
2236 (url "https://github.com/bmag/imenu-list")
2237 (commit (string-append "v" version))))
2238 (file-name (git-file-name name version))
2239 (sha256
2240 (base32 "13xh9bdl3k6ccfq83wjmkpi4269qahv4davki4wq18dr4amrzhlx"))))
2241 (build-system emacs-build-system)
2242 (home-page "https://github.com/bmag/imenu-list")
2243 (synopsis
2244 "Automatically tracks the current buffer's imenu entries")
2245 (description
2246 "This Emacs minor mode creates an automatically updated buffer called
2247 @code{*Ilist*} that is populated with the current buffer's imenu entries.
2248 This buffer is typically shown as a sidebar (Emacs vertically splits the
2249 window).")
2250 (license license:gpl3+)))
2251
2252 (define-public emacs-mmm-mode
2253 (package
2254 (name "emacs-mmm-mode")
2255 (version "0.5.7")
2256 (source
2257 (origin
2258 (method git-fetch)
2259 (uri (git-reference
2260 (url "https://github.com/purcell/mmm-mode.git")
2261 (commit version)))
2262 (file-name (git-file-name name version))
2263 (sha256
2264 (base32
2265 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
2266 (build-system gnu-build-system)
2267 (native-inputs
2268 `(("autoconf" ,autoconf)
2269 ("automake" ,automake)
2270 ("emacs" ,emacs-minimal)
2271 ("texinfo" ,texinfo-5))) ;fails to build with Texinfo 6.7
2272 (home-page "https://github.com/purcell/mmm-mode")
2273 (synopsis "Allow multiple major modes in an Emacs buffer")
2274 (description
2275 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
2276 single buffer.")
2277 (license license:gpl3+)))
2278
2279 (define-public emacs-mmt
2280 (package
2281 (name "emacs-mmt")
2282 (version "0.2.0")
2283 (source
2284 (origin
2285 (method git-fetch)
2286 (uri (git-reference
2287 (url "https://github.com/mrkkrp/mmt.git")
2288 (commit version)))
2289 (file-name (git-file-name name version))
2290 (sha256
2291 (base32 "13vbfc5597v0gd87qyhn10f93nb477vjpg3jlpphbax9fvkf4gav"))))
2292 (build-system emacs-build-system)
2293 (home-page "https://github.com/mrkkrp/mmt")
2294 (synopsis "Classic tools to write Emacs Lisp macros")
2295 (description "Emacs MMT is a package that contains classic tools for Emacs
2296 Lisp developers who want to write macros with convenience.")
2297 (license license:gpl3+)))
2298
2299 (define-public emacs-tablist
2300 (package
2301 (name "emacs-tablist")
2302 (version "1.0")
2303 (source (origin
2304 (method git-fetch)
2305 (uri (git-reference
2306 (url "https://github.com/politza/tablist.git")
2307 (commit (string-append "v" version))))
2308 (file-name (git-file-name name version))
2309 (sha256
2310 (base32
2311 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
2312 (build-system emacs-build-system)
2313 (home-page "https://github.com/politza/tablist")
2314 (synopsis "Extension for @code{tabulated-list-mode}")
2315 (description "Tablist is the Emacs package that provides several
2316 additional features to @code{tabulated-list-mode}: it adds marks,
2317 filters, new key bindings and faces. It can be enabled by
2318 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
2319 (license license:gpl3+)))
2320
2321 (define-public emacs-djvu
2322 (package
2323 (name "emacs-djvu")
2324 (version "1.1")
2325 (source
2326 (origin
2327 (method url-fetch)
2328 (uri (string-append "https://elpa.gnu.org/packages/"
2329 "djvu-" version ".el"))
2330 (sha256
2331 (base32 "0njgyx09q225hliacsnjk8wallg5i6xkz6bj501pb05nwqfbvfk7"))))
2332 (build-system emacs-build-system)
2333 (home-page "http://elpa.gnu.org/packages/djvu.html")
2334 (synopsis "Edit and view Djvu files via djvused")
2335 (description
2336 "This package is a front end for the command-line program djvused from
2337 DjVuLibre, see @url{http://djvu.sourceforge.net/}. It assumes you have the
2338 programs @command{djvused}, @command{djview}, @command{ddjvu}, and
2339 @command{djvm} installed.")
2340 (license license:gpl3+)))
2341
2342 (define-public emacs-pabbrev
2343 (package
2344 (name "emacs-pabbrev")
2345 (version "4.2.1")
2346 (source
2347 (origin
2348 (method url-fetch)
2349 (uri (string-append "https://elpa.gnu.org/packages/"
2350 "pabbrev-" version ".el"))
2351 (sha256
2352 (base32 "19v5adk61y8fpigw7k6wz6dj79jwr450hnbi7fj0jvb21cvjmfxh"))))
2353 (build-system emacs-build-system)
2354 (home-page "http://elpa.gnu.org/packages/pabbrev.html")
2355 (synopsis "Predictive abbreviation expansion")
2356 (description
2357 "The code provides a abbreviation expansion for Emacs. It is
2358 fairly similar to Dabbrev expansion, which works based on the contents
2359 of the current buffer (or other buffers).
2360
2361 Predictive abbreviation expansion works based on the previously
2362 written text. Unlike dynamic abbreviation, the text is analysed
2363 during idle time, while Emacs is doing nothing else.")
2364 (license license:gpl3+)))
2365
2366 (define-public emacs-pdf-tools
2367 (package
2368 (name "emacs-pdf-tools")
2369 (version "0.90")
2370 (home-page "https://github.com/politza/pdf-tools")
2371 (source (origin
2372 (method git-fetch)
2373 (uri (git-reference (url home-page)
2374 (commit (string-append "v" version))))
2375 (file-name (git-file-name name version))
2376 (sha256
2377 (base32
2378 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
2379 (build-system gnu-build-system)
2380 (arguments
2381 `(#:tests? #f ; there are no tests
2382 #:modules ((guix build gnu-build-system)
2383 ((guix build emacs-build-system) #:prefix emacs:)
2384 (guix build utils)
2385 (guix build emacs-utils))
2386 #:imported-modules (,@%gnu-build-system-modules
2387 (guix build emacs-build-system)
2388 (guix build emacs-utils))
2389 #:phases
2390 (modify-phases %standard-phases
2391 ;; Build server side using 'gnu-build-system'.
2392 (add-after 'unpack 'enter-server-dir
2393 (lambda _ (chdir "server") #t))
2394 (add-after 'enter-server-dir 'autogen
2395 (lambda _
2396 (invoke "bash" "autogen.sh")))
2397
2398 ;; Build emacs side using 'emacs-build-system'.
2399 (add-after 'compress-documentation 'enter-lisp-dir
2400 (lambda _ (chdir "../lisp") #t))
2401 (add-after 'enter-lisp-dir 'emacs-patch-variables
2402 (lambda* (#:key outputs #:allow-other-keys)
2403 (for-each make-file-writable (find-files "."))
2404
2405 ;; Set path to epdfinfo program.
2406 (emacs-substitute-variables "pdf-info.el"
2407 ("pdf-info-epdfinfo-program"
2408 (string-append (assoc-ref outputs "out")
2409 "/bin/epdfinfo")))
2410 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
2411 ;; upgrading" that pdf-tools tries to perform.
2412 (emacs-substitute-variables "pdf-tools.el"
2413 ("pdf-tools-handle-upgrades" '()))))
2414 (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
2415 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
2416 (add-after 'emacs-add-source-to-load-path 'emacs-install
2417 (assoc-ref emacs:%standard-phases 'install))
2418 (add-after 'emacs-install 'emacs-build
2419 (assoc-ref emacs:%standard-phases 'build))
2420 (add-after 'emacs-install 'emacs-make-autoloads
2421 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2422 (native-inputs `(("autoconf" ,autoconf)
2423 ("automake" ,automake)
2424 ("pkg-config" ,pkg-config)
2425 ("emacs" ,emacs-minimal)))
2426 (inputs `(("poppler" ,poppler)
2427 ("cairo" ,cairo)
2428 ("glib" ,glib)
2429 ("libpng" ,libpng)
2430 ("zlib" ,zlib)))
2431 (propagated-inputs `(("tablist" ,emacs-tablist)))
2432 (synopsis "Emacs support library for PDF files")
2433 (description
2434 "PDF Tools is, among other things, a replacement of DocView for PDF
2435 files. The key difference is that pages are not pre-rendered by
2436 e.g. ghostscript and stored in the file-system, but rather created on-demand
2437 and stored in memory.")
2438 (license license:gpl3+)))
2439
2440 (define-public emacs-dash
2441 (package
2442 (name "emacs-dash")
2443 (version "2.17.0")
2444 (source (origin
2445 (method git-fetch)
2446 (uri (git-reference
2447 (url "https://github.com/magnars/dash.el.git")
2448 (commit version)))
2449 (file-name (git-file-name name version))
2450 (sha256
2451 (base32
2452 "153f55dqkhs8w2xlf6b88wp5vlkap7h8vjd9wxh4jp2ram5g4l1n"))))
2453 (build-system emacs-build-system)
2454 (arguments
2455 `(#:tests? #t
2456 #:test-command '("./run-tests.sh")))
2457 (home-page "https://github.com/magnars/dash.el")
2458 (synopsis "Modern list library for Emacs")
2459 (description "This package provides a modern list API library for Emacs.")
2460 (license license:gpl3+)))
2461
2462 (define-public emacs-bui
2463 (package
2464 (name "emacs-bui")
2465 (version "1.2.1")
2466 (source (origin
2467 (method git-fetch)
2468 (uri (git-reference
2469 (url "https://notabug.org/alezost/emacs-bui.git")
2470 (commit (string-append "v" version))))
2471 (file-name (git-file-name name version))
2472 (sha256
2473 (base32
2474 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
2475 (build-system emacs-build-system)
2476 (propagated-inputs
2477 `(("dash" ,emacs-dash)))
2478 (home-page "https://notabug.org/alezost/emacs-bui")
2479 (synopsis "Buffer interface library for Emacs")
2480 (description
2481 "BUI (Buffer User Interface) is a library for making @code{list} and
2482 @code{info} interfaces to display an arbitrary data of the same
2483 type, for example: packages, buffers, files, etc.")
2484 (license license:gpl3+)))
2485
2486 (define-public emacs-guix
2487 (package
2488 (name "emacs-guix")
2489 (version "0.5.2")
2490 (source (origin
2491 (method url-fetch)
2492 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2493 "releases/emacs-guix-" version ".tar.gz"))
2494 (sha256
2495 (base32
2496 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))
2497 (modules '((guix build utils)))
2498 (snippet
2499 '(begin
2500 ;; Add support for Guile 3.0. Remove for versions > 0.5.2.
2501 (substitute* "configure"
2502 (("\"2\\.2 2\\.0\"")
2503 "\"3.0 2.2 2.0\""))
2504 #t))))
2505 (build-system gnu-build-system)
2506 (native-inputs
2507 `(("pkg-config" ,pkg-config)
2508 ("emacs" ,emacs-minimal)))
2509 (inputs
2510 `(("guile" ,guile-3.0)
2511 ("guix" ,guix)))
2512 (propagated-inputs
2513 `(("geiser" ,emacs-geiser)
2514 ("guile-gcrypt" ,guile-gcrypt)
2515 ("dash" ,emacs-dash)
2516 ("bui" ,emacs-bui)
2517 ("edit-indirect" ,emacs-edit-indirect)
2518 ("magit-popup" ,emacs-magit-popup)))
2519 (home-page "https://emacs-guix.gitlab.io/website/")
2520 (synopsis "Emacs interface for GNU Guix")
2521 (description
2522 "Emacs-Guix provides a visual interface, tools and features for the GNU
2523 Guix package manager. Particularly, it allows you to do various package
2524 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2525 @code{M-x guix-help} command.")
2526 (license license:gpl3+)))
2527
2528 (define-public emacs-build-farm
2529 (package
2530 (name "emacs-build-farm")
2531 (version "0.2.2")
2532 (source (origin
2533 (method git-fetch)
2534 (uri (git-reference
2535 (url "https://notabug.org/alezost/emacs-build-farm.git")
2536 (commit (string-append "v" version))))
2537 (file-name (git-file-name name version))
2538 (sha256
2539 (base32
2540 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2541 (build-system emacs-build-system)
2542 (propagated-inputs
2543 `(("bui" ,emacs-bui)
2544 ("magit-popup" ,emacs-magit-popup)))
2545 (home-page "https://notabug.org/alezost/emacs-build-farm")
2546 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2547 (description
2548 "This Emacs package provides an interface for Hydra and
2549 Cuirass (build farms used by Nix and Guix). It allows you to look at
2550 various data related to the build farm projects, jobsets, builds and
2551 evaluations. The entry point is @code{M-x build-farm} command.")
2552 (license license:gpl3+)))
2553
2554 (define-public emacs-d-mode
2555 (package
2556 (name "emacs-d-mode")
2557 (version "2.0.10")
2558 (source
2559 (origin
2560 (method git-fetch)
2561 (uri (git-reference
2562 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2563 (commit version)))
2564 (file-name (git-file-name name version))
2565 (sha256
2566 (base32 "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"))))
2567 (build-system emacs-build-system)
2568 (propagated-inputs
2569 `(("emacs-undercover" ,emacs-undercover)))
2570 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2571 (synopsis "Emacs major mode for editing D code")
2572 (description "This package provides an Emacs major mode for highlighting
2573 code written in the D programming language. This mode is currently known to
2574 work with Emacs 24 and 25.")
2575 (license license:gpl2+)))
2576
2577 (define-public emacs-extempore-mode
2578 ;; Use the latest commit at time of packaging. There are no releases or tags.
2579 (let ((commit "09518ae6650d7be33a4633a4c0f31b7130d04c6e")
2580 (revision "1"))
2581 (package
2582 (name "emacs-extempore-mode")
2583 (version (git-version "0.0.0" revision commit))
2584 (source
2585 (origin
2586 (method git-fetch)
2587 (uri (git-reference
2588 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2589 (commit commit)))
2590 (file-name (git-file-name name version))
2591 (sha256
2592 (base32 "0hfza9lzdsz94gxhmzyp9fwviscv19rmnjgd0q613faayn11sjsp"))))
2593 (build-system emacs-build-system)
2594 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2595 (synopsis "Emacs major mode for Extempore source files")
2596 (description
2597 "This package provides a major mode for editing Extempore code. It can
2598 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2599 running Extempore process, and more.")
2600 (license license:bsd-2))))
2601
2602 (define-public emacs-kakoune
2603 ;; Package has no release. Version is extracted from "Version:" keyword in
2604 ;; main file.
2605 (let ((commit "d73d14e69ea38076af50cc69f846808383ff539d")
2606 (revision "0"))
2607 (package
2608 (name "emacs-kakoune")
2609 (version (git-version "0.1" revision commit))
2610 (source
2611 (origin
2612 (method git-fetch)
2613 (uri (git-reference
2614 (url "https://github.com/jmorag/kakoune.el.git")
2615 (commit commit)))
2616 (file-name (git-file-name name version))
2617 (sha256
2618 (base32 "0nk6jdy1y5mc3ryd0smiqghrk6iv34d5grc7f7migmshlbq0np92"))))
2619 (build-system emacs-build-system)
2620 (propagated-inputs
2621 `(("emacs-expand-region" ,emacs-expand-region)
2622 ("emacs-multiple-cursors" ,emacs-multiple-cursors)
2623 ("emacs-ryo-modal" ,emacs-ryo-modal)))
2624 (home-page "https://github.com/jmorag/kakoune.el")
2625 (synopsis "Emacs simple simulation, but not emulation, of Kakoune")
2626 (description "This package provides many, but not all of the editing
2627 primitives in the Kakoune editor. Unlike Evil mode for Vim, this is a very
2628 shallow emulation, which seeks to do as little work as possible, leveraging
2629 Emacs native editing commmands and the work of other packages wherever
2630 possible.")
2631 (license license:expat))))
2632
2633 (define-public emacs-keyfreq
2634 (package
2635 (name "emacs-keyfreq")
2636 (version "20160516.716")
2637 (source
2638 (origin
2639 (method url-fetch)
2640 (uri (string-append "http://melpa.org/packages/keyfreq-"
2641 version ".el"))
2642 (sha256
2643 (base32
2644 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2645 (build-system emacs-build-system)
2646 (home-page "https://github.com/dacap/keyfreq")
2647 (synopsis "Track Emacs command frequencies")
2648 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2649 a command.")
2650 (license license:gpl3+)))
2651
2652 (define-public emacs-olivetti
2653 (package
2654 (name "emacs-olivetti")
2655 (version "1.8.1")
2656 (source (origin
2657 (method git-fetch)
2658 (uri (git-reference
2659 (url "https://github.com/rnkn/olivetti.git")
2660 (commit (string-append "v" version))))
2661 (file-name (git-file-name name version))
2662 (sha256
2663 (base32
2664 "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"))))
2665 (build-system emacs-build-system)
2666 (home-page "https://github.com/rnkn/olivetti")
2667 (synopsis "Emacs minor mode for a nice writing environment")
2668 (description "This package provides an Emacs minor mode that puts writing
2669 in the center.")
2670 (license license:gpl3+)))
2671
2672 (define-public emacs-undo-tree
2673 (package
2674 (name "emacs-undo-tree")
2675 (version "0.7.4")
2676 (source
2677 (origin
2678 (method url-fetch)
2679 (uri (string-append "https://elpa.gnu.org/packages/"
2680 "undo-tree-" version ".el"))
2681 (sha256
2682 (base32 "018ixl802f076sfyf4gkacpgrdpybin88jd8vq9zgyvc6x2dalfa"))))
2683 (build-system emacs-build-system)
2684 (home-page "http://www.dr-qubit.org/emacs.php")
2685 (synopsis "Treat undo history as a tree")
2686 (description
2687 "Tree-like interface to Emacs undo system, providing
2688 graphical tree presentation of all previous states of buffer that
2689 allows easily move between them.")
2690 (license license:gpl3+)))
2691
2692 (define-public emacs-s
2693 (package
2694 (name "emacs-s")
2695 (version "1.12.0")
2696 (source
2697 (origin
2698 (method git-fetch)
2699 (uri (git-reference
2700 (url "https://github.com/magnars/s.el.git")
2701 (commit version)))
2702 (file-name (git-file-name name version))
2703 (sha256
2704 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2705 (build-system emacs-build-system)
2706 (arguments
2707 `(#:tests? #t
2708 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2709 #:test-command '("./run-tests.sh")))
2710 (home-page "https://github.com/magnars/s.el")
2711 (synopsis "Emacs string manipulation library")
2712 (description "This package provides an Emacs library for manipulating
2713 strings.")
2714 (license license:gpl3+)))
2715
2716 (define-public emacs-symon
2717 (package
2718 (name "emacs-symon")
2719 (version "20160630")
2720 (source
2721 (origin
2722 (method git-fetch)
2723 (uri (git-reference
2724 (url "https://github.com/zk-phi/symon.git")
2725 (commit version)))
2726 (file-name (git-file-name name version))
2727 (sha256
2728 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2729 (build-system emacs-build-system)
2730 (home-page "https://github.com/zk-phi/symon")
2731 (synopsis "Tiny graphical system monitor")
2732 (description
2733 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2734 (license license:gpl2+)))
2735
2736 (define-public emacs-sx
2737 (let ((version "20191229")
2738 (revision "0")
2739 (commit "e9d1093c97507a6d7b4f4710ef65200dae725e5f"))
2740 (package
2741 (name "emacs-sx")
2742 (version (git-version version revision commit))
2743 (source
2744 (origin
2745 (method git-fetch)
2746 (uri (git-reference
2747 (url "https://github.com/vermiculus/sx.el")
2748 (commit commit)))
2749 (file-name (git-file-name name version))
2750 (sha256
2751 (base32 "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf"))))
2752 (build-system emacs-build-system)
2753 (propagated-inputs
2754 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2755 (home-page "https://github.com/vermiculus/sx.el")
2756 (synopsis "Emacs StackExchange client")
2757 (description
2758 "Emacs StackExchange client. Ask and answer questions on
2759 Stack Overflow, Super User, and other StackExchange sites.")
2760 (license license:gpl3+))))
2761
2762 (define-public emacs-toml-mode
2763 (let ((version "0.1.3")
2764 (revision "0")
2765 (commit "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06"))
2766 (package
2767 (name "emacs-toml-mode")
2768 (version (git-version version revision commit))
2769 (source
2770 (origin
2771 (method git-fetch)
2772 (uri (git-reference
2773 (url "https://github.com/dryman/toml-mode.el.git")
2774 (commit commit)))
2775 (file-name (git-file-name name version))
2776 (sha256
2777 (base32 "05b4ksay85c8y5ncax0qsvnmplwsfiw24z16a58gkarjz938hb57"))))
2778 (build-system emacs-build-system)
2779 (home-page "https://github.com/dryman/toml-mode.el")
2780 (synopsis "Emacs major mode for editing TOML files")
2781 (description
2782 ;; XXX: Ideally we'd use @acronym for "TOML", but Guile's Texinfo
2783 ;; parser does not currently support @comma{}, making it impossible
2784 ;; to use commas in the @acronym arguments.
2785 "This package provides a major mode for editing files in @dfn{TOML}
2786 (Tom's Obvious, Minimal Language) data format.")
2787 (license license:gpl3+))))
2788
2789 (define-public emacs-twittering-mode
2790 (package
2791 (name "emacs-twittering-mode")
2792 (version "3.1.0")
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append "mirror://sourceforge/twmode"
2797 "/twittering-mode-" version
2798 "/twittering-mode-" version ".tar.xz"))
2799 (sha256
2800 (base32 "02imis1gxz90lah0b5n37j2hlsaw5igss11d85vpsm5d1bgw8j28"))))
2801 (build-system emacs-build-system)
2802 (home-page "http://twmode.sourceforge.net")
2803 (synopsis "Emacs major mode for Twitter")
2804 (description
2805 "Twittering mode is an Emacs major mode for Twitter.
2806 You can check timelines, tweet, mark posts as favorites and so on with
2807 Emacs.")
2808 (license license:gpl2+)))
2809
2810 (define-public emacs-f
2811 (package
2812 (name "emacs-f")
2813 (version "0.20.0")
2814 (source (origin
2815 (method git-fetch)
2816 (uri (git-reference
2817 (url "https://github.com/rejeep/f.el.git")
2818 (commit (string-append "v" version))))
2819 (file-name (git-file-name name version))
2820 (sha256
2821 (base32
2822 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2823 (build-system emacs-build-system)
2824 (propagated-inputs
2825 `(("emacs-s" ,emacs-s)
2826 ("emacs-dash" ,emacs-dash)))
2827 (home-page "https://github.com/rejeep/f.el")
2828 (synopsis "Emacs API for working with files and directories")
2829 (description "This package provides an Emacs library for working with
2830 files and directories.")
2831 (license license:gpl3+)))
2832
2833 (define-public emacs-fountain-mode
2834 (package
2835 (name "emacs-fountain-mode")
2836 (version "3.1.0")
2837 (source
2838 (origin
2839 (method git-fetch)
2840 (uri (git-reference
2841 (url "https://github.com/rnkn/fountain-mode")
2842 (commit (string-append "v" version))))
2843 (file-name (git-file-name name version))
2844 (sha256
2845 (base32 "08giwg0jwk8zzj2i4cm08322qr6znrnv9a49za7c6j47bykpwj6s"))))
2846 (build-system emacs-build-system)
2847 (home-page "https://github.com/rnkn/fountain-mode")
2848 (synopsis "Major mode for screenwriting in Fountain markup")
2849 (description "Fountain Mode is a scriptwriting program for GNU Emacs
2850 using the Fountain plain text markup format.")
2851 (license license:gpl3+)))
2852
2853 (define-public emacs-fringe-helper
2854 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
2855 (revision "1"))
2856 (package
2857 (name "emacs-fringe-helper")
2858 (version (git-version "1.0.1" revision commit))
2859 (source
2860 (origin
2861 (method git-fetch)
2862 (uri (git-reference
2863 (url "https://github.com/nschum/fringe-helper.el.git")
2864 (commit commit)))
2865 (file-name (git-file-name name version))
2866 (sha256
2867 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
2868 (build-system emacs-build-system)
2869 (arguments
2870 `(#:tests? #t
2871 #:test-command '("emacs" "--batch"
2872 "-l" "tests.el"
2873 "-f" "ert-run-tests-batch-and-exit")))
2874 (home-page "https://github.com/nschum/fringe-helper.el")
2875 (synopsis "Helper functions for fringe bitmaps")
2876 (description
2877 "This package allows fringe bitmaps to be defined with a visual string
2878 representation.")
2879 (license license:gpl2+))))
2880
2881 (define-public emacs-git-gutter
2882 (package
2883 (name "emacs-git-gutter")
2884 (version "0.90")
2885 (source
2886 (origin
2887 (method git-fetch)
2888 (uri (git-reference
2889 (url "https://github.com/syohex/emacs-git-gutter.git")
2890 (commit version)))
2891 (file-name (git-file-name name version))
2892 (sha256
2893 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2894 (build-system emacs-build-system)
2895 (home-page "https://github.com/syohex/emacs-git-gutter")
2896 (synopsis "See and manage hunks of text in a version control system")
2897 (description
2898 "This package is an Emacs minor mode for displaying and interacting with
2899 hunks of text managed in a version control system. Added modified and deleted
2900 areas can be indicated with symbols on the edge of the buffer, and commands
2901 can be used to move between and perform actions on these hunks.
2902
2903 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2904 display and behaviour is easily customisable.")
2905 (license license:gpl3+)))
2906
2907 (define-public emacs-git-gutter-fringe
2908 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
2909 (revision "1"))
2910 (package
2911 (name "emacs-git-gutter-fringe")
2912 (version (git-version "0.23" revision commit))
2913 (source
2914 (origin
2915 (method git-fetch)
2916 (uri (git-reference
2917 (url "https://github.com/syohex/git-gutter-fringe.git")
2918 (commit commit)))
2919 (file-name (git-file-name name version))
2920 (sha256
2921 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
2922 (build-system emacs-build-system)
2923 (propagated-inputs
2924 `(("emacs-git-gutter" ,emacs-git-gutter)
2925 ("emacs-fringe-helper" ,emacs-fringe-helper)))
2926 (home-page "https://github.com/syohex/git-gutter-fringe")
2927 (synopsis "See and manage hunks of text in a version control system")
2928 (description
2929 "This package extends @code{git-gutter} to use the fringe area of a
2930 window.")
2931 (license license:gpl3+))))
2932
2933 (define-public emacs-git-link
2934 (package
2935 (name "emacs-git-link")
2936 (version "0.7.5")
2937 (source
2938 (origin
2939 (method git-fetch)
2940 (uri (git-reference
2941 (url "https://github.com/sshaw/git-link.git")
2942 (commit (string-append "v" version))))
2943 (file-name (git-file-name name version))
2944 (sha256
2945 (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
2946 (build-system emacs-build-system)
2947 (arguments
2948 `(#:tests? #t
2949 #:test-command '("make" "test")))
2950 (home-page "https://github.com/sshaw/git-link")
2951 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
2952 (description
2953 "@code{git-link} returns the URL for the current buffer's file location
2954 at the current line number or active region. @code{git-link-commit} returns
2955 the URL for a commit. URLs are added to the kill ring.")
2956 (license license:gpl3+)))
2957
2958 (define-public emacs-apheleia
2959 (package
2960 (name "emacs-apheleia")
2961 (version "1.0")
2962 (source
2963 (origin
2964 (method git-fetch)
2965 (uri (git-reference
2966 (url "https://github.com/raxod502/apheleia.git")
2967 (commit (string-append "v" version))))
2968 (file-name (git-file-name name version))
2969 (sha256
2970 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
2971 (build-system emacs-build-system)
2972 (home-page "https://github.com/raxod502/apheleia")
2973 (synopsis "Reformat buffer stably")
2974 (description
2975 "This package allows for a buffer to be reformatted without moving point,
2976 so that running a formatting tool like @code{Prettier} or @code{Black} upon
2977 saving won't move point back to the beginning of the buffer.")
2978 (license license:gpl3+)))
2979
2980 (define-public emacs-git-timemachine
2981 (package
2982 (name "emacs-git-timemachine")
2983 (version "4.11")
2984 (source
2985 (origin
2986 (method git-fetch)
2987 (uri (git-reference
2988 (url "https://gitlab.com/pidu/git-timemachine.git")
2989 (commit version)))
2990 (file-name (git-file-name name version))
2991 (sha256
2992 (base32
2993 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2994 (build-system emacs-build-system)
2995 (propagated-inputs
2996 `(("emacs-transient" ,emacs-transient)))
2997 (home-page "https://gitlab.com/pidu/git-timemachine")
2998 (synopsis "Step through historic versions of Git-controlled files")
2999 (description "This package enables you to step through historic versions
3000 of files under Git version control from within Emacs.")
3001 (license license:gpl3+)))
3002
3003 (define-public emacs-minitest
3004 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
3005 (revision "1"))
3006 (package
3007 (name "emacs-minitest")
3008 (version (git-version "0.8.0" revision commit))
3009 (source (origin
3010 (method git-fetch)
3011 (uri (git-reference
3012 (url "https://github.com/arthurnn/minitest-emacs")
3013 (commit commit)))
3014 (file-name (git-file-name name commit))
3015 (sha256
3016 (base32
3017 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
3018 (build-system emacs-build-system)
3019 (arguments
3020 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
3021 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
3022 (propagated-inputs
3023 `(("emacs-dash" ,emacs-dash)
3024 ("emacs-f" ,emacs-f)))
3025 (home-page "https://github.com/arthurnn/minitest-emacs")
3026 (synopsis "Emacs minitest mode")
3027 (description
3028 "The minitest mode provides commands to run the tests for the current
3029 file or line, as well as rerunning the previous tests, or all the tests for a
3030 project.
3031
3032 This package also includes relevant snippets for yasnippet.")
3033 (license license:expat))))
3034
3035 (define-public emacs-el-mock
3036 (package
3037 (name "emacs-el-mock")
3038 (version "1.25.1")
3039 (source
3040 (origin
3041 (method git-fetch)
3042 (uri (git-reference
3043 (url "https://github.com/rejeep/el-mock.el.git")
3044 (commit (string-append "v" version))))
3045 (file-name (git-file-name name version))
3046 (sha256
3047 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
3048 (build-system emacs-build-system)
3049 (home-page "https://github.com/rejeep/el-mock.el")
3050 (synopsis "Tiny mock and stub framework in Emacs Lisp")
3051 (description
3052 "Emacs Lisp Mock is a library for mocking and stubbing using readable
3053 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
3054 Expectations, but it can be used in other contexts.")
3055 (license license:gpl3+)))
3056
3057 (define-public emacs-espuds
3058 (package
3059 (name "emacs-espuds")
3060 (version "0.3.3")
3061 (source
3062 (origin
3063 (method git-fetch)
3064 (uri (git-reference
3065 (url "https://github.com/ecukes/espuds.git")
3066 (commit (string-append "v" version))))
3067 (file-name (git-file-name name version))
3068 (sha256
3069 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
3070 (build-system emacs-build-system)
3071 (propagated-inputs
3072 `(("emacs-s" ,emacs-s)
3073 ("emacs-dash" ,emacs-dash)
3074 ("emacs-f" ,emacs-f)))
3075 (home-page "https://github.com/ecukes/espuds")
3076 (synopsis "Common step definitions for Ecukes")
3077 (description "Espuds is a collection of the most commonly used step
3078 definitions for testing with the Ecukes framework.")
3079 (license license:gpl3+)))
3080
3081 (define-public emacs-spark
3082 (let ((version "20160503") ; no proper tag, use date of commit
3083 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
3084 (revision "1"))
3085 (package
3086 (name "emacs-spark")
3087 (version (git-version version revision commit))
3088 (source
3089 (origin
3090 (method git-fetch)
3091 (uri (git-reference
3092 (url "https://github.com/alvinfrancis/spark.git")
3093 (commit commit)))
3094 (file-name (git-file-name name version))
3095 (sha256
3096 (base32
3097 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
3098 (build-system emacs-build-system)
3099 (home-page "https://github.com/alvinfrancis/spark")
3100 (synopsis "Sparkline generation library for Emacs Lisp")
3101 (description "@code{emacs-spark} is a sparkline generation library for
3102 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
3103 port of @code{cl-spark} to Emacs Lisp.")
3104 (license license:expat))))
3105
3106 (define-public emacs-es-mode
3107 (package
3108 (name "emacs-es-mode")
3109 (version "4.3.0")
3110 (source
3111 (origin
3112 (method git-fetch)
3113 (uri (git-reference
3114 (url "https://github.com/dakrone/es-mode.git")
3115 (commit version)))
3116 (file-name (git-file-name name version))
3117 (sha256
3118 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
3119 (build-system emacs-build-system)
3120 (propagated-inputs
3121 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
3122 ;; to be rendered incorrectly
3123 `(("emacs-dash" ,emacs-dash)
3124 ("emacs-org" ,emacs-org)
3125 ("emacs-spark" ,emacs-spark)))
3126 (home-page "https://github.com/dakrone/es-mode")
3127 (synopsis "Major mode for editing Elasticsearch queries")
3128 (description "@code{es-mode} includes highlighting, completion and
3129 indentation support for Elasticsearch queries. Also supported are
3130 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
3131 be processed through @code{jq}, or in the case of aggregations, can be
3132 rendered in to a table. In addition, there is an @code{es-command-center}
3133 mode, which displays information about Elasticsearch clusters.")
3134 (license license:gpl3+)))
3135
3136 (define-public emacs-expand-region
3137 (package
3138 (name "emacs-expand-region")
3139 (version "0.11.0")
3140 (source
3141 (origin
3142 (method git-fetch)
3143 (uri (git-reference
3144 (url "https://github.com/magnars/expand-region.el.git")
3145 (commit version)))
3146 (file-name (git-file-name name version))
3147 (sha256
3148 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
3149 (build-system emacs-build-system)
3150 (home-page "https://github.com/magnars/expand-region.el")
3151 (synopsis "Increase selected region by semantic units")
3152 (description
3153 "Expand region increases the selected region by semantic units. Just
3154 keep pressing the key until it selects what you want. There's also
3155 @code{er/contract-region} if you expand too far.")
3156 (license license:gpl3+)))
3157
3158 (define-public emacs-fill-column-indicator
3159 (package
3160 (name "emacs-fill-column-indicator")
3161 (version "1.90")
3162 (source
3163 (origin
3164 (method git-fetch)
3165 (uri (git-reference
3166 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
3167 (commit version)))
3168 (file-name (git-file-name name version))
3169 (sha256
3170 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
3171 (build-system emacs-build-system)
3172 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
3173 (synopsis "Graphically indicate the fill column")
3174 (description
3175 "Fill-column-indicator graphically indicates the location of the fill
3176 column by drawing a thin line down the length of the editing window.")
3177 (license license:gpl3+)))
3178
3179 (define-public emacs-grep-a-lot
3180 (package
3181 (name "emacs-grep-a-lot")
3182 (version "1.0.7")
3183 (source
3184 (origin
3185 (method git-fetch)
3186 (uri (git-reference
3187 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
3188 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
3189 (file-name (git-file-name name version))
3190 (sha256
3191 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
3192 (build-system emacs-build-system)
3193 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
3194 (synopsis "Enables multiple grep buffers in Emacs")
3195 (description
3196 "This Emacs package allows managing multiple grep buffers.")
3197 (license license:gpl3+)))
3198
3199 (define-public emacs-rg
3200 (package
3201 (name "emacs-rg")
3202 (version "1.8.1")
3203 (source
3204 (origin
3205 (method git-fetch)
3206 (uri (git-reference
3207 (url "https://github.com/dajva/rg.el.git")
3208 (commit version)))
3209 (file-name (git-file-name name version))
3210 (sha256
3211 (base32 "0k7x5z7mh9flwih35cqy8chs54rack3nswdcpw5wcpgv6xim227y"))))
3212 (build-system emacs-build-system)
3213 (arguments
3214 '(#:phases
3215 (modify-phases %standard-phases
3216 (add-after 'unpack 'hardcode-rg-path
3217 ;; Hardcode the path to ripgrep.
3218 (lambda _
3219 (let ((file "rg.el"))
3220 (chmod file #o644)
3221 (emacs-substitute-sexps file
3222 ("(defcustom rg-executable" (which "rg")))))))))
3223 (propagated-inputs
3224 `(("emacs-s" ,emacs-s)
3225 ("emacs-wgrep" ,emacs-wgrep)))
3226 (inputs
3227 `(("ripgrep" ,ripgrep)))
3228 (home-page "https://rgel.readthedocs.io/en/latest/")
3229 (synopsis "Search tool based on @code{ripgrep}")
3230 (description
3231 "@code{rg} is an Emacs search package based on the @code{ripgrep} command
3232 line tool. It allows one to interactively search based on the editing context
3233 then refine or modify the search results.")
3234 (license license:gpl3+)))
3235
3236 (define-public emacs-inf-ruby
3237 (package
3238 (name "emacs-inf-ruby")
3239 (version "2.5.2")
3240 (source
3241 (origin
3242 (method git-fetch)
3243 (uri (git-reference
3244 (url "https://github.com/nonsequitur/inf-ruby.git")
3245 (commit version)))
3246 (file-name (git-file-name name version))
3247 (sha256
3248 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
3249 (build-system emacs-build-system)
3250 (home-page "https://github.com/nonsequitur/inf-ruby")
3251 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
3252 (description
3253 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
3254 for easy interaction with a ruby subprocess. Features include support for
3255 detecting specific uses of Ruby, e.g. when using rails, and using a
3256 appropriate console.")
3257 (license license:gpl3+)))
3258
3259 (define-public emacs-znc
3260 (package
3261 (name "emacs-znc")
3262 (version "0.0.2")
3263 (source
3264 (origin
3265 (method url-fetch)
3266 (uri (string-append "https://marmalade-repo.org/packages/znc-"
3267 version ".el"))
3268 (sha256
3269 (base32
3270 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
3271 (build-system emacs-build-system)
3272 (home-page "https://github.com/sshirokov/ZNC.el")
3273 (synopsis "Make ERC and ZNC get along better")
3274 (description
3275 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
3276 IRC bouncer with ERC.")
3277 (license license:expat)))
3278
3279 (define-public emacs-shut-up
3280 (package
3281 (name "emacs-shut-up")
3282 (version "0.3.2")
3283 (source
3284 (origin
3285 (method git-fetch)
3286 (uri (git-reference
3287 (url "https://github.com/cask/shut-up.git")
3288 (commit (string-append "v" version))))
3289 (file-name (git-file-name name version))
3290 (sha256
3291 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
3292 (build-system emacs-build-system)
3293 (home-page "https://github.com/cask/shut-up")
3294 (synopsis "Silence Emacs")
3295 (description "This package silences most output of Emacs when running an
3296 Emacs shell script.")
3297 (license license:expat)))
3298
3299 (define-public emacs-undercover
3300 (package
3301 (name "emacs-undercover")
3302 (version "0.6.1")
3303 (source
3304 (origin
3305 (method git-fetch)
3306 (uri (git-reference
3307 (url "https://github.com/sviridov/undercover.el.git")
3308 (commit version)))
3309 (file-name (git-file-name name version))
3310 (sha256
3311 (base32 "080bmfwyfi8663y8x594770hqz7mff7zvj2v03qdfwbhdr9w9y29"))))
3312 (build-system emacs-build-system)
3313 (propagated-inputs
3314 `(("emacs-dash" ,emacs-dash)
3315 ("emacs-shut-up" ,emacs-shut-up)))
3316 (home-page "https://github.com/sviridov/undercover.el")
3317 (synopsis "Test coverage library for Emacs Lisp")
3318 (description
3319 "Undercover is a test coverage library for software written in Emacs
3320 Lisp.")
3321 (license license:expat)))
3322
3323 (define-public emacs-paren-face
3324 (package
3325 (name "emacs-paren-face")
3326 (version "1.0.5")
3327 (source
3328 (origin
3329 (method git-fetch)
3330 (uri (git-reference
3331 (url "https://github.com/tarsius/paren-face.git")
3332 (commit version)))
3333 (file-name (git-file-name name version))
3334 (sha256
3335 (base32
3336 "04vkg8fhdn8x02dydxbwpizh2yn3sbmn9432v770vbbq6b62k2lx"))))
3337 (build-system emacs-build-system)
3338 (home-page "https://github.com/tarsius/paren-face")
3339 (synopsis "Face for parentheses in lisp modes")
3340 (description
3341 "This library defines a face named @code{parenthesis} used just for
3342 parentheses. The intended purpose of this face is to make parentheses less
3343 visible in Lisp code by dimming them. Lispers probably don't need to be
3344 constantly made aware of the existence of the parentheses. Dimming them might
3345 be even more useful for people new to lisp who have not yet learned to
3346 subconsciously blend out the parentheses.")
3347 (license license:gpl3+)))
3348
3349 (define-public emacs-page-break-lines
3350 (package
3351 (name "emacs-page-break-lines")
3352 (version "0.11")
3353 (source
3354 (origin
3355 (method git-fetch)
3356 (uri (git-reference
3357 (url "https://github.com/purcell/page-break-lines.git")
3358 (commit version)))
3359 (file-name (git-file-name name version))
3360 (sha256
3361 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
3362 (build-system emacs-build-system)
3363 (home-page "https://github.com/purcell/page-break-lines")
3364 (synopsis "Display page breaks as tidy horizontal lines")
3365 (description
3366 "This library provides a global mode which displays form feed characters
3367 as horizontal rules.")
3368 (license license:gpl3+)))
3369
3370 (define-public emacs-simple-httpd
3371 (package
3372 (name "emacs-simple-httpd")
3373 (version "1.5.1")
3374 (source
3375 (origin
3376 (method git-fetch)
3377 (uri (git-reference
3378 (url "https://github.com/skeeto/emacs-web-server.git")
3379 (commit version)))
3380 (file-name (git-file-name name version))
3381 (sha256
3382 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
3383 (build-system emacs-build-system)
3384 (home-page "https://github.com/skeeto/emacs-web-server")
3385 (synopsis "HTTP server in pure Emacs Lisp")
3386 (description
3387 "This package provides a simple HTTP server written in Emacs Lisp to
3388 serve files and directory listings.")
3389 (license license:unlicense)))
3390
3391 (define-public emacs-skewer-mode
3392 (package
3393 (name "emacs-skewer-mode")
3394 (version "1.8.0")
3395 (source
3396 (origin
3397 (method git-fetch)
3398 (uri (git-reference
3399 (url "https://github.com/skeeto/skewer-mode.git")
3400 (commit version)))
3401 (file-name (git-file-name name version))
3402 (sha256
3403 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
3404 (build-system emacs-build-system)
3405 (propagated-inputs
3406 `(("emacs-simple-httpd" ,emacs-simple-httpd)
3407 ("emacs-js2-mode" ,emacs-js2-mode)))
3408 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
3409 (home-page "https://github.com/skeeto/skewer-mode")
3410 (synopsis "Live web development in Emacs")
3411 (description
3412 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
3413 a web browser. Expressions are sent on-the-fly from an editing buffer to be
3414 evaluated in the browser, just like Emacs does with an inferior Lisp process
3415 in Lisp modes.")
3416 (license license:unlicense)))
3417
3418 (define-public emacs-litable
3419 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
3420 (package
3421 (name "emacs-litable")
3422 (version (git-version "0.1" "0" commit))
3423 (source (origin
3424 (method git-fetch)
3425 (uri (git-reference
3426 (url "https://github.com/Fuco1/litable.git")
3427 (commit commit)))
3428 (file-name (git-file-name name version))
3429 (sha256
3430 (base32
3431 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
3432 (build-system emacs-build-system)
3433 (propagated-inputs
3434 `(("emacs-dash" ,emacs-dash)))
3435 (home-page "https://github.com/Fuco1/litable/")
3436 (synopsis "Dynamic evaluation replacement with Emacs")
3437 (description "This package provides dynamic evaluation in Emacs.")
3438 (license license:gpl3+))))
3439
3440 (define-public emacs-string-inflection
3441 (package
3442 (name "emacs-string-inflection")
3443 (version "1.0.6")
3444 (source (origin
3445 (method git-fetch)
3446 (uri (git-reference
3447 (url "https://github.com/akicho8/string-inflection")
3448 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
3449 (file-name (git-file-name name version))
3450 (sha256
3451 (base32
3452 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
3453 (build-system emacs-build-system)
3454 (native-inputs
3455 `(("ert-runner" ,emacs-ert-runner)))
3456 (arguments
3457 `(#:tests? #t
3458 #:test-command '("ert-runner")))
3459 (home-page "https://github.com/akicho8/string-inflection")
3460 (synopsis "Convert symbol names between different naming conventions")
3461 (description
3462 "This Emacs package provides convenient methods for manipulating the
3463 naming style of a symbol. It supports different naming conventions such as:
3464
3465 @enumerate
3466 @item camel case
3467 @item Pascal case
3468 @item all upper case
3469 @item lower case separated by underscore
3470 @item etc...
3471 @end enumerate\n")
3472 (license license:gpl2+)))
3473
3474 (define-public emacs-stripe-buffer
3475 (package
3476 (name "emacs-stripe-buffer")
3477 (version "0.2.5")
3478 (source
3479 (origin
3480 (method git-fetch)
3481 (uri (git-reference
3482 (url "https://github.com/sabof/stripe-buffer.git")
3483 (commit version)))
3484 (file-name (git-file-name name version))
3485 (sha256
3486 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
3487 (build-system emacs-build-system)
3488 (home-page "https://github.com/sabof/stripe-buffer/")
3489 (synopsis "Add stripes to list buffers")
3490 (description
3491 "This Emacs package adds faces to add stripes to list buffers and org
3492 tables.")
3493 (license license:gpl2+)))
3494
3495 (define-public emacs-org-rich-yank
3496 (package
3497 (name "emacs-org-rich-yank")
3498 (version "0.2.1")
3499 (source
3500 (origin
3501 (method git-fetch)
3502 (uri (git-reference
3503 (url "https://github.com/unhammer/org-rich-yank.git")
3504 (commit (string-append "v" version))))
3505 (file-name (git-file-name name version))
3506 (sha256
3507 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
3508 (build-system emacs-build-system)
3509 (home-page "https://github.com/unhammer/org-rich-yank")
3510 (synopsis "Automatically surround source code pasted into Org with
3511 @code{#+BEGIN_SRC} blocks")
3512 (description
3513 "This package provides a utility function for Org buffers that makes a
3514 @code{_SRC} block with the appropriate language annotation for code that has
3515 been copied from an Emacs major mode.")
3516 (license license:gpl2+)))
3517
3518 (define-public emacs-ob-restclient
3519 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
3520 (package
3521 (name "emacs-ob-restclient")
3522 (version (git-version "0.02" "1" commit))
3523 (source
3524 (origin
3525 (method git-fetch)
3526 (uri (git-reference
3527 (url "https://github.com/alf/ob-restclient.el.git")
3528 (commit commit)))
3529 (file-name (git-file-name name version))
3530 (sha256
3531 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
3532 (propagated-inputs
3533 `(("emacs-restclient" ,emacs-restclient)))
3534 (build-system emacs-build-system)
3535 (home-page "https://github.com/alf/ob-restclient.el")
3536 (synopsis "Org-babel functionality for @code{restclient-mode}")
3537 (description
3538 "This package integrates @code{restclient-mode} with Org.")
3539 (license license:gpl3+))))
3540
3541 (define-public emacs-org-now
3542 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
3543 (package
3544 (name "emacs-org-now")
3545 (version (git-version "0.1-pre" "1" commit))
3546 (source
3547 (origin
3548 (method git-fetch)
3549 (uri (git-reference
3550 (url "https://github.com/alphapapa/org-now.git")
3551 (commit commit)))
3552 (file-name (git-file-name name version))
3553 (sha256
3554 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
3555 (propagated-inputs
3556 `(("emacs-dash" ,emacs-dash)))
3557 (build-system emacs-build-system)
3558 (home-page "https://github.com/alphapapa/org-now")
3559 (synopsis "Show current Org tasks in a sidebar")
3560 (description
3561 "This package provides commands to show Org headings in a sidebar
3562 window while working on them. After defining one heading as the \"now\"
3563 heading, other headings can be refiled to it with one command, and back to
3564 their original location with another.")
3565 (license license:gpl3+))))
3566
3567 (define-public emacs-rich-minority
3568 (package
3569 (name "emacs-rich-minority")
3570 (version "1.0.3")
3571 (source
3572 (origin
3573 (method git-fetch)
3574 (uri (git-reference
3575 (url "https://github.com/Malabarba/rich-minority.git")
3576 (commit version)))
3577 (file-name (git-file-name name version))
3578 (sha256
3579 (base32
3580 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
3581 (build-system emacs-build-system)
3582 (home-page "https://github.com/Malabarba/rich-minority")
3583 (synopsis "Clean-up and beautify the list of minor modes")
3584 (description
3585 "This Emacs package hides and/or highlights minor modes in the
3586 mode-line.")
3587 (license license:gpl2+)))
3588
3589 (define-public emacs-robe
3590 (package
3591 (name "emacs-robe")
3592 (version "0.8.2")
3593 (source
3594 (origin
3595 (method git-fetch)
3596 (uri (git-reference
3597 (url "https://github.com/dgutov/robe.git")
3598 (commit version)))
3599 (file-name (git-file-name name version))
3600 (sha256
3601 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
3602 (build-system emacs-build-system)
3603 (arguments
3604 '(#:include (cons "^lib\\/" %default-include)))
3605 (propagated-inputs
3606 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
3607 (home-page "https://github.com/dgutov/robe")
3608 (synopsis "Ruby code assistance tool for Emacs")
3609 (description
3610 "Robe can provide information on loaded classes and modules in Ruby code,
3611 as well as where methods are defined. This allows the user to jump to method
3612 definitions, modules and classes, display method documentation and provide
3613 method and constant name completion.")
3614 (license license:gpl3+)))
3615
3616 (define-public emacs-robot-mode
3617 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
3618 (revision "1"))
3619 (package
3620 (name "emacs-robot-mode")
3621 (version (git-version "0.0.0" revision commit))
3622 (source (origin
3623 (method git-fetch)
3624 (uri (git-reference
3625 ;; A better maintained fork of robot-mode.
3626 (url "https://github.com/jvalkeejarvi/robot-mode.git")
3627 (commit commit)))
3628 (file-name (git-file-name name version))
3629 (sha256
3630 (base32
3631 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
3632 (build-system emacs-build-system)
3633 (propagated-inputs `(("emacs-s" ,emacs-s)))
3634 (home-page "https://github.com/jvalkeejarvi/robot-mode")
3635 (synopsis "Emacs mode for Robot Framework")
3636 (description "This major mode facilitates editing Robot Framework source
3637 files with features such as syntax highlighting, comments, finding keywords,
3638 completing keywords and smart indentation.")
3639 (license license:gpl3+))))
3640
3641 (define-public emacs-rspec
3642 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
3643 (revision "1"))
3644 (package
3645 (name "emacs-rspec")
3646 (version (git-version "1.11" revision commit))
3647 (source
3648 (origin
3649 (method git-fetch)
3650 (uri (git-reference
3651 (url "https://github.com/pezra/rspec-mode.git")
3652 (commit commit)))
3653 (file-name (git-file-name name version))
3654 (sha256
3655 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
3656 (build-system emacs-build-system)
3657 (arguments
3658 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
3659 #:tests? #t
3660 #:test-command '("make" "test")))
3661 (home-page "https://github.com/pezra/rspec-mode")
3662 (synopsis "Provides a rspec mode for working with RSpec")
3663 (description
3664 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
3665 verify the spec associated with the current buffer, or entire project, as well
3666 as moving between the spec files, and corresponding code files.
3667
3668 Also included are keybindings for spec files and Dired buffers, as well as
3669 snippets for yasnippet.")
3670 (license license:gpl3+))))
3671
3672 (define-public emacs-smart-mode-line
3673 (package
3674 (name "emacs-smart-mode-line")
3675 (version "2.13")
3676 (source
3677 (origin
3678 (method git-fetch)
3679 (uri (git-reference
3680 (url "https://github.com/Malabarba/smart-mode-line.git")
3681 (commit version)))
3682 (file-name (git-file-name name version))
3683 (sha256
3684 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
3685 (build-system emacs-build-system)
3686 (propagated-inputs
3687 `(("emacs-rich-minority" ,emacs-rich-minority)))
3688 (home-page "https://github.com/Malabarba/smart-mode-line")
3689 (synopsis "Color-coded smart mode-line")
3690 (description
3691 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
3692 read from small to large monitors by using colors, a prefix feature, and smart
3693 truncation.")
3694 (license license:gpl2+)))
3695
3696 (define-public emacs-sr-speedbar
3697 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
3698 (revision "0"))
3699 (package
3700 (name "emacs-sr-speedbar")
3701 (version (git-version "20161025" revision commit))
3702 (source
3703 (origin
3704 (method git-fetch)
3705 (uri (git-reference
3706 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3707 (commit commit)))
3708 (file-name (git-file-name name version))
3709 (sha256
3710 (base32
3711 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3712 (build-system emacs-build-system)
3713 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3714 (synopsis "Same frame Emacs @code{speedbar}")
3715 (description
3716 "This Emacs package allows you to show @code{M-x speedbar} in the
3717 same frame (in an extra window). You can customize the initial width of
3718 the speedbar window.")
3719 (license license:gpl3+))))
3720
3721 (define-public emacs-shell-switcher
3722 (package
3723 (name "emacs-shell-switcher")
3724 (version "1.0.1")
3725 (source
3726 (origin
3727 (method git-fetch)
3728 (uri (git-reference
3729 (url "https://github.com/DamienCassou/shell-switcher.git")
3730 (commit (string-append "v" version))))
3731 (file-name (git-file-name name version))
3732 (sha256
3733 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3734 (build-system emacs-build-system)
3735 (home-page "https://github.com/DamienCassou/shell-switcher")
3736 (synopsis "Provide fast switching between shell buffers")
3737 (description
3738 "This package provides commands to quickly switch between shell buffers.")
3739 (license license:gpl3+)))
3740
3741 (define-public emacs-names
3742 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3743 (version "20151201.0")
3744 (revision "8"))
3745 (package
3746 (name "emacs-names")
3747 (version (git-version version revision commit))
3748 (source
3749 (origin
3750 (method git-fetch)
3751 (uri (git-reference
3752 (url "https://github.com/Malabarba/names")
3753 (commit commit)))
3754 (file-name (git-file-name name version))
3755 (sha256
3756 (base32
3757 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3758 (build-system emacs-build-system)
3759 (home-page "https://github.com/Malabarba/names/")
3760 (synopsis "Namespace implementation for Emacs Lisp")
3761 (description
3762 "This package provides a macro that writes your namespaces for you.")
3763 (license license:gpl3+))))
3764
3765 (define-public emacs-evil-leader
3766 (package
3767 (name "emacs-evil-leader")
3768 (version "0.4.3")
3769 (source
3770 (origin
3771 (method git-fetch)
3772 (uri
3773 (git-reference
3774 (url "https://github.com/cofi/evil-leader")
3775 (commit version)))
3776 (file-name (git-file-name name version))
3777 (sha256
3778 (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5"))))
3779 (inputs
3780 `(("emacs-evil" ,emacs-evil)))
3781 (build-system emacs-build-system)
3782 (home-page "https://github.com/cofi/evil-leader")
3783 (synopsis "Implement <leader> feature from Vim")
3784 (description
3785 "Evil Leader provides the @code{<leader>} feature from Vim that provides
3786 an easy way to bind keys under a configurable prefix key.")
3787 (license license:gpl3+)))
3788
3789 (define-public emacs-evil-textobj-syntax
3790 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3791 (version "0")
3792 (revision "1"))
3793 (package
3794 (name "emacs-evil-textobj-syntax")
3795 (version (git-version version revision commit))
3796 (source
3797 (origin
3798 (method git-fetch)
3799 (uri (git-reference
3800 (url "https://github.com/laishulu/evil-textobj-syntax/")
3801 (commit commit)))
3802 (file-name (git-file-name name version))
3803 (sha256
3804 (base32
3805 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3806 (build-system emacs-build-system)
3807 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3808 ("emacs-names" ,emacs-names)))
3809 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3810 (synopsis "Text objects based on syntax highlighting")
3811 (description
3812 "This package provides text objects for @code{evil-mode} with
3813 boundaries defined by syntax highlighting.")
3814 (license license:gpl3+))))
3815
3816 (define-public emacs-flycheck-flow
3817 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3818 (version "1.1")
3819 (revision "1"))
3820 (package
3821 (name "emacs-flycheck-flow")
3822 (version (git-version version revision commit))
3823 (source
3824 (origin
3825 (method git-fetch)
3826 (uri (git-reference
3827 (url "https://github.com/lbolla/emacs-flycheck-flow")
3828 (commit commit)))
3829 (file-name (git-file-name name version))
3830 (sha256
3831 (base32
3832 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3833 (build-system emacs-build-system)
3834 (propagated-inputs
3835 `(("emacs-flycheck" ,emacs-flycheck)))
3836 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3837 (synopsis "Flow support for @code{flycheck-mode}")
3838 (description
3839 "This package allows @code{flycheck-mode} to provide syntax-checking
3840 for Flow files.")
3841 (license license:gpl3+))))
3842
3843 (define-public emacs-flycheck-grammalecte
3844 (package
3845 (name "emacs-flycheck-grammalecte")
3846 (version "1.2")
3847 (source
3848 (origin
3849 (method url-fetch)
3850 (uri (string-append "https://git.deparis.io/"
3851 "flycheck-grammalecte/snapshot/"
3852 "flycheck-grammalecte-" version ".tar.xz"))
3853 (sha256
3854 (base32 "1mzmzyik843r4j0ibpwqrxmb0g4xmirrf3lxr010bddkmmxf749a"))))
3855 (build-system emacs-build-system)
3856 (arguments
3857 `(#:include '("\\.(el|py)$")
3858 #:exclude '("^test-profile.el$")
3859 #:emacs ,emacs ;need libxml support
3860 #:phases
3861 (modify-phases %standard-phases
3862 (add-after 'unpack 'specify-python-location
3863 ;; Hard-code python3 executable location in the library.
3864 (lambda* (#:key inputs #:allow-other-keys)
3865 (let ((python3 (string-append (assoc-ref inputs "python")
3866 "/bin/python3")))
3867 (substitute* "flycheck-grammalecte.el"
3868 (("\"python3") (string-append "\"" python3)))
3869 (substitute* '("conjugueur.py" "flycheck-grammalecte.py")
3870 (("/usr/bin/env python3?") python3))
3871 #t)))
3872 (add-before 'build 'link-to-grammalecte
3873 ;; XXX: The Python part of the package requires grammalecte, but
3874 ;; the library is not specified in PYTHONPATH, since we're not
3875 ;; using Python build system. As a workaround, we symlink
3876 ;; grammalecte libraries here.
3877 (lambda* (#:key inputs outputs #:allow-other-keys)
3878 (let* ((out (assoc-ref outputs "out"))
3879 (grammalecte (assoc-ref inputs "grammalecte"))
3880 (version ,(version-major+minor (package-version python))))
3881 (with-directory-excursion
3882 (string-append out "/share/emacs/site-lisp")
3883 (symlink (string-append grammalecte "/lib/"
3884 "python" version "/site-packages/"
3885 "grammalecte")
3886 "grammalecte"))
3887 #t))))))
3888 (inputs
3889 `(("grammalecte" ,grammalecte)
3890 ("python" ,python)))
3891 (propagated-inputs
3892 `(("emacs-flycheck" ,emacs-flycheck)))
3893 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3894 (synopsis "Integrate Grammalecte with Flycheck")
3895 (description
3896 "Integrate the French grammar and typography checker Grammalecte with
3897 Flycheck to automatically look for mistakes in your writings. It also
3898 provides an easy way to find synonyms and antonyms for a given word (to avoid
3899 repetitions for example).")
3900 (license license:gpl3+)))
3901
3902 (define-public emacs-flycheck-rust
3903 (package
3904 (name "emacs-flycheck-rust")
3905 (version "1.1")
3906 (source
3907 (origin
3908 (method git-fetch)
3909 (uri
3910 (git-reference
3911 (url "https://github.com/flycheck/flycheck-rust")
3912 (commit version)))
3913 (file-name (git-file-name name version))
3914 (sha256
3915 (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"))))
3916 (propagated-inputs
3917 `(("emacs-dash" ,emacs-dash)
3918 ("emacs-flycheck" ,emacs-flycheck)
3919 ("emacs-let-alist" ,emacs-let-alist)))
3920 (build-system emacs-build-system)
3921 (home-page "https://github.com/flycheck/flycheck-rust")
3922 (synopsis "Rust/Cargo support for Flycheck")
3923 (description
3924 "This Flycheck extension configures Flycheck automatically for
3925 the current Cargo project.")
3926 (license license:gpl3+)))
3927
3928 (define-public emacs-elisp-demos
3929 (package
3930 (name "emacs-elisp-demos")
3931 (version "2020.02.19")
3932 (source
3933 (origin
3934 (method git-fetch)
3935 (uri (git-reference
3936 (url "https://github.com/xuchunyang/elisp-demos")
3937 (commit version)))
3938 (file-name (git-file-name name version))
3939 (sha256
3940 (base32
3941 "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc"))))
3942 (build-system emacs-build-system)
3943 (arguments
3944 `(#:include '("\\.el$" "\\.org$")
3945 #:tests? #t
3946 #:test-command '("make" "test")))
3947 (home-page "https://github.com/xuchunyang/elisp-demos/")
3948 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3949 (description
3950 "This package injects example uses of Elisp functions into their
3951 respective @code{*Help*} buffers.")
3952 (license license:gpl3+)))
3953
3954 (define-public emacs-docker-compose-mode
3955 (package
3956 (name "emacs-docker-compose-mode")
3957 (version "1.1.0")
3958 (source
3959 (origin
3960 (method git-fetch)
3961 (uri (git-reference
3962 (url "https://github.com/meqif/docker-compose-mode")
3963 (commit version)))
3964 (file-name (git-file-name name version))
3965 (sha256
3966 (base32
3967 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3968 (build-system emacs-build-system)
3969 (propagated-inputs
3970 `(("emacs-dash" ,emacs-dash)
3971 ("emacs-f" ,emacs-f)))
3972 (home-page "https://github.com/meqif/docker-compose-mode/")
3973 (synopsis "Major mode for editing @file{docker-compose} files")
3974 (description
3975 "This is a major mode for @file{docker-compose} files that provides
3976 completion of relevant keywords.")
3977 (license license:expat)))
3978
3979 (define-public emacs-sudo-edit
3980 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3981 (revision "6"))
3982 (package
3983 (name "emacs-sudo-edit")
3984 (version (git-version "0.1.0" revision commit))
3985 (source
3986 (origin
3987 (method git-fetch)
3988 (uri (git-reference
3989 (url "https://github.com/nflath/sudo-edit")
3990 (commit commit)))
3991 (file-name (git-file-name name version))
3992 (sha256
3993 (base32
3994 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3995 (build-system emacs-build-system)
3996 (native-inputs
3997 `(("emacs-undercover" ,emacs-undercover)))
3998 (arguments
3999 `(#:phases
4000 (modify-phases %standard-phases
4001 (add-before 'check 'fix-makefile
4002 (lambda _
4003 (substitute* "Makefile"
4004 (("\\$\\(CASK\\) exec ") ""))
4005 #t)))
4006 #:tests? #t
4007 #:test-command '("make" "test")))
4008 (home-page "https://github.com/nflath/sudo-edit/")
4009 (synopsis "Open files as another user")
4010 (description
4011 "This package allows editing files as another user, including the root
4012 user.")
4013 (license license:gpl3+))))
4014
4015 (define-public emacs-miniedit
4016 (package
4017 (name "emacs-miniedit")
4018 (version "2.0")
4019 (source
4020 (origin
4021 (method git-fetch)
4022 (uri (git-reference
4023 (url "https://github.com/emacsmirror/miniedit")
4024 (commit version)))
4025 (file-name (git-file-name name version))
4026 (sha256
4027 (base32
4028 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
4029 (build-system emacs-build-system)
4030 (home-page "https://github.com/emacsmirror/miniedit/")
4031 (synopsis "Enhanced editing for minibuffer fields")
4032 (description
4033 "This package provides a function that can be called from the
4034 minibuffer to enable editing the minibuffer input in another buffer with
4035 @code{text-mode} enabled.")
4036 (license license:gpl2+)))
4037
4038 (define-public emacs-ob-ipython
4039 (package
4040 (name "emacs-ob-ipython")
4041 (version "20180224")
4042 (source (origin
4043 (method git-fetch)
4044 (uri (git-reference
4045 (commit "7147455230841744fb5b95dcbe03320313a77124")
4046 (url "https://github.com/gregsexton/ob-ipython.git")))
4047 (file-name (git-file-name name version))
4048 (sha256
4049 (base32
4050 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
4051 (build-system emacs-build-system)
4052 (propagated-inputs
4053 `(("emacs-f" ,emacs-f)))
4054 (home-page "http://www.gregsexton.org")
4055 (synopsis "Org-Babel functions for IPython evaluation")
4056 (description "This package adds support to Org-Babel for evaluating Python
4057 source code using IPython.")
4058 (license license:gpl3+)))
4059
4060 (define-public emacs-debbugs
4061 (package
4062 (name "emacs-debbugs")
4063 (version "0.22")
4064 (source (origin
4065 (method url-fetch)
4066 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
4067 version ".tar"))
4068 (sha256
4069 (base32
4070 "05ik9qv539b5c1nzxkk3lk23bqj4vqgmfmd8x367abhb7c9gix2z"))))
4071 (build-system emacs-build-system)
4072 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
4073 (propagated-inputs
4074 `(("emacs-async" ,emacs-async)))
4075 (home-page "https://elpa.gnu.org/packages/debbugs.html")
4076 (synopsis "Access the Debbugs bug tracker in Emacs")
4077 (description
4078 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
4079 Tracker} from within Emacs.
4080
4081 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
4082 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
4083 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
4084 @code{M-x debbugs-org} and related commands.
4085
4086 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
4087 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
4088 (license license:gpl3+)))
4089
4090 (define-public emacs-ert-expectations
4091 (package
4092 (name "emacs-ert-expectations")
4093 (version "0.2")
4094 (source
4095 (origin
4096 (method url-fetch)
4097 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
4098 (sha256
4099 (base32
4100 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
4101 (build-system emacs-build-system)
4102 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
4103 (synopsis "Simple unit test framework for Emacs Lisp")
4104 (description "@code{emacs-ert-expectations} is a simple unit test
4105 framework for Emacs Lisp to be used with @code{ert}.")
4106 (license license:gpl3+)))
4107
4108 (define-public emacs-deferred
4109 (package
4110 (name "emacs-deferred")
4111 (version "0.5.1")
4112 (home-page "https://github.com/kiwanami/emacs-deferred")
4113 (source (origin
4114 (method git-fetch)
4115 (uri (git-reference
4116 (url home-page)
4117 (commit (string-append "v" version))))
4118 (file-name (git-file-name name version))
4119 (sha256
4120 (base32
4121 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
4122 (build-system emacs-build-system)
4123 (arguments
4124 `(#:phases
4125 (modify-phases %standard-phases
4126 (add-after 'unpack 'set-shell
4127 ;; Setting the SHELL environment variable is required for the tests
4128 ;; to find sh.
4129 (lambda _
4130 (setenv "SHELL" (which "sh"))
4131 #t))
4132 (add-before 'check 'fix-makefile
4133 (lambda _
4134 (substitute* "Makefile"
4135 (("\\$\\(CASK\\) exec ") ""))
4136 #t)))
4137 #:tests? #t
4138 #:test-command '("make" "test")))
4139 (native-inputs
4140 `(("emacs-ert-expectations" ,emacs-ert-expectations)
4141 ("emacs-undercover" ,emacs-undercover)
4142 ("ert-runner" ,emacs-ert-runner)))
4143 (synopsis "Simple asynchronous functions for Emacs Lisp")
4144 (description
4145 "The @code{deferred.el} library provides support for asynchronous tasks.
4146 The API is almost the same as that of
4147 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
4148 for asynchronous tasks.")
4149 (license license:gpl3+)))
4150
4151 (define-public emacs-butler
4152 (package
4153 (name "emacs-butler")
4154 (version "0.2.4")
4155 (home-page "https://github.com/AshtonKem/Butler")
4156 (source (origin
4157 (method git-fetch)
4158 (uri (git-reference
4159 (url home-page)
4160 (commit version)))
4161 (file-name (git-file-name name version))
4162 (sha256
4163 (base32
4164 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
4165 (build-system emacs-build-system)
4166 (propagated-inputs
4167 `(("emacs-deferred" ,emacs-deferred)))
4168 (synopsis "Emacs client for Jenkins")
4169 (description
4170 "Butler provides an interface to connect to Jenkins continuous
4171 integration servers. Users can specify a list of server in the
4172 @code{butler-server-list} variable and then use @code{M-x butler-status} to
4173 view the build status of those servers' build jobs, and possibly to trigger
4174 build jobs.")
4175 (license license:gpl3+)))
4176
4177 (define-public emacs-company
4178 (package
4179 (name "emacs-company")
4180 (version "0.9.12")
4181 (source
4182 (origin
4183 (method git-fetch)
4184 (uri (git-reference
4185 (url "https://github.com/company-mode/company-mode.git")
4186 (commit version)))
4187 (file-name (git-file-name name version))
4188 (sha256
4189 (base32 "0c31amc6gyfkmb1ii6mm56c75za1yxkj2iyhrjc45nn2mrh7yj7a"))))
4190 (build-system emacs-build-system)
4191 (arguments
4192 `(#:phases
4193 (modify-phases %standard-phases
4194 (add-before 'check 'fix-bin-dir
4195 (lambda _
4196 ;; The company-files-candidates-normal-root test looks
4197 ;; for the /bin directory, but the build environment has
4198 ;; no /bin directory. Modify the test to look for the
4199 ;; /tmp directory.
4200 (substitute* "test/files-tests.el"
4201 (("/bin/") "/tmp/"))
4202 #t)))
4203 #:tests? #t
4204 #:test-command '("make" "test-batch")))
4205 (home-page "https://company-mode.github.io/")
4206 (synopsis "Modular text completion framework")
4207 (description
4208 "Company is a modular completion mechanism. Modules for retrieving
4209 completion candidates are called back-ends, modules for displaying them are
4210 front-ends. Company comes with many back-ends, e.g., @code{company-elisp}.
4211 These are distributed in separate files and can be used individually.")
4212 (license license:gpl3+)))
4213
4214 (define-public emacs-company-posframe
4215 (let ((version "0.1.0")
4216 (revision "1")
4217 (commit "67d899502384fb9ab2870aba0af41523dea7b64f"))
4218 (package
4219 (name "emacs-company-posframe")
4220 (version (git-version version revision commit))
4221 (source (origin
4222 (method git-fetch)
4223 (uri (git-reference
4224 (url "https://github.com/tumashu/company-posframe.git")
4225 (commit commit)))
4226 (file-name (git-file-name name version))
4227 (sha256
4228 (base32
4229 "051smlvz1siwglsd9k9l0m20mygrx4niflmyshha0064287aysxr"))))
4230 (build-system emacs-build-system)
4231 (propagated-inputs
4232 `(("emacs-company" ,emacs-company)
4233 ("emacs-posframe" ,emacs-posframe)))
4234 (home-page "https://github.com/tumashu/company-posframe")
4235 (synopsis "Use a posframe for @code{emacs-company}'s candidate menu")
4236 (description
4237 "Allows @code{emacs-company} to use child frames for its candidate menus.
4238
4239 @code{emacs-company-posframe} is fast enough for daily use and supports CJK
4240 languages.")
4241 (license license:gpl3+))))
4242
4243 (define-public emacs-irony-mode
4244 (package
4245 (name "emacs-irony-mode")
4246 (version "1.4.0")
4247 (home-page "https://github.com/Sarcasm/irony-mode")
4248 (source (origin
4249 (method git-fetch)
4250 (uri (git-reference
4251 (url (string-append home-page ".git"))
4252 (commit (string-append "v" version))))
4253 (file-name (git-file-name name version))
4254 (sha256
4255 (base32
4256 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
4257 (build-system emacs-build-system)
4258 (inputs `(("server" ,emacs-irony-mode-server)))
4259 (arguments `(#:phases
4260 (modify-phases %standard-phases
4261 (add-after 'unpack 'configure
4262 (lambda* (#:key inputs #:allow-other-keys)
4263 (chmod "irony.el" #o644)
4264 (emacs-substitute-variables "irony.el"
4265 ("irony-server-install-prefix"
4266 (assoc-ref inputs "server")))
4267 #t)))))
4268 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
4269 (description "Irony-mode provides Clang-assisted syntax checking and
4270 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
4271 provide syntax checking and autocompletion on compiler level which is very
4272 resistant against false positives. It also integrates well with other
4273 packages like @code{eldoc-mode} and especially @code{company-mode} as
4274 described on the homepage.")
4275 (license license:gpl3+)))
4276
4277 (define-public emacs-irony-mode-server
4278 (package (inherit emacs-irony-mode)
4279 (name "emacs-irony-mode-server")
4280 (inputs
4281 `(("clang" ,clang)))
4282 (arguments
4283 `(#:phases
4284 (modify-phases %standard-phases
4285 (replace 'configure
4286 (lambda* (#:key outputs #:allow-other-keys)
4287 (let ((out (assoc-ref outputs "out")))
4288 (invoke "cmake"
4289 "server"
4290 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
4291 (build-system cmake-build-system)
4292 (synopsis "Server for the Emacs @dfn{irony mode}")))
4293
4294 (define-public emacs-company-irony
4295 (package
4296 (name "emacs-company-irony")
4297 (version "1.1.0")
4298 (source (origin
4299 (method git-fetch)
4300 (uri (git-reference
4301 (url "https://github.com/Sarcasm/company-irony.git")
4302 (commit (string-append "v" version))))
4303 (sha256 (base32
4304 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
4305 (file-name (git-file-name name version))))
4306 (build-system emacs-build-system)
4307 (inputs
4308 `(("emacs-irony-mode" ,emacs-irony-mode)
4309 ("emacs-company" ,emacs-company)))
4310 (synopsis "C++ completion backend for Company using irony-mode")
4311 (description "This backend for company-mode allows for C++ code completion
4312 with irony-mode using clang-tooling.")
4313 (home-page "https://github.com/Sarcasm/company-irony")
4314 (license license:gpl3+)))
4315
4316 (define-public emacs-flycheck-irony
4317 (package
4318 (name "emacs-flycheck-irony")
4319 (version "0.1.0")
4320 (source (origin
4321 (method git-fetch)
4322 (uri (git-reference
4323 (url "https://github.com/Sarcasm/flycheck-irony.git")
4324 (commit (string-append "v" version))))
4325 (file-name (git-file-name name version))
4326 (sha256
4327 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
4328 (build-system emacs-build-system)
4329 (inputs
4330 `(("irony-mode" ,emacs-irony-mode)
4331 ("flycheck-mode" ,emacs-flycheck)
4332 ("emacs-company" ,emacs-company)))
4333 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
4334 (description "This package provides a frontend for Flycheck that lets
4335 irony-mode do the syntax checking.")
4336 (home-page "https://github.com/Sarcasm/flycheck-irony")
4337 (license license:gpl3+)))
4338
4339 (define-public emacs-irony-eldoc
4340 (package
4341 (name "emacs-irony-eldoc")
4342 (version (package-version emacs-irony-mode))
4343 (source
4344 (origin
4345 (method git-fetch)
4346 (uri (git-reference
4347 (url "https://github.com/ikirill/irony-eldoc.git")
4348 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
4349 (file-name (git-file-name name version))
4350 (sha256
4351 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
4352 (build-system emacs-build-system)
4353 (inputs
4354 `(("irony-mode" ,emacs-irony-mode)))
4355 (synopsis "Eldoc integration for irony-mode")
4356 (description "Irony-eldoc is an eldoc extension that shows documentation
4357 for the current function or variable in the minibuffer.")
4358 (home-page "https://github.com/ikirill/irony-eldoc")
4359 (license license:gpl3+)))
4360
4361 (define-public emacs-company-quickhelp
4362 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
4363 ;; so we use the latest 2.2.0 commit instead
4364 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
4365 (revision "1"))
4366 (package
4367 (name "emacs-company-quickhelp")
4368 (version (git-version "2.2.0" revision commit))
4369 (source
4370 (origin
4371 (method git-fetch)
4372 (uri (git-reference
4373 (url "https://github.com/expez/company-quickhelp.git")
4374 (commit commit)))
4375 (file-name (git-file-name name version))
4376 (sha256
4377 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
4378 (build-system emacs-build-system)
4379 (propagated-inputs
4380 `(("emacs-pos-tip" ,emacs-pos-tip)
4381 ("emacs-company" ,emacs-company)))
4382 (home-page "https://github.com/expez/company-quickhelp")
4383 (synopsis "Popup documentation for completion candidates")
4384 (description "@code{company-quickhelp} shows documentation for the
4385 completion candidate when using the Company text completion framework.")
4386 (license license:gpl3+))))
4387
4388 (define-public emacs-math-symbol-lists
4389 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
4390 (revision "1"))
4391 (package
4392 (name "emacs-math-symbol-lists")
4393 (version (git-version "1.2.1" revision commit))
4394 (source
4395 (origin
4396 (method git-fetch)
4397 (uri (git-reference
4398 (url "https://github.com/vspinu/math-symbol-lists.git")
4399 (commit commit)))
4400 (file-name (git-file-name name version))
4401 (sha256
4402 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
4403 (build-system emacs-build-system)
4404 (home-page "https://github.com/vspinu/math-symbol-lists")
4405 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
4406 (description "This is a storage package used by completion engines like
4407 @code{company-math}.")
4408 (license license:gpl3+))))
4409
4410 (define-public emacs-company-coq
4411 (package
4412 (name "emacs-company-coq")
4413 (version "1.0.1")
4414 (source
4415 (origin
4416 (method git-fetch)
4417 (uri
4418 (git-reference
4419 (url "https://github.com/cpitclaudel/company-coq")
4420 (commit version)))
4421 (file-name (git-file-name name version))
4422 (sha256
4423 (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b"))))
4424 (inputs
4425 `(("emacs-company" ,emacs-company)
4426 ("emacs-company-math" ,emacs-company-math)
4427 ("emacs-dash" ,emacs-dash)
4428 ("emacs-yasnippet" ,emacs-yasnippet)))
4429 (build-system emacs-build-system)
4430 (home-page "https://github.com/cpitclaudel/company-coq")
4431 (synopsis "Emacs extensions for Proof General's Coq mode")
4432 (description "This package includes a collection of Company mode backends
4433 for Proof-General's Coq mode, and many useful extensions to Proof-General. It
4434 features:
4435
4436 @itemize
4437 @item Prettification of operators, types, and subscripts,
4438 @item Auto-completion,
4439 @item Insertion of cases,
4440 @item Fully explicit intros,
4441 @item Outlines, code folding, and jumping to definition,
4442 @item Help with errors,
4443 @item and more.
4444 @end itemize")
4445 (license license:gpl3+)))
4446
4447 (define-public emacs-company-math
4448 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
4449 (revision "1"))
4450 (package
4451 (name "emacs-company-math")
4452 (version (git-version "1.3" revision commit))
4453 (source
4454 (origin
4455 (method git-fetch)
4456 (uri (git-reference
4457 (url "https://github.com/vspinu/company-math.git")
4458 (commit commit)))
4459 (file-name (git-file-name name version))
4460 (sha256
4461 (base32
4462 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
4463 (build-system emacs-build-system)
4464 (propagated-inputs
4465 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
4466 ("emacs-company" ,emacs-company)))
4467 (home-page "https://github.com/vspinu/company-math")
4468 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
4469 (description "This package provides a backend for use with
4470 @code{company-mode} allowing for completion of common math symbols.")
4471 (license license:gpl3+))))
4472
4473 (define-public emacs-compdef
4474 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
4475 (revision "2"))
4476 (package
4477 (name "emacs-compdef")
4478 (version (git-version "0.2" revision commit))
4479 (source
4480 (origin
4481 (method git-fetch)
4482 (uri (git-reference
4483 (url "https://gitlab.com/jjzmajic/compdef.git")
4484 (commit commit)))
4485 (file-name (git-file-name name version))
4486 (sha256
4487 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
4488 (build-system emacs-build-system)
4489 (home-page "https://gitlab.com/jjzmajic/compdef")
4490 (synopsis "Set local completion backends")
4491 (description "This package provides a function to cleanly set local
4492 completion backends according to mode, and integrates with
4493 @code{use-package}.")
4494 (license license:gpl3+))))
4495
4496 (define-public emacs-icomplete-vertical
4497 (package
4498 (name "emacs-icomplete-vertical")
4499 (version "0.1")
4500 (source
4501 (origin
4502 (method git-fetch)
4503 (uri (git-reference
4504 (url "https://github.com/oantolin/icomplete-vertical.git")
4505 (commit version)))
4506 (file-name (git-file-name name version))
4507 (sha256
4508 (base32
4509 "1bqnlvv1gvrjriazvzd3bq98r8ii6fqax0zznhvkl1ij5pf55a90"))))
4510 (build-system emacs-build-system)
4511 (home-page "https://github.com/oantolin/icomplete-vertical")
4512 (synopsis "Display icomplete candidates vertically")
4513 (description
4514 "This package defines a global minor mode to display Icomplete
4515 completion candidates vertically.")
4516 (license license:gpl3+)))
4517
4518 (define-public emacs-handle
4519 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
4520 (revision "2"))
4521 (package
4522 (name "emacs-handle")
4523 (version (git-version "0.1" revision commit))
4524 (source
4525 (origin
4526 (method git-fetch)
4527 (uri (git-reference
4528 (url "https://gitlab.com/jjzmajic/handle.git")
4529 (commit commit)))
4530 (file-name (git-file-name name version))
4531 (sha256
4532 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
4533 (build-system emacs-build-system)
4534 (propagated-inputs
4535 `(("emacs-parent-mode" ,emacs-parent-mode)))
4536 (home-page "https://gitlab.com/jjzmajic/handle")
4537 (synopsis "Handle generic functions across related major modes")
4538 (description "This package provides generic functions that specialize on
4539 major modes and intended purpose rather than on arguments. Different
4540 callables for tasks like expression evaluation, definition-jumping, and more
4541 can now be grouped accordingly and tried in sequence until one of them
4542 succeeds.")
4543 (license license:gpl3+))))
4544
4545 (define-public emacs-nswbuff
4546 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
4547 (revision "1"))
4548 (package
4549 (name "emacs-nswbuff")
4550 (version (git-version "1.0" revision commit))
4551 (source
4552 (origin
4553 (method git-fetch)
4554 (uri (git-reference
4555 (url "https://github.com/joostkremers/nswbuff.git")
4556 (commit commit)))
4557 (file-name (git-file-name name version))
4558 (sha256
4559 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
4560 (build-system emacs-build-system)
4561 (home-page "https://github.com/joostkremers/nswbuff")
4562 (synopsis "Quickly switch between buffers")
4563 (description "This package allows for navigating between buffers within
4564 a customizable list.")
4565 (license license:gpl3+))))
4566
4567 (define-public emacs-phi-search
4568 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
4569 (revision "1"))
4570 (package
4571 (name "emacs-phi-search")
4572 (version (git-version "20160630" revision commit))
4573 (source
4574 (origin
4575 (method git-fetch)
4576 (uri (git-reference
4577 (url "https://github.com/zk-phi/phi-search.git")
4578 (commit commit)))
4579 (file-name (git-file-name name version))
4580 (sha256
4581 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
4582 (build-system emacs-build-system)
4583 (home-page "https://github.com/zk-phi/phi-search")
4584 (synopsis "Interactive search compatible with @code{multiple-cursors}")
4585 (description "This package can be used with @code{multiple-cursors} to
4586 provide an incremental search that moves all fake cursors in sync.")
4587 (license license:gpl2+))))
4588
4589 (define-public emacs-phi-search-mc
4590 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
4591 (revision "1"))
4592 (package
4593 (name "emacs-phi-search-mc")
4594 (version (git-version "2.2.1" revision commit))
4595 (source
4596 (origin
4597 (method git-fetch)
4598 (uri (git-reference
4599 (url "https://github.com/knu/phi-search-mc.el.git")
4600 (commit commit)))
4601 (file-name (git-file-name name version))
4602 (sha256
4603 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
4604 (build-system emacs-build-system)
4605 (propagated-inputs
4606 `(("emacs-phi-search" ,emacs-phi-search)
4607 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4608 (home-page "https://github.com/knu/phi-search-mc.el")
4609 (synopsis "Extend @code{phi-search} with additional
4610 @code{multiple-cursors} functionality")
4611 (description "This package provides further integration between
4612 @code{multiple-cursors} and @code{phi-search}, a package that allows for
4613 interactive searches to move multiple fake cursors.")
4614 (license license:bsd-2))))
4615
4616 (define-public emacs-multiple-cursors
4617 (package
4618 (name "emacs-multiple-cursors")
4619 (version "1.4.0")
4620 (source
4621 (origin
4622 (method git-fetch)
4623 (uri (git-reference
4624 (url "https://github.com/magnars/multiple-cursors.el.git")
4625 (commit version)))
4626 (file-name (git-file-name name version))
4627 (sha256
4628 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
4629 (build-system emacs-build-system)
4630 (home-page "https://github.com/magnars/multiple-cursors.el")
4631 (synopsis "Multiple cursors for Emacs")
4632 (description
4633 "This package adds support to Emacs for editing text with multiple
4634 simultaneous cursors.")
4635 (license license:gpl3+)))
4636
4637 (define-public emacs-mc-extras
4638 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
4639 (revision "1"))
4640 (package
4641 (name "emacs-mc-extras")
4642 (version (git-version "1.2.4" revision commit))
4643 (source
4644 (origin
4645 (method git-fetch)
4646 (uri (git-reference
4647 (url "https://github.com/knu/mc-extras.el.git")
4648 (commit commit)))
4649 (file-name (git-file-name name version))
4650 (sha256
4651 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
4652 (build-system emacs-build-system)
4653 (propagated-inputs
4654 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4655 (home-page "https://github.com/knu/mc-extras.el")
4656 (synopsis "Extra functions for manipulating multiple cursors")
4657 (description
4658 "This package provides additional functions for
4659 @code{multiple-cursors}, including functions for marking s-expressions,
4660 comparing characters, removing cursors, and more.")
4661 (license license:bsd-2))))
4662
4663 (define-public emacs-typo
4664 (package
4665 (name "emacs-typo")
4666 (version "1.1")
4667 (home-page "https://github.com/jorgenschaefer/typoel")
4668 (source (origin
4669 (method git-fetch)
4670 (uri (git-reference
4671 (url home-page)
4672 (commit (string-append "v" version))))
4673 (file-name (git-file-name name version))
4674 (sha256
4675 (base32
4676 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
4677 (build-system emacs-build-system)
4678 (synopsis "Minor mode for typographic editing")
4679 (description
4680 "This package provides two Emacs modes, @code{typo-mode} and
4681 @code{typo-global-mode}. These modes automatically insert Unicode characters
4682 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
4683 automatically inserts a Unicode opening or closing quotation mark, depending
4684 on context.")
4685 (license license:gpl3+)))
4686
4687 (define-public emacs-company-lsp
4688 (package
4689 (name "emacs-company-lsp")
4690 (version "2.1.0")
4691 (source (origin
4692 (method git-fetch)
4693 (uri (git-reference
4694 (url "https://github.com/tigersoldier/company-lsp.git")
4695 (commit version)))
4696 (file-name (git-file-name name version))
4697 (sha256
4698 (base32
4699 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
4700 (build-system emacs-build-system)
4701 (propagated-inputs
4702 `(("emacs-dash" ,emacs-dash)
4703 ("emacs-lsp-mode" ,emacs-lsp-mode)
4704 ("emacs-company" ,emacs-company)
4705 ("emacs-s" ,emacs-s)
4706 ("emacs-dash" ,emacs-dash)))
4707 (native-inputs
4708 `(("emacs-buttercup" ,emacs-buttercup)))
4709 (arguments
4710 `(#:tests? #t
4711 #:test-command '("buttercup" "-L" ".")))
4712 (home-page "https://github.com/tigersoldier/company-lsp")
4713 (synopsis "Completion for @code{lsp-mode}")
4714 (description
4715 "This package provides completion features that are not possible with
4716 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
4717 characters and asynchronous fetching of completion candidates.")
4718 (license license:gpl3+)))
4719
4720 (define-public emacs-scheme-complete
4721 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
4722 (package
4723 (name "emacs-scheme-complete")
4724 (version (string-append "20151223." (string-take commit 8)))
4725 (source
4726 (origin
4727 (method git-fetch)
4728 (uri (git-reference
4729 (url "https://github.com/ashinn/scheme-complete.git")
4730 (commit commit)))
4731 (file-name (git-file-name name version))
4732 (sha256
4733 (base32
4734 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
4735 (patches
4736 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
4737 (build-system emacs-build-system)
4738 (home-page "https://github.com/ashinn/scheme-complete")
4739 (synopsis "Smart tab completion for Scheme in Emacs")
4740 (description
4741 "This file provides a single function, @code{scheme-smart-complete},
4742 which you can use for intelligent, context-sensitive completion for any Scheme
4743 implementation in Emacs. To use it just load this file and bind that function
4744 to a key in your preferred mode.")
4745 (license license:public-domain))))
4746
4747 (define-public emacs-scel
4748 (let ((version "20170629")
4749 (revision "1")
4750 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
4751 (package
4752 (name "emacs-scel")
4753 (version (git-version version revision commit))
4754 (source
4755 (origin
4756 (method git-fetch)
4757 (uri (git-reference
4758 (url "https://github.com/supercollider/scel.git")
4759 (commit commit)))
4760 (file-name (git-file-name name version))
4761 (sha256
4762 (base32
4763 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
4764 (build-system emacs-build-system)
4765 (arguments
4766 `(#:modules ((guix build emacs-build-system)
4767 ((guix build cmake-build-system) #:prefix cmake:)
4768 (guix build utils))
4769 #:imported-modules (,@%emacs-build-system-modules
4770 (guix build cmake-build-system))
4771 #:phases
4772 (modify-phases %standard-phases
4773 (add-after 'unpack 'configure
4774 (lambda* (#:key outputs #:allow-other-keys)
4775 (substitute* "el/CMakeLists.txt"
4776 (("share/emacs/site-lisp/SuperCollider")
4777 (string-append
4778 "share/emacs/site-lisp")))
4779 ((assoc-ref cmake:%standard-phases 'configure)
4780 #:outputs outputs
4781 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
4782 (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
4783 (lambda _
4784 (setenv "EMACSLOADPATH"
4785 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
4786 #t))
4787 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
4788 (inputs
4789 `(("supercollider" ,supercollider)))
4790 (native-inputs
4791 `(("cmake" ,cmake-minimal)))
4792 (home-page "https://github.com/supercollider/scel")
4793 (synopsis "SuperCollider Emacs interface")
4794 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
4795 SuperCollider is a platform for audio synthesis and algorithmic composition.")
4796 (license license:gpl2+))))
4797
4798 (define-public emacs-company-auctex
4799 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
4800 (revision "1"))
4801 (package
4802 (name "emacs-company-auctex")
4803 (version (git-version "0" revision commit))
4804 (source (origin
4805 (method git-fetch)
4806 (uri (git-reference
4807 (url "https://github.com/alexeyr/company-auctex")
4808 (commit commit)))
4809 (file-name (git-file-name name version))
4810 (sha256
4811 (base32
4812 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
4813 (build-system emacs-build-system)
4814 (propagated-inputs
4815 `(("emacs-yasnippet" ,emacs-yasnippet)
4816 ("emacs-auctex" ,emacs-auctex)
4817 ("emacs-company" ,emacs-company)))
4818 (home-page "https://github.com/alexeyr/company-auctex/")
4819 (synopsis "Completion for @code{AUCTeX}")
4820 (description
4821 "This package provides a group of backends permitting auto-completion
4822 for @code{AUCTeX}.")
4823 (license license:gpl3+))))
4824
4825 (define-public emacs-mit-scheme-doc
4826 (package
4827 (name "emacs-mit-scheme-doc")
4828 (version "20140203")
4829 (source
4830 (origin
4831 (modules '((guix build utils)))
4832 (snippet
4833 ;; keep only file of interest
4834 '(begin
4835 (for-each delete-file '("dot-emacs.el" "Makefile"))
4836 (install-file "6.945-config/mit-scheme-doc.el" ".")
4837 (delete-file-recursively "6.945-config")
4838 #t))
4839 (file-name (string-append name "-" version ".tar.bz2"))
4840 (method url-fetch)
4841 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4842 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4843 (sha256
4844 (base32
4845 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4846 (build-system emacs-build-system)
4847 (inputs `(("mit-scheme" ,mit-scheme)))
4848 (arguments
4849 `(#:phases
4850 (modify-phases %standard-phases
4851 (add-after 'unpack 'configure-doc
4852 (lambda* (#:key inputs #:allow-other-keys)
4853 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4854 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4855 "mit-scheme-"
4856 ,(package-version mit-scheme))))
4857 (substitute* "mit-scheme-doc.el"
4858 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4859 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4860 (home-page "https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4861 (synopsis "MIT-Scheme documentation lookup for Emacs")
4862 (description
4863 "This package provides a set of Emacs functions to search definitions of
4864 identifiers in the MIT-Scheme documentation.")
4865 (license license:gpl2+)))
4866
4867 (define-public emacs-constants
4868 (package
4869 (name "emacs-constants")
4870 (version "2.6")
4871 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4872 (source
4873 (origin
4874 (method git-fetch)
4875 (uri (git-reference
4876 (url "https://github.com/fedeinthemix/emacs-constants.git")
4877 (commit (string-append "v" version))))
4878 (file-name (git-file-name name version))
4879 (sha256
4880 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4881 (build-system emacs-build-system)
4882 (synopsis "Enter definition of constants into an Emacs buffer")
4883 (description
4884 "This package provides functions for inserting the definition of natural
4885 constants and units into an Emacs buffer.")
4886 (license license:gpl2+)))
4887
4888 (define-public emacs-tagedit
4889 (package
4890 (name "emacs-tagedit")
4891 (version "1.4.0")
4892 (source
4893 (origin
4894 (method git-fetch)
4895 (uri (git-reference
4896 (url "https://github.com/magnars/tagedit.git")
4897 (commit version)))
4898 (file-name (git-file-name name version))
4899 (sha256
4900 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4901 (build-system emacs-build-system)
4902 (propagated-inputs
4903 `(("emacs-s" ,emacs-s)
4904 ("emacs-dash" ,emacs-dash)))
4905 (home-page "https://github.com/magnars/tagedit")
4906 (synopsis "Some paredit-like features for html-mode")
4907 (description
4908 "This package provides a collection of paredit-like functions for editing
4909 in @code{html-mode}.")
4910 (license license:gpl3+)))
4911
4912 (define-public emacs-slime
4913 (package
4914 (name "emacs-slime")
4915 (version "2.24")
4916 (source
4917 (origin
4918 (method git-fetch)
4919 (uri (git-reference
4920 (url "https://github.com/slime/slime.git")
4921 (commit (string-append "v" version))))
4922 (file-name (git-file-name name version))
4923 (sha256
4924 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4925 (build-system emacs-build-system)
4926 (native-inputs
4927 `(("texinfo" ,texinfo)))
4928 (arguments
4929 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4930 #:exclude '("^slime-tests.el" "^contrib/test/"
4931 "^contrib/Makefile$" "^contrib/README.md$")
4932 #:phases
4933 (modify-phases %standard-phases
4934 (add-after 'unpack 'make-git-checkout-writable
4935 (lambda _
4936 (for-each make-file-writable (find-files "."))
4937 #t))
4938 (add-before 'install 'configure
4939 (lambda* _
4940 (emacs-substitute-variables "slime.el"
4941 ("inferior-lisp-program" "sbcl"))
4942 #t))
4943 (add-before 'install 'install-doc
4944 (lambda* (#:key outputs #:allow-other-keys)
4945 (let* ((out (assoc-ref outputs "out"))
4946 (info-dir (string-append out "/share/info"))
4947 (doc-dir (string-append out "/share/doc/"
4948 ,name "-" ,version))
4949 (doc-files '("doc/slime-refcard.pdf"
4950 "README.md" "NEWS" "PROBLEMS"
4951 "CONTRIBUTING.md")))
4952 (with-directory-excursion "doc"
4953 (substitute* "Makefile"
4954 (("infodir=/usr/local/info")
4955 (string-append "infodir=" info-dir)))
4956 (invoke "make" "html/index.html")
4957 (invoke "make" "slime.info")
4958 (install-file "slime.info" info-dir)
4959 (copy-recursively "html" (string-append doc-dir "/html")))
4960 (for-each (lambda (f)
4961 (install-file f doc-dir)
4962 (delete-file f))
4963 doc-files)
4964 (delete-file-recursively "doc")
4965 #t))))))
4966 (home-page "https://github.com/slime/slime")
4967 (synopsis "Superior Lisp Interaction Mode for Emacs")
4968 (description
4969 "SLIME extends Emacs with support for interactive programming in
4970 Common Lisp. The features are centered around @command{slime-mode},
4971 an Emacs minor mode that complements the standard @command{lisp-mode}.
4972 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4973 adds support for interacting with a running Common Lisp process
4974 for compilation, debugging, documentation lookup, and so on.")
4975 (license (list license:gpl2+ license:public-domain))))
4976
4977 (define-public emacs-popup
4978 (package
4979 (name "emacs-popup")
4980 (version "0.5.3")
4981 (source
4982 (origin
4983 (method git-fetch)
4984 (uri (git-reference
4985 (url "https://github.com/auto-complete/popup-el.git")
4986 (commit (string-append "v" version))))
4987 (file-name (git-file-name name version))
4988 (sha256
4989 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4990 (build-system emacs-build-system)
4991 (home-page "https://github.com/auto-complete/popup-el")
4992 (synopsis "Visual Popup User Interface for Emacs")
4993 (description
4994 "Popup.el is a visual popup user interface library for Emacs.
4995 This provides a basic API and common UI widgets such as popup tooltips
4996 and popup menus.")
4997 (license license:gpl3+)))
4998
4999 (define-public emacs-python-environment
5000 (package
5001 (name "emacs-python-environment")
5002 (version "0.0.2")
5003 (source
5004 (origin
5005 (method git-fetch)
5006 (uri (git-reference
5007 (url "https://github.com/tkf/emacs-python-environment/")
5008 (commit version)))
5009 (file-name (git-file-name name version))
5010 (sha256
5011 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
5012 (build-system emacs-build-system)
5013 (propagated-inputs
5014 `(("emacs-deferred" ,emacs-deferred)))
5015 (home-page "https://github.com/tkf/emacs-python-environment")
5016 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
5017 (description
5018 "This package permits automated installation of tools written in Python.")
5019 (license license:gpl3+)))
5020
5021 (define-public emacs-jedi
5022 (package
5023 (name "emacs-jedi")
5024 (version "0.2.8")
5025 (source (origin
5026 (method git-fetch)
5027 (uri (git-reference
5028 (url "https://github.com/tkf/emacs-jedi/")
5029 (commit (string-append "v" version))))
5030 (file-name (git-file-name name version))
5031 (sha256
5032 (base32
5033 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
5034 (build-system emacs-build-system)
5035 (native-inputs
5036 `(("emacs-mocker" ,emacs-mocker)))
5037 (propagated-inputs
5038 `(("emacs-auto-complete" ,emacs-auto-complete)
5039 ("emacs-python-environment" ,emacs-python-environment)
5040 ("emacs-epc" ,emacs-epc)))
5041 (home-page "https://github.com/tkf/emacs-jedi")
5042 (synopsis "Provides Python completion in Emacs")
5043 (description
5044 "This package provides completion in Python buffers and also helps find
5045 the locations of docstrings, arguments, and functions.")
5046 (license license:gpl3+)))
5047
5048 (define-public emacs-company-jedi
5049 (package
5050 (name "emacs-company-jedi")
5051 (version "0.04")
5052 (source (origin
5053 (method git-fetch)
5054 (uri (git-reference
5055 (url "https://github.com/syohex/emacs-company-jedi")
5056 (commit version)))
5057 (file-name (git-file-name name version))
5058 (sha256
5059 (base32
5060 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
5061 (build-system emacs-build-system)
5062 (propagated-inputs
5063 `(("emacs-jedi" ,emacs-jedi)
5064 ("emacs-company" ,emacs-company)))
5065 (home-page "https://github.com/syohex/emacs-company-jedi")
5066 (synopsis "Provides Python completion in @code{company-mode}")
5067 (description
5068 "This package provides a Company backend for Python.")
5069 (license license:gpl3+)))
5070
5071 (define-public emacs-puppet-mode
5072 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
5073 (revision "1"))
5074 (package
5075 (name "emacs-puppet-mode")
5076 ;; The last release, 0.3 was several years ago, and there have been many
5077 ;; commits since
5078 (version (git-version "0.3" revision commit))
5079 (source
5080 (origin
5081 (method url-fetch)
5082 (uri (string-append
5083 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
5084 commit "/puppet-mode.el"))
5085 (sha256
5086 (base32
5087 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
5088 (build-system emacs-build-system)
5089 (home-page "https://github.com/voxpupuli/puppet-mode")
5090 (synopsis "Emacs major mode for the Puppet configuration language")
5091 (description
5092 "This package provides support for the Puppet configuration language,
5093 including syntax highlighting, indentation of expressions and statements,
5094 linting of manifests and integration with Puppet Debugger.")
5095 ;; Also incorporates work covered by the Apache License, Version 2.0
5096 (license license:gpl3+))))
5097
5098 (define-public emacs-god-mode
5099 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
5100 (revision "1"))
5101 (package
5102 (name "emacs-god-mode")
5103 (version (string-append "20151005.925."
5104 revision "-" (string-take commit 9)))
5105 (source
5106 (origin
5107 (method git-fetch)
5108 (uri (git-reference
5109 (url "https://github.com/chrisdone/god-mode.git")
5110 (commit commit)))
5111 (file-name (git-file-name name version))
5112 (sha256
5113 (base32
5114 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
5115 (build-system emacs-build-system)
5116 (home-page "https://github.com/chrisdone/god-mode")
5117 (synopsis "Minor mode for entering commands without modifier keys")
5118 (description
5119 "This package provides a global minor mode for entering Emacs commands
5120 without modifier keys. It's similar to Vim's separation of commands and
5121 insertion mode. When enabled all keys are implicitly prefixed with
5122 @samp{C-} (among other helpful shortcuts).")
5123 (license license:gpl3+))))
5124
5125 (define-public emacs-jinja2-mode
5126 (package
5127 (name "emacs-jinja2-mode")
5128 (version "0.2")
5129 (source
5130 (origin
5131 (method git-fetch)
5132 (uri (git-reference
5133 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
5134 (commit (string-append "v" version))))
5135 (file-name (git-file-name name version))
5136 (sha256
5137 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
5138 (build-system emacs-build-system)
5139 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
5140 (synopsis "Major mode for jinja2")
5141 (description
5142 "Emacs major mode for jinja2 with: syntax highlighting,
5143 sgml/html integration, and indentation (working with sgml).")
5144 (license license:gpl3+)))
5145
5146 (define-public emacs-company-cabal
5147 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
5148 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
5149 (revision "1"))
5150 (package
5151 (name "emacs-company-cabal")
5152 (version (git-version "0.3.0" revision commit))
5153 (source (origin
5154 (method git-fetch)
5155 (uri (git-reference
5156 (url "https://github.com/iquiw/company-cabal/")
5157 (commit commit)))
5158 (file-name (git-file-name name version))
5159 (sha256
5160 (base32
5161 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
5162 (build-system emacs-build-system)
5163 (propagated-inputs
5164 `(("emacs-company" ,emacs-company)))
5165 (arguments
5166 `(#:include (cons "^tools\\/" %default-include)))
5167 (home-page "https://github.com/iquiw/company-cabal/")
5168 (synopsis "Company completion for Haskell Cabal files")
5169 (description
5170 "This package allows for completion of field names, section names,
5171 field values, and more within @code{haskell-cabal-mode}.")
5172 (license license:gpl3+))))
5173
5174 (define-public emacs-rfcview
5175 (package
5176 (name "emacs-rfcview")
5177 (version "0.13")
5178 (home-page "http://www.loveshack.ukfsn.org/emacs")
5179 (source (origin
5180 (method url-fetch)
5181 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
5182 (sha256
5183 (base32
5184 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
5185 (build-system emacs-build-system)
5186 (synopsis "Prettify Request for Comments (RFC) documents")
5187 (description "The Internet Engineering Task Force (IETF) and the Internet
5188 Society (ISOC) publish various Internet-related protocols and specifications
5189 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
5190 documents. RFCs and STDs are published in a simple text form. This package
5191 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
5192 read these documents in Emacs. It prettifies the text and adds
5193 hyperlinks/menus for easier navigation. It also provides functions for
5194 browsing the index of RFC documents and fetching them from remote servers or
5195 local directories.")
5196 (license license:gpl3+)))
5197
5198 (define-public emacs-ffap-rfc-space
5199 (package
5200 (name "emacs-ffap-rfc-space")
5201 (version "12")
5202 (home-page "https://user42.tuxfamily.org/ffap-rfc-space/index.html")
5203 (source (origin
5204 (method url-fetch)
5205 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
5206 (sha256
5207 (base32
5208 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
5209 (build-system emacs-build-system)
5210 (synopsis "Make ffap recognize an RFC with a space before its number")
5211 (description "The Internet Engineering Task Force (IETF) and the
5212 Internet Society (ISOC) publish various Internet-related protocols and
5213 specifications as \"Request for Comments\" (RFC) documents. The
5214 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
5215 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
5216 and load the appropriate RFC from a remote server. However, it fails
5217 to recognize a name like \"RFC 1234\". This package enhances ffap so
5218 that it correctly finds RFCs even when a space appears before the
5219 number.")
5220 (license license:gpl3+)))
5221
5222 (define-public emacs-org-bullets
5223 (package
5224 (name "emacs-org-bullets")
5225 (version "0.2.4")
5226 (source
5227 (origin
5228 (method git-fetch)
5229 (uri (git-reference
5230 (url "https://github.com/sabof/org-bullets.git")
5231 (commit version)))
5232 (file-name (git-file-name name version))
5233 (sha256
5234 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
5235 (build-system emacs-build-system)
5236 (home-page "https://github.com/sabof/org-bullets")
5237 (synopsis "Show bullets in org-mode as UTF-8 characters")
5238 (description
5239 "This package provides an Emacs minor mode causing bullets in
5240 @code{org-mode} to be rendered as UTF-8 characters.")
5241 (license license:gpl3+)))
5242
5243 (define-public emacs-org-superstar
5244 (package
5245 (name "emacs-org-superstar")
5246 (version "1.2.1")
5247 (source
5248 (origin
5249 (method git-fetch)
5250 (uri (git-reference
5251 (url "https://github.com/integral-dw/org-superstar-mode.git")
5252 (commit (string-append "v" version))))
5253 (file-name (git-file-name name version))
5254 (sha256
5255 (base32 "14w06v76xi4f6hpq6xzicrjjv0b802g5zc9as4mpimfy5gx2xpm0"))))
5256 (build-system emacs-build-system)
5257 (propagated-inputs
5258 `(("emacs-org" ,emacs-org)))
5259 (home-page "https://github.com/integral-dw/org-superstar-mode")
5260 (synopsis "Prettify headings and plain lists in Org mode")
5261 (description "This package prettifies headings and plain lists in
5262 Org mode. It is a direct descendant of @code{org-bullets}, with most
5263 of the code base completely rewritten.
5264
5265 Currently, this package prettifies Org heading lines by:
5266 @itemize
5267 @item replacing trailing bullets by UTF-8 bullets,
5268 @item hiding leading stars, customizing their look or removing them from vision,
5269 @item applying a custom face to the header bullet,
5270 @item applying a custom face to the leading bullets,
5271 @item using double-bullets for inline tasks,
5272 @item (optional) using special bullets for TODO keywords.
5273 @end itemize
5274
5275 It also prettifies Org plain list bullets by:
5276 @itemize
5277 @item replacing each bullet type (*, + and -) with UTF-8 bullets,
5278 @item applying a custom face to item bullets.
5279 @end itemize
5280
5281 Features degrade gracefully when viewed from terminal.")
5282 (license license:gpl3+)))
5283
5284 (define-public emacs-org-pomodoro
5285 ;; Last release version was from 2016.
5286 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
5287 (revision "1"))
5288 (package
5289 (name "emacs-org-pomodoro")
5290 (version (git-version "2.1.0" revision commit))
5291 (source
5292 (origin
5293 (method git-fetch)
5294 (uri (git-reference
5295 (url "https://github.com/marcinkoziej/org-pomodoro.git")
5296 (commit commit)))
5297 (file-name (git-file-name name version))
5298 (sha256
5299 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
5300 (build-system emacs-build-system)
5301 (propagated-inputs
5302 `(("emacs-alert" ,emacs-alert)))
5303 (arguments
5304 `(#:include (cons "^resources\\/" %default-include)
5305 #:tests? #t
5306 #:test-command '("emacs" "--batch"
5307 "-l" "org-pomodoro-tests.el"
5308 "-f" "ert-run-tests-batch-and-exit")
5309 #:phases
5310 (modify-phases %standard-phases
5311 (add-before 'check 'make-tests-writable
5312 (lambda _
5313 (make-file-writable "org-pomodoro-tests.el")
5314 #t))
5315 (add-before 'check 'add-require
5316 (lambda _
5317 (emacs-batch-edit-file "org-pomodoro-tests.el"
5318 `(progn (progn (goto-char (point-min))
5319 (re-search-forward
5320 "ert-deftest")
5321 (beginning-of-line)
5322 (forward-line -1)
5323 (insert "(require 'org-pomodoro)"))
5324 (basic-save-buffer)))
5325 #t)))))
5326 (home-page "https://github.com/marcinkoziej/org-pomodoro")
5327 (synopsis "Pomodoro technique for org-mode")
5328 (description "@code{emacs-org-pomodoro} adds very basic support for
5329 Pomodoro technique in Emacs org-mode.
5330
5331 Run @code{M-x org-pomodoro} for the task at point or select one of the
5332 last tasks that you clocked time for. Each clocked-in pomodoro starts
5333 a timer of 25 minutes and after each pomodoro a break timer of 5
5334 minutes is started automatically. Every 4 breaks a long break is
5335 started with 20 minutes. All values are customizable.")
5336 (license license:gpl3+))))
5337
5338 (define-public emacs-org-sidebar
5339 (package
5340 (name "emacs-org-sidebar")
5341 (version "0.2")
5342 (source
5343 (origin
5344 (method git-fetch)
5345 (uri (git-reference
5346 (url "https://github.com/alphapapa/org-sidebar.git")
5347 (commit version)))
5348 (file-name (git-file-name name version))
5349 (sha256
5350 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
5351 (build-system emacs-build-system)
5352 (propagated-inputs
5353 `(("emacs-dash" ,emacs-dash)
5354 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
5355 ("emacs-org" ,emacs-org)
5356 ("emacs-org-ql" ,emacs-org-ql)
5357 ("emacs-s" ,emacs-s)))
5358 (home-page "https://github.com/alphapapa/org-sidebar")
5359 (synopsis "Helpful sidebar for Org buffers")
5360 (description "This package provides a sidebar for Org buffers. At the
5361 top is a chronological list of scheduled and deadlined tasks in the current
5362 buffer (similar to the Org agenda ,but without all its features), and below
5363 that is a list of all other non-done to-do items. If the buffer is narrowed,
5364 the sidebar only shows items in the narrowed portion; this allows seeing an
5365 overview of tasks in a subtree.")
5366 (license license:gpl3+)))
5367
5368 (define-public emacs-org-trello
5369 (package
5370 (name "emacs-org-trello")
5371 (version "0.8.1")
5372 (source
5373 (origin
5374 (method git-fetch)
5375 (uri (git-reference
5376 (url "https://github.com/org-trello/org-trello.git")
5377 (commit version)))
5378 (file-name (git-file-name name version))
5379 (sha256
5380 (base32
5381 "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc"))))
5382 (build-system emacs-build-system)
5383 (propagated-inputs
5384 `(("emacs-dash" ,emacs-dash)
5385 ("emacs-deferred" ,emacs-deferred)
5386 ("emacs-f" ,emacs-f)
5387 ("emacs-helm" ,emacs-helm)
5388 ("emacs-request" ,emacs-request)
5389 ("emacs-s" ,emacs-s)))
5390 (home-page "https://org-trello.github.io")
5391 (synopsis "Emacs minor mode for interacting with Trello")
5392 (description "This package provides an Emacs minor mode to extend
5393 @code{org-mode} with Trello abilities. Trello is an online project
5394 organizer.")
5395 (license license:gpl3+)))
5396
5397 (define-public emacs-org-tanglesync
5398 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
5399 (revision "2"))
5400 (package
5401 (name "emacs-org-tanglesync")
5402 (version (git-version "0.6" revision commit))
5403 (source
5404 (origin
5405 (method git-fetch)
5406 (uri (git-reference
5407 (url "https://github.com/mtekman/org-tanglesync.el.git")
5408 (commit commit)))
5409 (file-name (git-file-name name version))
5410 (sha256
5411 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
5412 (build-system emacs-build-system)
5413 (propagated-inputs
5414 `(("emacs-org" ,emacs-org)))
5415 (home-page "https://github.com/mtekman/org-tanglesync.el")
5416 (synopsis "Sync Org source blocks with tangled external files")
5417 (description "This package automatically pulls changes from source code
5418 to their corresponding tangled blocks.")
5419 (license license:gpl3+))))
5420
5421 (define-public emacs-company-flow
5422 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
5423 (revision "1"))
5424 (package
5425 (name "emacs-company-flow")
5426 (version (git-version "0.1.0" revision commit))
5427 (source (origin
5428 (method git-fetch)
5429 (uri (git-reference
5430 (url "https://github.com/aaronjensen/company-flow/")
5431 (commit commit)))
5432 (file-name (git-file-name name version))
5433 (sha256
5434 (base32
5435 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
5436 (build-system emacs-build-system)
5437 (propagated-inputs
5438 `(("emacs-company" ,emacs-company)
5439 ("emacs-dash" ,emacs-dash)))
5440 (home-page "https://github.com/aaronjensen/company-flow/")
5441 (synopsis "Flow backend for @code{company-mode}")
5442 (description
5443 "This package provides completion for JavaScript files utilizing Flow.")
5444 (license license:gpl3+))))
5445
5446 (define-public emacs-atom-one-dark-theme
5447 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
5448 (revision "0"))
5449 (package
5450 (name "emacs-atom-one-dark-theme")
5451 (version (git-version "0.4.0" revision commit))
5452 (source (origin
5453 (method git-fetch)
5454 (uri (git-reference
5455 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
5456 (commit commit)))
5457 (sha256
5458 (base32
5459 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
5460 (file-name (git-file-name name version))))
5461 (build-system emacs-build-system)
5462 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
5463 (synopsis "Atom One Dark color theme for Emacs")
5464 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
5465 (license license:gpl3+))))
5466
5467 (define-public emacs-zenburn-theme
5468 (package
5469 (name "emacs-zenburn-theme")
5470 (version "2.6")
5471 (source
5472 (origin
5473 (method git-fetch)
5474 (uri (git-reference
5475 (url "https://github.com/bbatsov/zenburn-emacs.git")
5476 (commit (string-append "v" version))))
5477 (file-name (git-file-name name version))
5478 (sha256
5479 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
5480 (build-system emacs-build-system)
5481 (home-page "https://github.com/bbatsov/zenburn-emacs")
5482 (synopsis "Low contrast color theme for Emacs")
5483 (description
5484 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
5485 It is built on top of the custom theme support in Emacs 24 or later.")
5486 (license license:gpl3+)))
5487
5488 (define-public emacs-moe-theme-el
5489 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
5490 (version "1.0")
5491 (revision "1"))
5492 (package
5493 (name "emacs-moe-theme-el")
5494 (version (git-version version revision commit))
5495 (source
5496 (origin
5497 (method git-fetch)
5498 (uri (git-reference
5499 (url "https://github.com/kuanyui/moe-theme.el")
5500 (commit commit)))
5501 (file-name (git-file-name name version))
5502 (sha256
5503 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
5504 (build-system emacs-build-system)
5505 (home-page "https://github.com/kuanyui/moe-theme.el")
5506 (synopsis "Anime-inspired color themes")
5507 (description
5508 "This package provides vibrant color schemes with light and dark
5509 variants.")
5510 (license license:gpl3+))))
5511
5512 (define-public emacs-solarized-theme
5513 (package
5514 (name "emacs-solarized-theme")
5515 (version "1.3.1")
5516 (source
5517 (origin
5518 (method git-fetch)
5519 (uri (git-reference
5520 (url "https://github.com/bbatsov/solarized-emacs/")
5521 (commit (string-append "v" version))))
5522 (file-name (git-file-name name version))
5523 (sha256
5524 (base32 "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g"))))
5525 (build-system emacs-build-system)
5526 (propagated-inputs
5527 `(("emacs-dash" ,emacs-dash)))
5528 (home-page "https://github.com/bbatsov/solarized-emacs")
5529 (synopsis "Port of the Solarized theme for Emacs")
5530 (description
5531 "Solarized for Emacs is a port of the Solarized theme for Vim. This
5532 package provides a light and a dark variant.")
5533 (license license:gpl3+)))
5534
5535 (define-public emacs-poet-theme
5536 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
5537 (revision "0"))
5538 (package
5539 (name "emacs-poet-theme")
5540 (version (git-version "0" revision commit))
5541 (source
5542 (origin
5543 (method git-fetch)
5544 (uri (git-reference
5545 (url "https://github.com/kunalb/poet.git")
5546 (commit commit)))
5547 (file-name (git-file-name name version))
5548 (sha256
5549 (base32
5550 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
5551 (build-system emacs-build-system)
5552 (home-page "https://github.com/kunalb/poet/")
5553 (synopsis "Emacs theme for prose")
5554 (description
5555 "Emacs has very good support for multiple fonts in a single file. Poet
5556 uses this support to make it much more convenient to write prose within Emacs,
5557 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
5558 Code blocks, tables, etc are formatted in monospace text with the appropriate
5559 backgrounds.")
5560 (license license:expat))))
5561
5562 (define-public emacs-ahungry-theme
5563 (package
5564 (name "emacs-ahungry-theme")
5565 (version "1.10.0")
5566 (source
5567 (origin (method url-fetch)
5568 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
5569 version ".tar"))
5570 (sha256
5571 (base32
5572 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
5573 (build-system emacs-build-system)
5574 (home-page "https://github.com/ahungry/color-theme-ahungry")
5575 (synopsis "Ahungry color theme for Emacs")
5576 (description "Ahungry theme for Emacs provides bright and bold colors.
5577 If you load it from a terminal, you will be able to make use of the
5578 transparent background. If you load it from a GUI, it will default to a
5579 dark background.")
5580 (license license:gpl3+)))
5581
5582 (define-public emacs-gruvbox-theme
5583 (package
5584 (name "emacs-gruvbox-theme")
5585 (version "1.28.0")
5586 (source (origin
5587 (method git-fetch)
5588 (uri (git-reference
5589 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
5590 (commit version)))
5591 (file-name (git-file-name name version))
5592 (sha256
5593 (base32
5594 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
5595 (build-system emacs-build-system)
5596 (propagated-inputs
5597 `(("emacs-autothemer" ,emacs-autothemer)))
5598 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
5599 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
5600 (description
5601 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
5602
5603 Designed as a bright theme with pastel 'retro groove' colors and light/dark
5604 mode switching in the way of solarized. The main focus when developing gruvbox
5605 is to keep colors easily distinguishable, contrast enough and still pleasant
5606 for the eyes.")
5607 (license license:expat))) ; MIT license
5608
5609 (define-public emacs-spacegray-theme
5610 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
5611 (revision "0"))
5612 (package
5613 (name "emacs-spacegray-theme")
5614 (version (git-version "0" revision commit))
5615 (source (origin
5616 (method git-fetch)
5617 (uri (git-reference
5618 (url "https://github.com/bruce/emacs-spacegray-theme.git")
5619 (commit commit)))
5620 (file-name (git-file-name name version))
5621 (sha256
5622 (base32
5623 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
5624 (build-system emacs-build-system)
5625 (home-page "https://github.com/bruce/emacs-spacegray-theme")
5626 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
5627 (description
5628 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
5629 Sublime Text. It features a dark blue/gray background and soft blue, green,
5630 orange and red as accent colors.")
5631 (license license:expat)))) ; MIT license
5632
5633 (define-public emacs-2048-game
5634 (package
5635 (name "emacs-2048-game")
5636 (version "20151026.1233")
5637 (source
5638 (origin
5639 (method url-fetch)
5640 (uri (string-append "https://melpa.org/packages/2048-game-"
5641 version ".el"))
5642 (sha256
5643 (base32
5644 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
5645 (build-system emacs-build-system)
5646 (home-page "https://hg.sr.ht/~zck/game-2048")
5647 (synopsis "Implementation of the game 2048 in Emacs Lisp")
5648 (description
5649 "This program is an implementation of 2048 for Emacs.
5650 The goal of this game is to create a tile with value 2048. The size of the
5651 board and goal value can be customized.")
5652 (license license:gpl3+)))
5653
5654 (define-public emacs-4clojure
5655 ;; There is no release. Base version is extracted from Version keyword in
5656 ;; the main file.
5657 (let ((commit "4eccf8c7d4341a36c269451838114b27836699f9")
5658 (revision "1"))
5659 (package
5660 (name "emacs-4clojure")
5661 (version (git-version "0.2.1" revision commit))
5662 (source
5663 (origin
5664 (method git-fetch)
5665 (uri (git-reference
5666 (url "https://github.com/emacsorphanage/4clojure.git")
5667 (commit commit)))
5668 (file-name (git-file-name name version))
5669 (sha256
5670 (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk"))))
5671 (build-system emacs-build-system)
5672 (propagated-inputs
5673 `(("emacs-request" ,emacs-request)))
5674 (home-page "https://github.com/emacsorphanage/4clojure/")
5675 (synopsis "Open and evaluate 4clojure questions in Emacs")
5676 (description "Emacs 4clojure interacts with
5677 @url{http://www.4clojure.com, 4clojure} problems. You can open a specific
5678 question and move to the next or previous one. You can also verify your
5679 answers.")
5680 (license license:gpl3+))))
5681
5682 (define-public emacs-base16-theme
5683 (package
5684 (name "emacs-base16-theme")
5685 (version "2.2")
5686 (source
5687 (origin
5688 (method git-fetch)
5689 (uri (git-reference
5690 (url "https://github.com/belak/base16-emacs.git")
5691 (commit version)))
5692 (file-name (git-file-name name version))
5693 (sha256
5694 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
5695 (build-system emacs-build-system)
5696 (home-page "https://github.com/belak/base16-emacs")
5697 (synopsis "Base16 color themes for Emacs")
5698 (description
5699 "Base16 provides carefully chosen syntax highlighting and a default set
5700 of sixteen colors suitable for a wide range of applications. Base16 is not a
5701 single theme but a set of guidelines with numerous implementations.")
5702 (license license:expat)))
5703
5704 (define-public emacs-solaire-mode
5705 (package
5706 (name "emacs-solaire-mode")
5707 (version "1.0.9")
5708 (source
5709 (origin
5710 (method git-fetch)
5711 (uri (git-reference
5712 (url "https://github.com/hlissner/emacs-solaire-mode.git")
5713 (commit (string-append "v" version))))
5714 (file-name (git-file-name name version))
5715 (sha256
5716 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
5717 (build-system emacs-build-system)
5718 (home-page "https://github.com/hlissner/emacs-solaire-mode")
5719 (synopsis "Change background of file-visiting buffers in Emacs")
5720 (description
5721 "@code{solaire-mode} is inspired by editors which visually distinguish
5722 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
5723 background of file-visiting buffers (and certain aspects of the UI) to make
5724 them easier to distinguish from other, less important buffers.")
5725 (license license:expat)))
5726
5727 (define-public emacs-prescient
5728 (package
5729 (name "emacs-prescient")
5730 (version "4.1")
5731 (source
5732 (origin
5733 (method git-fetch)
5734 (uri (git-reference
5735 (url "https://github.com/raxod502/prescient.el.git")
5736 (commit (string-append "v" version))))
5737 (file-name (git-file-name name version))
5738 (sha256
5739 (base32 "1rf5cz262hjpck7vpxg15bccdrwrmlhiyxc20liwcjb2ig36nis3"))))
5740 (build-system emacs-build-system)
5741 (propagated-inputs
5742 `(("emacs-company" ,emacs-company)
5743 ("emacs-ivy" ,emacs-ivy)
5744 ("emacs-selectrum" ,emacs-selectrum)))
5745 (home-page "https://github.com/raxod502/prescient.el/")
5746 (synopsis "Emacs library for sorting and filtering candidates")
5747 (description
5748 "Prescient is a library for sorting and filtering, as well as extensions
5749 for Ivy and Company that make use of the library.")
5750 (license license:expat)))
5751
5752 (define-public emacs-selectrum
5753 (package
5754 (name "emacs-selectrum")
5755 (version "1.0")
5756 (source
5757 (origin
5758 (method git-fetch)
5759 (uri (git-reference
5760 (url "https://github.com/raxod502/selectrum.git")
5761 (commit (string-append "v" version))))
5762 (file-name (git-file-name name version))
5763 (sha256
5764 (base32 "105zl102dwbzvk50xh6b824nq6p24kxhky18ghdnk5yi5sv620lm"))))
5765 (build-system emacs-build-system)
5766 (home-page "https://github.com/raxod502/selectrum/")
5767 (synopsis "Incremental narrowing in Emacs")
5768 (description "Selectrum is a solution for incremental narrowing in
5769 Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based
5770 on choosing the right abstractions and prioritizing consistency and
5771 predictability over special-cased improvements for particular cases.
5772 As such, Selectrum follows existing Emacs conventions where they exist
5773 and are reasonable, and it declines to implement features which have
5774 marginal benefit compared to the additional complexity of a new
5775 interface.")
5776 (license license:expat)))
5777
5778 (define-public emacs-smartparens
5779 (package
5780 (name "emacs-smartparens")
5781 (version "1.11.0")
5782 (source
5783 (origin
5784 (method git-fetch)
5785 (uri (git-reference
5786 (url "https://github.com/Fuco1/smartparens.git")
5787 (commit version)))
5788 (file-name (git-file-name name version))
5789 (sha256
5790 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
5791 (build-system emacs-build-system)
5792 (propagated-inputs
5793 `(("emacs-dash" ,emacs-dash)
5794 ("emacs-markdown-mode" ,emacs-markdown-mode)))
5795 (home-page "https://github.com/Fuco1/smartparens")
5796 (synopsis "Paredit-like insertion, wrapping and navigation with user
5797 defined pairs")
5798 (description
5799 "Smartparens is a minor mode for Emacs that deals with parens pairs
5800 and tries to be smart about it. It started as a unification effort to
5801 combine functionality of several existing packages in a single,
5802 compatible and extensible way to deal with parentheses, delimiters, tags
5803 and the like. Some of these packages include autopair, textmate,
5804 wrap-region, electric-pair-mode, paredit and others. With the basic
5805 features found in other packages it also brings many improvements as
5806 well as completely new features.")
5807 (license license:gpl3+)))
5808
5809 (define-public emacs-highlight-symbol
5810 ;; We prefer a more recent commit that provides an option to squelch
5811 ;; echo-area alerts that can drown out useful information like eldoc
5812 ;; messages.
5813 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
5814 (version "1.3")
5815 (revision "1"))
5816 (package
5817 (name "emacs-highlight-symbol")
5818 (version (git-version version revision commit))
5819 (source
5820 (origin
5821 (method git-fetch)
5822 (uri (git-reference
5823 (url "https://github.com/nschum/highlight-symbol.el.git")
5824 (commit commit)))
5825 (file-name (git-file-name name version))
5826 (sha256
5827 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
5828 (build-system emacs-build-system)
5829 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
5830 (synopsis "Automatic and manual symbol highlighting for Emacs")
5831 (description
5832 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
5833 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
5834 the symbol at point highlighted.
5835
5836 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
5837 @code{highlight-symbol-next-in-defun} and
5838 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
5839 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
5840 bindings @code{M-p} and @code{M-p} for navigation. When
5841 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
5842 regardless of @code{highlight-symbol-idle-delay}.
5843
5844 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
5845 (license license:gpl2+))))
5846
5847 (define-public emacs-symbol-overlay
5848 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
5849 (revision "1"))
5850 (package
5851 (name "emacs-symbol-overlay")
5852 (version (git-version "4.1" revision commit))
5853 (source
5854 (origin
5855 (method git-fetch)
5856 (uri (git-reference
5857 (url "https://github.com/wolray/symbol-overlay.git")
5858 (commit commit)))
5859 (file-name (git-file-name name version))
5860 (sha256
5861 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
5862 (build-system emacs-build-system)
5863 (home-page "https://github.com/wolray/symbol-overlay")
5864 (synopsis "Highlight symbols and perform various search operations on them")
5865 (description
5866 "This package provides functions for highlighting and navigating
5867 between symbols.")
5868 (license license:gpl3+))))
5869
5870 (define-public emacs-hl-todo
5871 (package
5872 (name "emacs-hl-todo")
5873 (version "3.0.0")
5874 (source (origin
5875 (method git-fetch)
5876 (uri (git-reference
5877 (url "https://github.com/tarsius/hl-todo")
5878 (commit (string-append "v" version))))
5879 (file-name (git-file-name name version))
5880 (sha256
5881 (base32
5882 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
5883 (build-system emacs-build-system)
5884 (home-page "https://github.com/tarsius/hl-todo")
5885 (synopsis "Emacs mode to highlight TODO and similar keywords")
5886 (description
5887 "This package provides an Emacs mode to highlight TODO and similar
5888 keywords in comments and strings. This package also provides commands for
5889 moving to the next or previous keyword and to invoke @code{occur} with a
5890 regexp that matches all known keywords.")
5891 (license license:gpl3+)))
5892
5893 (define-public emacs-perspective
5894 (package
5895 (name "emacs-perspective")
5896 (version "2.8")
5897 (source
5898 (origin
5899 (method git-fetch)
5900 (uri (git-reference
5901 (url "https://github.com/nex3/perspective-el.git")
5902 (commit version)))
5903 (file-name (git-file-name name version))
5904 (sha256
5905 (base32
5906 "1gdacw1gkng1dhm12lhfssmac0fijsh3wpbvcmsv2jz3gpnjin1g"))))
5907 (build-system emacs-build-system)
5908 (home-page "https://github.com/nex3/perspective-el")
5909 (synopsis "Switch between named \"perspectives\"")
5910 (description
5911 "This package provides tagged workspaces in Emacs, similar to workspaces in
5912 windows managers such as Awesome and XMonad. @code{perspective.el} provides
5913 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
5914 perspective is composed of a window configuration and a set of buffers.
5915 Switching to a perspective activates its window configuration, and when in a
5916 perspective only its buffers are available by default.")
5917 ;; This package is released under the same license as Emacs (GPLv3+) or
5918 ;; the Expat license.
5919 (license license:gpl3+)))
5920
5921 (define-public emacs-persp-mode
5922 (package
5923 (name "emacs-persp-mode")
5924 (version "2.9.8")
5925 (source
5926 (origin
5927 (method git-fetch)
5928 (uri (git-reference
5929 (url "https://github.com/Bad-ptr/persp-mode.el.git")
5930 (commit (string-append "v" version))))
5931 (file-name (git-file-name name version))
5932 (sha256
5933 (base32
5934 "0b4y7a6j70s9lvr37riyy9k5kh3yvmx0m6nd9c0c8572ji4ij65g"))))
5935 (build-system emacs-build-system)
5936 (home-page "https://github.com/Bad-ptr/persp-mode.el")
5937 (synopsis "Switch between named \"perspectives\" shared among frames")
5938 (description
5939 "This package extends @code{perspective.el} to enable perspectives that
5940 can be saved to and restored from a file.")
5941 (license license:gpl2+)))
5942
5943 (define-public emacs-test-simple
5944 (package
5945 (name "emacs-test-simple")
5946 (version "1.3.0")
5947 (source
5948 (origin
5949 (method url-fetch)
5950 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
5951 version ".el"))
5952 (sha256
5953 (base32
5954 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
5955 (build-system emacs-build-system)
5956 (home-page "https://github.com/rocky/emacs-test-simple")
5957 (synopsis "Simple unit test framework for Emacs Lisp")
5958 (description
5959 "Test Simple is a simple unit test framework for Emacs Lisp. It
5960 alleviates the need for context macros, enclosing specifications or required
5961 test tags. It supports both interactive and non-interactive use.")
5962 (license license:gpl3+)))
5963
5964 (define-public emacs-load-relative
5965 (package
5966 (name "emacs-load-relative")
5967 (version "1.3.1")
5968 (source
5969 (origin
5970 (method url-fetch)
5971 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
5972 version ".el"))
5973 (sha256
5974 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
5975 (build-system emacs-build-system)
5976 (home-page "https://github.com/rocky/emacs-load-relative")
5977 (synopsis "Emacs Lisp relative file loading related functions")
5978 (description
5979 "Provides functions which facilitate writing multi-file Emacs packages
5980 and running from the source tree without having to \"install\" code or fiddle
5981 with @{load-path}.
5982
5983 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5984 another (presumably currently running) Emacs Lisp file.")
5985 (license license:gpl3+)))
5986
5987 (define-public emacs-loc-changes
5988 (package
5989 (name "emacs-loc-changes")
5990 (version "1.2")
5991 (source
5992 (origin
5993 (method url-fetch)
5994 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5995 version ".el"))
5996 (sha256
5997 (base32
5998 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5999 (build-system emacs-build-system)
6000 (home-page "https://github.com/rocky/emacs-loc-changes")
6001 (synopsis "Keeps track of positions even after buffer changes")
6002 (description
6003 "This Emacs package provides a mean to track important buffer positions
6004 after buffer changes.")
6005 (license license:gpl3+)))
6006
6007 (define-public emacs-realgud
6008 (package
6009 (name "emacs-realgud")
6010 (version "1.5.1")
6011 (source
6012 (origin
6013 (method git-fetch)
6014 (uri (git-reference
6015 (url "https://github.com/realgud/realgud/")
6016 (commit version)))
6017 (sha256
6018 (base32
6019 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
6020 (file-name (git-file-name name version))))
6021 (build-system emacs-build-system)
6022 (arguments
6023 `(#:tests? #t
6024 #:phases
6025 (modify-phases %standard-phases
6026 (add-after 'unpack 'fix-autogen-script
6027 (lambda _
6028 (substitute* "autogen.sh"
6029 (("./configure") "sh configure"))))
6030 (add-after 'fix-autogen-script 'autogen
6031 (lambda _
6032 (setenv "CONFIG_SHELL" "sh")
6033 (invoke "sh" "autogen.sh")))
6034 (add-after 'fix-autogen-script 'set-home
6035 (lambda _
6036 (setenv "HOME" (getenv "TMPDIR"))))
6037 (add-before 'patch-el-files 'remove-realgud-pkg.el
6038 (lambda _
6039 ;; FIXME: `patch-el-files' crashes on this file with error:
6040 ;; unable to locate "bashdb".
6041 (delete-file "./test/test-regexp-bashdb.el"))))
6042 #:include (cons* ".*\\.el$" %default-include)))
6043 (native-inputs
6044 `(("autoconf" ,autoconf)
6045 ("automake" ,automake)
6046 ("emacs-test-simple" ,emacs-test-simple)))
6047 (propagated-inputs
6048 `(("emacs-load-relative" ,emacs-load-relative)
6049 ("emacs-loc-changes" ,emacs-loc-changes)))
6050 (home-page "https://github.com/realgud/realgud/")
6051 (synopsis
6052 "Modular front-end for interacting with external debuggers")
6053 (description
6054 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
6055 with external debuggers. It integrates various debuggers such as gdb, pdb,
6056 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
6057 sources. Unlike GUD, it also supports running multiple debug sessions in
6058 parallel.")
6059 (license license:gpl3+)))
6060
6061 (define-public emacs-request
6062 (package
6063 (name "emacs-request")
6064 (version "0.3.2")
6065 (source (origin
6066 (method git-fetch)
6067 (uri (git-reference
6068 (url "https://github.com/tkf/emacs-request.git")
6069 (commit (string-append "v" version))))
6070 (file-name (git-file-name name version))
6071 (sha256
6072 (base32
6073 "1djywhvvb6kwdj0nd3axjvb7k2g06dzkc6hsf29w9rsk96vr8ryl"))))
6074 (build-system emacs-build-system)
6075 (arguments
6076 `(#:tests? #f)) ; requires network access.
6077 (propagated-inputs
6078 `(("emacs-deferred" ,emacs-deferred)))
6079 (home-page "https://github.com/tkf/emacs-request")
6080 (synopsis "Package for speaking HTTP in Emacs Lisp")
6081 (description "This package provides a HTTP request library with multiple
6082 backends. It supports url.el which is shipped with Emacs and the curl command
6083 line program.")
6084 (license license:gpl3+)))
6085
6086 (define-public emacs-rudel
6087 (package
6088 (name "emacs-rudel")
6089 (version "0.3.1")
6090 (source
6091 (origin
6092 (method url-fetch)
6093 (uri (string-append "https://elpa.gnu.org/packages/rudel-"
6094 version ".tar"))
6095 (sha256
6096 (base32
6097 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
6098 (build-system emacs-build-system)
6099 (home-page "http://rudel.sourceforge.net/")
6100 (synopsis "Collaborative editing framework")
6101 (description
6102 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
6103 is to share buffers with other users in order to edit the contents of those
6104 buffers collaboratively. Rudel supports multiple backends to enable
6105 communication with other collaborative editors using different protocols,
6106 though currently Obby (for use with the Gobby editor) is the only
6107 fully-functional one.")
6108 (license license:gpl3+)))
6109
6110 (define-public emacs-hydra
6111 (package
6112 (name "emacs-hydra")
6113 (version "0.15.0")
6114 (source
6115 (origin
6116 (method git-fetch)
6117 (uri (git-reference
6118 (url "https://github.com/abo-abo/hydra")
6119 (commit version)))
6120 (file-name (git-file-name name version))
6121 (sha256
6122 (base32
6123 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
6124 (build-system emacs-build-system)
6125 (arguments
6126 `(#:tests? #t
6127 #:test-command '("make" "test")))
6128 (home-page "https://github.com/abo-abo/hydra")
6129 (synopsis "Make Emacs bindings that stick around")
6130 (description
6131 "This package can be used to tie related commands into a family of short
6132 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
6133 the prefixed binding), all the heads can be called in succession with only a
6134 short extension. Any binding that isn't the Hydra's head vanquishes the
6135 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
6136 serve its original purpose, calling the command assigned to it. This makes
6137 the Hydra very seamless; it's like a minor mode that disables itself
6138 automatically.")
6139 (license license:gpl3+)))
6140
6141 (define-public emacs-interleave
6142 (package
6143 (name "emacs-interleave")
6144 (version "1.4.0")
6145 (source
6146 (origin
6147 (method git-fetch)
6148 (uri
6149 (git-reference
6150 (url "https://github.com/rudolfochrist/interleave")
6151 (commit (string-append "interleave-" version))))
6152 (file-name (git-file-name name version))
6153 (sha256
6154 (base32 "0l5b681mrpk12lx5c16m7kc13p29z6zismwg1llsjg7cdmrmsrcb"))))
6155 (build-system emacs-build-system)
6156 (home-page "https://github.com/rudolfochrist/interleave")
6157 (synopsis "Emacs minor mode to interleave notes and text books")
6158 (description
6159 "Interleave is a minor mode that presents a document viewer side
6160 by side to an Org buffer with your notes relevant to the current page.")
6161 (license license:gpl3+)))
6162
6163 (define-public emacs-ivy
6164 (package
6165 (name "emacs-ivy")
6166 (version "0.13.0")
6167 (source
6168 (origin
6169 (method git-fetch)
6170 (uri (git-reference
6171 (url "https://github.com/abo-abo/swiper.git")
6172 (commit version)))
6173 (file-name (git-file-name name version))
6174 (sha256
6175 (base32
6176 "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
6177 (build-system emacs-build-system)
6178 (arguments
6179 `(#:phases
6180 (modify-phases %standard-phases
6181 (add-after 'install 'install-doc
6182 (lambda* (#:key outputs #:allow-other-keys)
6183 (let* ((out (assoc-ref outputs "out"))
6184 (info (string-append out "/share/info")))
6185 (with-directory-excursion "doc"
6186 (invoke "makeinfo" "ivy.texi")
6187 (install-file "ivy.info" info)
6188 #t))))
6189 (add-before 'check 'make-dummy-git-directory
6190 (lambda _
6191 (mkdir-p ".git")))
6192 (add-after 'check 'delete-dummy-git-directory
6193 (lambda _
6194 (delete-file-recursively ".git"))))
6195 #:tests? #t
6196 #:test-command '("make" "test")))
6197 (propagated-inputs
6198 `(("emacs-hydra" ,emacs-hydra)))
6199 (native-inputs
6200 `(("texinfo" ,texinfo)
6201 ("emacs-wgrep" ,emacs-wgrep)))
6202 (home-page "http://oremacs.com/swiper/")
6203 (synopsis "Incremental vertical completion for Emacs")
6204 (description
6205 "This package provides @code{ivy-read} as an alternative to
6206 @code{completing-read} and similar functions. No attempt is made to determine
6207 the best candidate. Instead, the user can navigate candidates with
6208 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
6209 splitting the input text by spaces and re-building it into a regular
6210 expression.")
6211 (license license:gpl3+)))
6212
6213 (define-public emacs-ivy-xref
6214 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
6215 (revision "1"))
6216 (package
6217 (name "emacs-ivy-xref")
6218 (version (git-version "0.1" revision commit))
6219 (source
6220 (origin
6221 (method git-fetch)
6222 (uri (git-reference
6223 (url "https://github.com/alexmurray/ivy-xref.git")
6224 (commit commit)))
6225 (file-name (git-file-name name version))
6226 (sha256
6227 (base32
6228 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
6229 (build-system emacs-build-system)
6230 (propagated-inputs
6231 `(("emacs-ivy" ,emacs-ivy)))
6232 (home-page "https://github.com/alexmurray/ivy-xref")
6233 (synopsis "Ivy interface for @code{xref}")
6234 (description "This package provides an Ivy interface for selecting from
6235 @code{xref} results.")
6236 (license license:gpl3))))
6237
6238 (define-public emacs-ivy-pass
6239 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
6240 (revision "1"))
6241 (package
6242 (name "emacs-ivy-pass")
6243 (version (git-version "0.1" revision commit))
6244 (source
6245 (origin
6246 (method git-fetch)
6247 (uri (git-reference
6248 (url "https://github.com/ecraven/ivy-pass.git")
6249 (commit commit)))
6250 (file-name (git-file-name name version))
6251 (sha256
6252 (base32
6253 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
6254 (build-system emacs-build-system)
6255 (propagated-inputs
6256 `(("emacs-ivy" ,emacs-ivy)
6257 ("emacs-password-store" ,emacs-password-store)
6258 ("password-store" ,password-store)))
6259 (home-page "https://github.com/ecraven/ivy-pass")
6260 (synopsis "Ivy interface for password store (pass)")
6261 (description "This package provides an Ivy interface for working with
6262 the password store @code{pass}.")
6263 (license license:gpl3))))
6264
6265 (define-public emacs-ivy-yasnippet
6266 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
6267 (revision "2"))
6268 (package
6269 (name "emacs-ivy-yasnippet")
6270 (version (git-version "0.1" revision commit))
6271 (source
6272 (origin
6273 (method git-fetch)
6274 (uri (git-reference
6275 (url "https://github.com/mkcms/ivy-yasnippet.git")
6276 (commit commit)))
6277 (file-name (git-file-name name version))
6278 (sha256
6279 (base32
6280 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
6281 (build-system emacs-build-system)
6282 (propagated-inputs
6283 `(("emacs-ivy" ,emacs-ivy)
6284 ("emacs-yasnippet" ,emacs-yasnippet)
6285 ("emacs-dash" ,emacs-dash)))
6286 (home-page "https://github.com/mkcms/ivy-yasnippet")
6287 (synopsis "Preview @code{yasnippets} with @code{ivy}")
6288 (description "This package allows you to select @code{yasnippet}
6289 snippets using @code{ivy} completion. When current selection changes in the
6290 minibuffer, the snippet contents are temporarily expanded in the buffer. To
6291 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
6292 @code{yas-minor-mode} first).")
6293 (license license:gpl3+))))
6294
6295 (define-public emacs-ivy-rich
6296 ;; The latest release version has a small mistake that has since been fixed,
6297 ;; so we use a more recent commit.
6298 (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
6299 (revision "2"))
6300 (package
6301 (name "emacs-ivy-rich")
6302 (version (git-version "0.1.4" revision commit))
6303 (source
6304 (origin
6305 (method git-fetch)
6306 (uri (git-reference
6307 (url "https://github.com/Yevgnen/ivy-rich.git")
6308 (commit commit)))
6309 (file-name (git-file-name name version))
6310 (sha256
6311 (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
6312 (build-system emacs-build-system)
6313 (propagated-inputs
6314 `(("emacs-ivy" ,emacs-ivy)))
6315 (home-page "https://github.com/Yevgnen/ivy-rich")
6316 (synopsis "More friendly interface for @code{ivy}")
6317 (description
6318 "This package extends @code{ivy} by showing more information in the
6319 minibuffer for each candidate. It adds columns showing buffer modes, file
6320 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
6321 show icons as well.")
6322 (license license:gpl3+))))
6323
6324 (define-public emacs-avy
6325 (package
6326 (name "emacs-avy")
6327 (version "0.5.0")
6328 (source
6329 (origin
6330 (method git-fetch)
6331 (uri (git-reference
6332 (url "https://github.com/abo-abo/avy.git")
6333 (commit version)))
6334 (file-name (git-file-name name version))
6335 (sha256
6336 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
6337 (build-system emacs-build-system)
6338 (arguments
6339 `(#:tests? #t
6340 #:test-command '("make" "test")))
6341 (home-page "https://github.com/abo-abo/avy")
6342 (synopsis "Tree-based completion for Emacs")
6343 (description
6344 "This package provides a generic completion method based on building a
6345 balanced decision tree with each candidate being a leaf. To traverse the tree
6346 from the root to a desired leaf, typically a sequence of @code{read-key} can
6347 be used.
6348
6349 In order for @code{read-key} to make sense, the tree needs to be visualized
6350 appropriately, with a character at each branch node. So this completion
6351 method works only for things that you can see on your screen, all at once,
6352 such as the positions of characters, words, line beginnings, links, or
6353 windows.")
6354 (license license:gpl3+)))
6355
6356 (define-public emacs-ace-window
6357 (package
6358 (name "emacs-ace-window")
6359 (version "0.10.0")
6360 (source
6361 (origin
6362 (method git-fetch)
6363 (uri (git-reference
6364 (url "https://github.com/abo-abo/ace-window.git")
6365 (commit version)))
6366 (file-name (git-file-name name version))
6367 (sha256
6368 (base32
6369 "0f3r40d5yxp2pm2j0nn86s29nqj8py0jxjbj50v4ci3hsd92d8jl"))))
6370 (build-system emacs-build-system)
6371 (propagated-inputs
6372 `(("emacs-avy" ,emacs-avy)))
6373 (home-page "https://github.com/abo-abo/ace-window")
6374 (synopsis "Quickly switch windows in Emacs")
6375 (description
6376 "@code{ace-window} is meant to replace @code{other-window}.
6377 In fact, when there are only two windows present, @code{other-window} is
6378 called. If there are more, each window will have its first character
6379 highlighted. Pressing that character will switch to that window.")
6380 (license license:gpl3+)))
6381
6382 (define-public emacs-iedit
6383 ;; Last release version was in 2016.
6384 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
6385 (revision "1"))
6386 (package
6387 (name "emacs-iedit")
6388 (version (git-version "0.9.9.9" revision commit))
6389 (source
6390 (origin
6391 (method git-fetch)
6392 (uri (git-reference
6393 (url "https://github.com/victorhge/iedit.git")
6394 (commit commit)))
6395 (file-name (git-file-name name version))
6396 (sha256
6397 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
6398 (build-system emacs-build-system)
6399 (home-page "https://www.emacswiki.org/emacs/Iedit")
6400 (synopsis "Edit multiple regions in the same way simultaneously")
6401 (description
6402 "This package is an Emacs minor mode and allows you to edit one
6403 occurrence of some text in a buffer (possibly narrowed) or region, and
6404 simultaneously have other occurrences edited in the same way.
6405
6406 You can also use Iedit mode as a quick way to temporarily show only the buffer
6407 lines that match the current text being edited. This gives you the effect of
6408 a temporary @code{keep-lines} or @code{occur}.")
6409 (license license:gpl3+))))
6410
6411 (define-public emacs-zoutline
6412 (package
6413 (name "emacs-zoutline")
6414 (version "0.2.0")
6415 (source
6416 (origin
6417 (method git-fetch)
6418 (uri (git-reference
6419 (url "https://github.com/abo-abo/zoutline")
6420 (commit version)))
6421 (sha256
6422 (base32
6423 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
6424 (file-name (git-file-name name version))))
6425 (build-system emacs-build-system)
6426 (home-page "https://github.com/abo-abo/zoutline")
6427 (synopsis "Simple outline library")
6428 (description
6429 "This library provides helpers for outlines. Outlines allow users to
6430 navigate code in a tree-like fashion.")
6431 (license license:gpl3+)))
6432
6433 (define-public emacs-lispy
6434 (package
6435 (name "emacs-lispy")
6436 (version "0.27.0")
6437 (home-page "https://github.com/abo-abo/lispy")
6438 (source (origin
6439 (method git-fetch)
6440 (uri (git-reference
6441 (url "https://github.com/abo-abo/lispy")
6442 (commit version)))
6443 (sha256
6444 (base32
6445 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
6446 (file-name (git-file-name name version))))
6447 (build-system emacs-build-system)
6448 (propagated-inputs
6449 `(("emacs-ace-window" ,emacs-ace-window)
6450 ("emacs-iedit" ,emacs-iedit)
6451 ("emacs-ivy" ,emacs-ivy)
6452 ("emacs-hydra" ,emacs-hydra)
6453 ("emacs-zoutline" ,emacs-zoutline)))
6454 (native-inputs
6455 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6456 ("emacs-undercover" ,emacs-undercover)))
6457 (arguments
6458 `(#:include (cons* "^lispy-clojure\\.clj$"
6459 "^lispy-python\\.py$"
6460 %default-include)
6461 #:phases
6462 ;; XXX: one failing test involving python evaluation
6463 (modify-phases %standard-phases
6464 (add-before 'check 'make-test-writable
6465 (lambda _
6466 (make-file-writable "lispy-test.el")
6467 #t))
6468 (add-before 'check 'remove-python-eval-test
6469 (lambda _
6470 (emacs-batch-edit-file "lispy-test.el"
6471 `(progn
6472 (progn
6473 (goto-char (point-min))
6474 (re-search-forward
6475 "ert-deftest lispy-eval-python-str")
6476 (beginning-of-line)
6477 (kill-sexp))
6478 (basic-save-buffer)))
6479 #t)))
6480 #:tests? #t
6481 #:test-command '("make" "test")))
6482 (synopsis "Modal S-expression editing")
6483 (description
6484 "Due to the structure of Lisp syntax it's very rare for the programmer
6485 to want to insert characters right before \"(\" or right after \")\". Thus
6486 unprefixed printable characters can be used to call commands when the point is
6487 at one of these special locations. Lispy provides unprefixed keybindings for
6488 S-expression editing when point is at the beginning or end of an
6489 S-expression.")
6490 (license license:gpl3+)))
6491
6492 (define-public emacs-lispyville
6493 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
6494 (revision "1"))
6495 (package
6496 (name "emacs-lispyville")
6497 (version (git-version "0.1" revision commit))
6498 (home-page "https://github.com/noctuid/lispyville")
6499 (source (origin
6500 (method git-fetch)
6501 (uri (git-reference (url home-page) (commit commit)))
6502 (sha256
6503 (base32
6504 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
6505 (file-name (git-file-name name version))))
6506 (propagated-inputs
6507 `(("emacs-evil" ,emacs-evil)
6508 ("emacs-lispy" ,emacs-lispy)))
6509 (build-system emacs-build-system)
6510 (arguments
6511 `(#:phases
6512 ;; XXX: mysterious whitespace issue with one test
6513 (modify-phases %standard-phases
6514 (add-before 'check 'make-test-writable
6515 (lambda _
6516 (make-file-writable "lispyville-test.el")
6517 #t))
6518 (add-after 'make-test-writable 'remove-test
6519 (lambda _
6520 (emacs-batch-edit-file "lispyville-test.el"
6521 `(progn (progn (goto-char (point-min))
6522 (re-search-forward
6523 "ert-deftest lispyville-comment-and-clone-dwim")
6524 (beginning-of-line)
6525 (kill-sexp))
6526 (basic-save-buffer))))))
6527 #:tests? #t
6528 #:test-command '("make" "test")))
6529 (synopsis "Minor mode for integrating Evil with lispy")
6530 (description
6531 "LispyVille's main purpose is to provide a Lisp editing environment
6532 suited towards Evil users. It can serve as a minimal layer on top of lispy
6533 for better integration with Evil, but it does not require the use of lispy’s
6534 keybinding style. The provided commands allow for editing Lisp in normal
6535 state and will work even without lispy being enabled.")
6536 (license license:gpl3+))))
6537
6538 (define-public emacs-lpy
6539 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
6540 (revision "3"))
6541 (package
6542 (name "emacs-lpy")
6543 (version (git-version "0.1.0" revision commit))
6544 (source
6545 (origin
6546 (method git-fetch)
6547 (uri (git-reference
6548 (url "https://github.com/abo-abo/lpy")
6549 (commit commit)))
6550 (sha256
6551 (base32
6552 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
6553 (file-name (git-file-name name version))))
6554 (propagated-inputs
6555 `(("emacs-zoutline" ,emacs-zoutline)
6556 ("emacs-lispy" ,emacs-lispy)))
6557 (build-system emacs-build-system)
6558 (home-page "https://github.com/abo-abo/lpy")
6559 (synopsis "Modal editing for Python")
6560 (description
6561 "This package provides a minor mode for Python that binds useful
6562 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
6563 circumstances, and leaves the keys untouched outside of those situations,
6564 allowing unprefixed keys to insert their respective characters as expected.")
6565 (license license:gpl3+))))
6566
6567 (define-public emacs-clojure-mode
6568 (package
6569 (name "emacs-clojure-mode")
6570 (version "5.11.0")
6571 (source
6572 (origin
6573 (method git-fetch)
6574 (uri (git-reference
6575 (url "https://github.com/clojure-emacs/clojure-mode.git")
6576 (commit version)))
6577 (file-name (git-file-name name version))
6578 (sha256
6579 (base32 "1x1yszp6waa778ki6sw66w1pzcz389wd01gkcldfxxnd7z89ad5d"))))
6580 (build-system emacs-build-system)
6581 (native-inputs
6582 `(("emacs-buttercup" ,emacs-buttercup)
6583 ("emacs-dash" ,emacs-dash)
6584 ("emacs-s" ,emacs-s)))
6585 (arguments
6586 `(#:tests? #t
6587 #:test-command '("buttercup")))
6588 (home-page "https://github.com/clojure-emacs/clojure-mode")
6589 (synopsis "Major mode for Clojure code")
6590 (description
6591 "This Emacs package provides font-lock, indentation, navigation and basic
6592 refactoring for the @uref{http://clojure.org, Clojure programming language}.
6593 It is recommended to use @code{clojure-mode} with Paredit or Smartparens.")
6594 (license license:gpl3+)))
6595
6596 (define-public emacs-epl
6597 (package
6598 (name "emacs-epl")
6599 (version "0.8")
6600 (source
6601 (origin
6602 (method git-fetch)
6603 (uri (git-reference
6604 (url "https://github.com/cask/epl.git")
6605 (commit version)))
6606 (file-name (git-file-name name version))
6607 (sha256
6608 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
6609 (build-system emacs-build-system)
6610 (home-page "https://github.com/cask/epl")
6611 (synopsis "Emacs Package Library")
6612 (description
6613 "A package management library for Emacs, based on @code{package.el}.
6614
6615 The purpose of this library is to wrap all the quirks and hassle of
6616 @code{package.el} into a sane API.")
6617 (license license:gpl3+)))
6618
6619 (define-public emacs-counsel-projectile
6620 (package
6621 (name "emacs-counsel-projectile")
6622 (version "0.3.0")
6623 (source (origin
6624 (method git-fetch)
6625 (uri (git-reference
6626 (url "https://github.com/ericdanan/counsel-projectile")
6627 (commit version)))
6628 (file-name (git-file-name name version))
6629 (sha256
6630 (base32
6631 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
6632 (build-system emacs-build-system)
6633 (propagated-inputs
6634 `(("emacs-ivy" ,emacs-ivy)
6635 ("emacs-projectile" ,emacs-projectile)))
6636 (home-page "https://github.com/ericdanan/counsel-projectile")
6637 (synopsis "Enhance Projectile with Ivy")
6638 (description
6639 "This package uses Ivy to provide additional actions for Projectile
6640 commands and replacements for existing functions.")
6641 (license license:gpl3+)))
6642
6643 (define-public emacs-queue
6644 (package
6645 (name "emacs-queue")
6646 (version "0.2")
6647 (source (origin
6648 (method url-fetch)
6649 (uri (string-append "https://elpa.gnu.org/packages/queue-"
6650 version ".el"))
6651 (sha256
6652 (base32
6653 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
6654 (build-system emacs-build-system)
6655 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
6656 (synopsis "Queue data structure for Emacs")
6657 (description
6658 "This Emacs library provides queue data structure. These queues can be
6659 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
6660 stack, i.e. elements can be added to the front or back of the queue, and can
6661 be removed from the front. This type of data structure is sometimes called an
6662 \"output-restricted deque\".")
6663 (license license:gpl3+)))
6664
6665 (define-public emacs-pkg-info
6666 (package
6667 (name "emacs-pkg-info")
6668 (version "0.6")
6669 (source
6670 (origin
6671 (method git-fetch)
6672 (uri (git-reference
6673 (url "https://github.com/lunaryorn/pkg-info.el.git")
6674 (commit version)))
6675 (file-name (git-file-name name version))
6676 (sha256
6677 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
6678 (build-system emacs-build-system)
6679 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
6680 (home-page "https://github.com/lunaryorn/pkg-info.el")
6681 (synopsis "Information about Emacs packages")
6682 (description
6683 "This library extracts information from the installed Emacs packages.")
6684 (license license:gpl3+)))
6685
6686 (define-public emacs-spinner
6687 (package
6688 (name "emacs-spinner")
6689 (version "1.7.3")
6690 (source (origin
6691 (method url-fetch)
6692 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
6693 version ".el"))
6694 (sha256
6695 (base32
6696 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
6697 (build-system emacs-build-system)
6698 (home-page "https://github.com/Malabarba/spinner.el")
6699 (synopsis "Emacs mode-line spinner for operations in progress")
6700 (description
6701 "This Emacs package adds spinners and progress-bars to the mode-line for
6702 ongoing operations.")
6703 (license license:gpl3+)))
6704
6705 (define-public emacs-sparql-mode
6706 (package
6707 (name "emacs-sparql-mode")
6708 (version "2.0.1")
6709 (source
6710 (origin
6711 (method git-fetch)
6712 (uri (git-reference
6713 (url "https://github.com/ljos/sparql-mode.git")
6714 (commit (string-append "v" version))))
6715 (file-name (git-file-name name version))
6716 (sha256
6717 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
6718 (build-system emacs-build-system)
6719 (home-page "https://github.com/ljos/sparql-mode")
6720 (synopsis "SPARQL mode for Emacs")
6721 (description "This package provides a major mode for Emacs that provides
6722 syntax highlighting for SPARQL. It also provides a way to execute queries
6723 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
6724 possible to query other endpoints like DBPedia.")
6725 (license license:gpl3+)))
6726
6727 (define-public emacs-better-defaults
6728 (package
6729 (name "emacs-better-defaults")
6730 (version "0.1.3")
6731 (source
6732 (origin
6733 (method git-fetch)
6734 (uri (git-reference
6735 (url "https://github.com/technomancy/better-defaults")
6736 (commit version)))
6737 (file-name (git-file-name name version))
6738 (sha256
6739 (base32
6740 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
6741 (build-system emacs-build-system)
6742 (home-page "https://github.com/technomancy/better-defaults")
6743 (synopsis "Better defaults for Emacs")
6744 (description
6745 "Better defaults attempts to address the most obvious deficiencies of the
6746 Emacs default configuration in uncontroversial ways that nearly everyone can
6747 agree upon.")
6748 (license license:gpl3+)))
6749
6750 (define-public emacs-undohist-el
6751 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
6752 (revision "1"))
6753 (package
6754 (name "emacs-undohist-el")
6755 (version (git-version "0" revision commit))
6756 (source
6757 (origin
6758 (method git-fetch)
6759 (uri (git-reference
6760 (url "https://github.com/m2ym/undohist-el")
6761 (commit commit)))
6762 (file-name (git-file-name name version))
6763 (sha256
6764 (base32
6765 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
6766 (patches
6767 (search-patches "emacs-undohist-ignored.patch"))))
6768 (build-system emacs-build-system)
6769 (home-page "https://github.com/m2ym/undohist-el")
6770 (synopsis "Save undo history between sessions")
6771 (description "This package allows persistent use of undo history for
6772 individual file buffers.")
6773 (license license:gpl3+))))
6774
6775 (define-public emacs-eprime
6776 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
6777 (package
6778 (name "emacs-eprime")
6779 (version (string-append "20140513-" (string-take commit 7)))
6780 (source (origin
6781 (method url-fetch)
6782 (uri (string-append "https://raw.githubusercontent.com"
6783 "/AndrewHynes/eprime-mode/"
6784 commit "/eprime-mode.el"))
6785 (file-name (string-append "eprime-" version ".el"))
6786 (sha256
6787 (base32
6788 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
6789 (build-system emacs-build-system)
6790 (home-page "https://github.com/AndrewHynes/eprime-mode")
6791 (synopsis "E-prime checking mode for Emacs")
6792 (description "This package provides an E-prime checking mode for Emacs
6793 that highlights non-conforming text. The subset of the English language called
6794 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
6795 (license license:gpl3+))))
6796
6797 (define-public emacs-julia-mode
6798 ;; XXX: Upstream version remained stuck at 0.3. See
6799 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
6800 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
6801 (revision "1"))
6802 (package
6803 (name "emacs-julia-mode")
6804 (version (string-append "0.3-" revision "." (string-take commit 8)))
6805 (source
6806 (origin
6807 (method git-fetch)
6808 (uri (git-reference
6809 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
6810 (commit commit)))
6811 (file-name (git-file-name name version))
6812 (sha256
6813 (base32
6814 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
6815 (build-system emacs-build-system)
6816 (arguments
6817 `(#:tests? #t
6818 #:test-command '("emacs" "--batch"
6819 "-l" "julia-mode-tests.el"
6820 "-f" "ert-run-tests-batch-and-exit")))
6821 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
6822 (synopsis "Major mode for Julia")
6823 (description "This Emacs package provides a mode for the Julia
6824 programming language.")
6825 (license license:expat))))
6826
6827 (define-public emacs-smex
6828 (package
6829 (name "emacs-smex")
6830 (version "3.0")
6831 (source (origin
6832 (method url-fetch)
6833 (uri (string-append "https://raw.githubusercontent.com"
6834 "/nonsequitur/smex/" version "/smex.el"))
6835 (file-name (string-append "smex-" version ".el"))
6836 (sha256
6837 (base32
6838 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
6839 (build-system emacs-build-system)
6840 (home-page "https://github.com/nonsequitur/smex/")
6841 (synopsis "M-x interface with Ido-style fuzzy matching")
6842 (description
6843 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
6844 convenient interface to your recently and most frequently used commands. And
6845 to all the other commands, too.")
6846 (license license:gpl3+)))
6847
6848 (define-public emacs-js2-mode
6849 (package
6850 (name "emacs-js2-mode")
6851 (version "20190219")
6852 (source
6853 (origin
6854 (method git-fetch)
6855 (uri (git-reference
6856 (url "https://github.com/mooz/js2-mode.git")
6857 (commit version)))
6858 (file-name (git-file-name name version))
6859 (sha256
6860 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
6861 (build-system emacs-build-system)
6862 (arguments
6863 `(#:tests? #t
6864 #:test-command '("make" "test")))
6865 (home-page "https://github.com/mooz/js2-mode/")
6866 (synopsis "Improved JavaScript editing mode for Emacs")
6867 (description
6868 "Js2-mode provides a JavaScript major mode for Emacs that is more
6869 advanced than the built-in javascript-mode. Features include accurate syntax
6870 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
6871 errors and strict-mode warnings, smart line-wrapping within comments and
6872 strings, and code folding.")
6873 (license license:gpl3+)))
6874
6875 (define-public emacs-nodejs-repl
6876 (package
6877 (name "emacs-nodejs-repl")
6878 (version "0.2.2")
6879 (source (origin
6880 (method git-fetch)
6881 (uri (git-reference
6882 (url "https://github.com/abicky/nodejs-repl.el")
6883 (commit version)))
6884 (file-name (git-file-name name version))
6885 (sha256
6886 (base32
6887 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
6888 (build-system emacs-build-system)
6889 (inputs
6890 `(("node" ,node)))
6891 (native-inputs
6892 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
6893 (arguments
6894 `(#:phases
6895 (modify-phases %standard-phases
6896 (add-after 'unpack 'set-shell
6897 ;; Setting the SHELL environment variable is required for the tests
6898 ;; to find sh.
6899 (lambda _
6900 (setenv "SHELL" (which "sh"))
6901 #t))
6902 (add-after 'unpack 'configure
6903 (lambda* (#:key inputs outputs #:allow-other-keys)
6904 (let ((node (assoc-ref inputs "node")))
6905 ;; Specify the absolute file names of the various
6906 ;; programs so that everything works out-of-the-box.
6907 (make-file-writable "nodejs-repl.el")
6908 (emacs-substitute-variables
6909 "nodejs-repl.el"
6910 ("nodejs-repl-command"
6911 (string-append node "/bin/node")))))))
6912 #:tests? #t
6913 #:test-command '("emacs" "-Q" "--batch"
6914 "-L" "."
6915 "-l" "test/test.el"
6916 "-f" "ert-run-tests-batch-and-exit")))
6917 (home-page "https://github.com/abicky/nodejs-repl.el")
6918 (synopsis "Node.js REPL inside Emacs")
6919 (description
6920 "This program is derived from comint-mode and provides the following
6921 features:
6922
6923 @itemize
6924 @item TAB completion same as Node.js REPL
6925 @item file name completion in string
6926 @item incremental history search
6927 @end itemize")
6928 (license license:gpl3+)))
6929
6930 (define-public emacs-typescript-mode
6931 (package
6932 (name "emacs-typescript-mode")
6933 (version "0.3")
6934 (source (origin
6935 (method git-fetch)
6936 (uri (git-reference
6937 (url "https://github.com/ananthakumaran/typescript.el")
6938 (commit (string-append "v" version))))
6939 (file-name (git-file-name name version))
6940 (sha256
6941 (base32
6942 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
6943 (build-system emacs-build-system)
6944 (home-page "https://github.com/ananthakumaran/typescript.el")
6945 (synopsis "Emacs major mode for editing Typescript code")
6946 (description
6947 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
6948 This is much more robust and works with @code{cc-mode}'s comment
6949 filling (mostly). The modifications to the original @code{javascript.el} mode
6950 mainly consisted in replacing \"javascript\" with \"typescript\"
6951
6952 The main features of this Typescript mode are syntactic highlighting (enabled
6953 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
6954 indentation and filling of comments and C preprocessor fontification.")
6955 (license license:gpl3+)))
6956
6957 (define-public emacs-tide
6958 (package
6959 (name "emacs-tide")
6960 (version "3.2.3")
6961 (source (origin
6962 (method git-fetch)
6963 (uri (git-reference
6964 (url "https://github.com/ananthakumaran/tide")
6965 (commit (string-append "v" version))))
6966 (file-name (git-file-name name version))
6967 (sha256
6968 (base32
6969 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
6970 (build-system emacs-build-system)
6971 (propagated-inputs
6972 `(("emacs-dash" ,emacs-dash)
6973 ("emacs-s" ,emacs-s)
6974 ("emacs-flycheck" ,emacs-flycheck)
6975 ("emacs-typescript-mode" ,emacs-typescript-mode)))
6976 (home-page "https://github.com/ananthakumaran/tide")
6977 (synopsis "Typescript IDE for Emacs")
6978 (description
6979 "Tide is an Interactive Development Environment (IDE) for Emacs which
6980 provides the following features:
6981
6982 @itemize
6983 @item ElDoc
6984 @item Auto complete
6985 @item Flycheck
6986 @item Jump to definition, Jump to type definition
6987 @item Find occurrences
6988 @item Rename symbol
6989 @item Imenu
6990 @item Compile On Save
6991 @item Highlight Identifiers
6992 @item Code Fixes
6993 @item Code Refactor
6994 @item Organize Imports
6995 @end itemize")
6996 (license license:gpl3+)))
6997
6998 (define-public emacs-markdown-mode
6999 (package
7000 (name "emacs-markdown-mode")
7001 (version "2.3")
7002 (source (origin
7003 (method git-fetch)
7004 (uri (git-reference
7005 (url "https://github.com/jrblevin/markdown-mode.git")
7006 (commit (string-append "v" version))))
7007 (file-name (git-file-name name version))
7008 (sha256
7009 (base32
7010 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
7011 (build-system emacs-build-system)
7012 (home-page "https://jblevins.org/projects/markdown-mode/")
7013 (synopsis "Emacs Major mode for Markdown files")
7014 (description
7015 "Markdown-mode is a major mode for editing Markdown-formatted text files
7016 in Emacs.")
7017 (license license:gpl3+)))
7018
7019 (define-public emacs-evil-markdown
7020 (let ((commit "685d7fbb81bc02fa32779d2a127b99a0c8c7436b")
7021 (revision "2"))
7022 (package
7023 (name "emacs-evil-markdown")
7024 (version (git-version "0.0.2" revision commit))
7025 (source
7026 (origin
7027 (method git-fetch)
7028 (uri (git-reference
7029 (url "https://github.com/Somelauw/evil-markdown.git")
7030 (commit commit)))
7031 (file-name (git-file-name name version))
7032 (sha256
7033 (base32 "1z1sjn6dcqv8mmkh6nfcwhnql2z6xr9yx3hs77bfxj79pf3c466p"))))
7034 (build-system emacs-build-system)
7035 (propagated-inputs
7036 `(("emacs-evil" ,emacs-evil)
7037 ("emacs-markdown-mode" ,emacs-markdown-mode)))
7038 (home-page "https://github.com/Somelauw/evil-markdown/")
7039 (synopsis "Evil keybindings for @code{markdown-mode}")
7040 (description
7041 "This package provides custom text objects and bindings for
7042 @code{markdown-mode}.")
7043 (license license:gpl3+))))
7044
7045 (define-public emacs-edit-indirect
7046 (package
7047 (name "emacs-edit-indirect")
7048 (version "0.1.5")
7049 (source
7050 (origin
7051 (method git-fetch)
7052 (uri (git-reference
7053 (url "https://github.com/Fanael/edit-indirect")
7054 (commit version)))
7055 (file-name (git-file-name name version))
7056 (sha256
7057 (base32
7058 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
7059 (build-system emacs-build-system)
7060 (home-page "https://github.com/Fanael/edit-indirect")
7061 (synopsis "Edit regions in separate buffers")
7062 (description "This package allows you to edit regions in separate buffers,
7063 like @code{org-edit-src-code} but for arbitrary regions.")
7064 (license license:gpl3+)))
7065
7066 (define-public emacs-projectile
7067 (package
7068 (name "emacs-projectile")
7069 (version "2.1.0")
7070 (source (origin
7071 (method url-fetch)
7072 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
7073 "/projectile/v" version "/projectile.el"))
7074 (file-name (string-append "projectile-" version ".el"))
7075 (sha256
7076 (base32
7077 "1jj9wk91clyph3zmxkd7y7d6gdqmjd1vndhyq5fxp7i7dy013571"))))
7078 (build-system emacs-build-system)
7079 (propagated-inputs
7080 `(("emacs-dash" ,emacs-dash)
7081 ("emacs-pkg-info" ,emacs-pkg-info)))
7082 (home-page "https://github.com/bbatsov/projectile")
7083 (synopsis "Manage and navigate projects in Emacs easily")
7084 (description
7085 "This library provides easy project management and navigation. The
7086 concept of a project is pretty basic - just a folder containing special file.
7087 Currently git, mercurial and bazaar repos are considered projects by default.
7088 If you want to mark a folder manually as a project just create an empty
7089 .projectile file in it.")
7090 (license license:gpl3+)))
7091
7092 (define-public emacs-skeletor
7093 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
7094 (revision "1"))
7095 (package
7096 (name "emacs-skeletor")
7097 (version (git-version "1.6.1" revision commit))
7098 (source (origin
7099 (method git-fetch)
7100 (uri (git-reference
7101 (url "https://github.com/chrisbarrett/skeletor.el.git")
7102 (commit commit)))
7103 (file-name (git-file-name name version))
7104 (sha256
7105 (base32
7106 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
7107 (build-system emacs-build-system)
7108 (propagated-inputs
7109 `(("emacs-s" ,emacs-s)
7110 ("emacs-f" ,emacs-f)
7111 ("emacs-dash" ,emacs-dash)
7112 ("emacs-let-alist" ,emacs-let-alist)))
7113 (native-inputs
7114 `(("emacs-ert-runner" ,emacs-ert-runner)))
7115 (arguments
7116 `(#:include (cons "^project-skeletons\\/" %default-include)
7117 ;; XXX: one failing test involving initializing a git repo
7118 #:phases
7119 (modify-phases %standard-phases
7120 (add-before 'check 'make-test-writable
7121 (lambda _
7122 (make-file-writable "test/skeletor-test.el")
7123 #t))
7124 (add-before 'check 'remove-git-test
7125 (lambda _
7126 (emacs-batch-edit-file "test/skeletor-test.el"
7127 `(progn
7128 (progn
7129 (goto-char (point-min))
7130 (re-search-forward
7131 "ert-deftest initialises-git-repo")
7132 (beginning-of-line)
7133 (kill-sexp))
7134 (basic-save-buffer)))
7135 #t)))
7136 #:tests? #t
7137 #:test-command '("ert-runner")))
7138 (home-page "https://github.com/chrisbarrett/skeletor.el")
7139 (synopsis "Project skeletons for Emacs")
7140 (description "This package provides project templates and automates the
7141 mundane parts of setting up a new project, such as version control, licenses,
7142 and tooling.")
7143 (license license:gpl3+))))
7144
7145 (define-public emacs-elfeed
7146 (package
7147 (name "emacs-elfeed")
7148 (version "3.3.0")
7149 (source
7150 (origin
7151 (method git-fetch)
7152 (uri (git-reference
7153 (url "https://github.com/skeeto/elfeed.git")
7154 (commit version)))
7155 (file-name (git-file-name name version))
7156 (sha256
7157 (base32 "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"))))
7158 (build-system emacs-build-system)
7159 (arguments
7160 `(#:tests? #t
7161 #:test-command '("make" "test")))
7162 (home-page "https://github.com/skeeto/elfeed")
7163 (synopsis "Atom/RSS feed reader for Emacs")
7164 (description
7165 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
7166 and RSS, with a user interface inspired by notmuch.")
7167 (license license:gpl3+)))
7168
7169 (define-public emacs-elfeed-org
7170 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
7171 (package
7172 (name "emacs-elfeed-org")
7173 (version (git-version "0.1" "1" commit))
7174 (source
7175 (origin
7176 (method git-fetch)
7177 (uri (git-reference
7178 (url "https://github.com/remyhonig/elfeed-org.git")
7179 (commit commit)))
7180 (file-name (git-file-name name version))
7181 (sha256
7182 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
7183 (build-system emacs-build-system)
7184 (propagated-inputs
7185 `(("emacs-elfeed" ,emacs-elfeed)
7186 ("emacs-org" ,emacs-org)
7187 ("emacs-dash" ,emacs-dash)
7188 ("emacs-s" ,emacs-s)))
7189 (native-inputs
7190 `(("ert-runner" ,emacs-ert-runner)
7191 ("emacs-xtest" ,emacs-xtest)))
7192 (arguments
7193 `(#:tests? #t
7194 #:test-command '("ert-runner" "-L" "org-mode/lisp")
7195 #:phases
7196 (modify-phases %standard-phases
7197 (add-before 'check 'chmod
7198 (lambda _
7199 (chmod "test/fixture-mark-feed-ignore.org" #o644)
7200 #t)))))
7201 (home-page "https://github.com/remyhonig/elfeed-org")
7202 (synopsis "Configure Elfeed with an Org-mode file")
7203 (description
7204 "@code{elfeed-org} lets you manage your Elfeed subscriptions
7205 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
7206 the regular flat list, where there is no hierarchy and tag names are
7207 duplicated a lot. Org-mode makes the book keeping of tags and feeds
7208 much easier.")
7209 (license license:gpl3+))))
7210
7211 (define-public emacs-el-x
7212 (package
7213 (name "emacs-el-x")
7214 (version "0.3.1")
7215 (source (origin
7216 (method git-fetch)
7217 (uri (git-reference
7218 (url "https://github.com/sigma/el-x.git")
7219 (commit (string-append "v" version))))
7220 (file-name (git-file-name name version))
7221 (sha256
7222 (base32
7223 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
7224 (build-system emacs-build-system)
7225 (arguments
7226 `(#:phases
7227 (modify-phases %standard-phases
7228 ;; Move the source files to the top level, which is included in
7229 ;; the EMACSLOADPATH.
7230 (add-after 'unpack 'move-source-files
7231 (lambda _
7232 (let ((el-files (find-files "./lisp" ".*\\.el$")))
7233 (for-each (lambda (f)
7234 (rename-file f (basename f)))
7235 el-files))
7236 #t)))))
7237 (home-page "https://github.com/sigma/el-x")
7238 (synopsis "Emacs Lisp extensions")
7239 (description "command@{emacs-el-x} defines the @code{dflet} macro to
7240 provide the historic behavior of @code{flet}, as well as
7241 @code{declare-function} stub for older Emacs.")
7242 (license license:gpl2+)))
7243
7244 (define-public emacs-mocker
7245 (package
7246 (name "emacs-mocker")
7247 (version "0.3.1")
7248 (source (origin
7249 (method git-fetch)
7250 (uri (git-reference
7251 (url "https://github.com/sigma/mocker.el.git")
7252 (commit (string-append "v" version))))
7253 (file-name (git-file-name name version))
7254 (sha256
7255 (base32
7256 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
7257 (build-system emacs-build-system)
7258 (arguments
7259 `(#:tests? #t
7260 #:test-command '("ert-runner")))
7261 (native-inputs
7262 `(("ert-runner" ,emacs-ert-runner)))
7263 (propagated-inputs
7264 `(("emacs-el-x" ,emacs-el-x)))
7265 (home-page "https://github.com/sigma/mocker.el")
7266 (synopsis "Mocking framework for Emacs Lisp")
7267 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
7268 It uses regular Lisp rather than a domain specific language (DSL), which
7269 maximizes flexibility (at the expense of conciseness).")
7270 (license license:gpl2+)))
7271
7272 (define-public emacs-find-file-in-project
7273 (package
7274 (name "emacs-find-file-in-project")
7275 (version "5.7.7")
7276 (source (origin
7277 (method git-fetch)
7278 (uri (git-reference
7279 (url "https://github.com/technomancy/find-file-in-project.git")
7280 (commit version)))
7281 (file-name (git-file-name name version))
7282 (sha256
7283 (base32
7284 "1skjbh7m0cck2rwmgzrrds51gipqf1jqghyfx15drc1n6kwivx3h"))))
7285 (build-system emacs-build-system)
7286 (arguments
7287 `(#:tests? #t
7288 #:test-command '("ert-runner" "tests")))
7289 (native-inputs
7290 `(("ert-runner" ,emacs-ert-runner)))
7291 (home-page "https://github.com/technomancy/find-file-in-project")
7292 (synopsis "File/directory finder for Emacs")
7293 (description "@code{find-file-in-project} finds files or
7294 directories quickly in the current project. The project root is detected
7295 automatically when Git, Subversion or Mercurial are used. It also provides
7296 functions to assist in reviewing changes on files.")
7297 (license license:gpl3+)))
7298
7299 (define-public emacs-pyvenv
7300 (package
7301 (name "emacs-pyvenv")
7302 (version "1.21")
7303 (source (origin
7304 (method git-fetch)
7305 (uri (git-reference
7306 (url "https://github.com/jorgenschaefer/pyvenv.git")
7307 (commit (string-append "v" version))))
7308 (file-name (git-file-name name version))
7309 (sha256
7310 (base32
7311 "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"))))
7312 (build-system emacs-build-system)
7313 (arguments
7314 `(#:phases
7315 (modify-phases %standard-phases
7316 ;; This phase incorrectly attempts to substitute "activate" and fails
7317 ;; doing so.
7318 (delete 'patch-el-files))
7319 #:tests? #t
7320 #:test-command '("ert-runner")))
7321 (native-inputs
7322 `(("ert-runner" ,emacs-ert-runner)
7323 ("emacs-mocker" ,emacs-mocker)))
7324 (home-page "https://github.com/jorgenschaefer/pyvenv")
7325 (synopsis "Python virtual environment interface for Emacs")
7326 (description "pyvenv.el is a minor mode to support using Python virtual
7327 environments (virtualenv) inside Emacs.")
7328 (license license:gpl3+)))
7329
7330 (define-public emacs-highlight-indent-guides
7331 (let ((version "0.8.5") ; from package metadata
7332 (revision "0")
7333 (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c"))
7334 (package
7335 (name "emacs-highlight-indent-guides")
7336 (version (git-version version revision commit))
7337 (source
7338 (origin
7339 (method git-fetch)
7340 (uri (git-reference
7341 (url "https://github.com/DarthFennec/highlight-indent-guides.git")
7342 (commit commit)))
7343 (file-name (git-file-name name version))
7344 (sha256
7345 (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2"))))
7346 (build-system emacs-build-system)
7347 (home-page
7348 "https://github.com/DarthFennec/highlight-indent-guides")
7349 (synopsis "Minor mode to highlight indentation")
7350 (description
7351 "This package provides a minor mode to highlight indentation levels via
7352 font-lock. Indent widths are dynamically discovered, which means this
7353 correctly highlights in any mode, regardless of indent width, even in
7354 languages with non-uniform indentation such as Haskell. This mode works
7355 properly around hard tabs and mixed indentation and behaves well in large
7356 buffers.")
7357 (license license:expat))))
7358
7359 (define-public emacs-highlight-indentation
7360 ;; Last release version is from 2015.
7361 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
7362 (revision "1"))
7363 (package
7364 (name "emacs-highlight-indentation")
7365 (version (git-version "0.7.0" revision commit))
7366 (source
7367 (origin
7368 (method git-fetch)
7369 (uri (git-reference
7370 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
7371 (commit commit)))
7372 (file-name (git-file-name name version))
7373 (sha256
7374 (base32
7375 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
7376 (build-system emacs-build-system)
7377 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
7378 (synopsis "Highlighting indentation for Emacs")
7379 (description "This package provides two minor modes to highlight
7380 indentation guides in Emacs:
7381
7382 @enumerate
7383 @item @code{highlight-indentation-mode}, which displays guidelines
7384 indentation (space indentation only).
7385 @item @code{highlight-indentation-current-column-mode}, which displays
7386 guidelines for the current-point indentation (space indentation only).
7387 @end enumerate")
7388 (license license:gpl2+))))
7389
7390 (define-public emacs-elpy
7391 (package
7392 (name "emacs-elpy")
7393 (version "1.32.0")
7394 (source (origin
7395 (method git-fetch)
7396 (uri (git-reference
7397 (url "https://github.com/jorgenschaefer/elpy.git")
7398 (commit version)))
7399 (file-name (git-file-name name version))
7400 (sha256
7401 (base32
7402 "0f00mdnzx6xqwni86rgvaa6sfkwyh62xfbwz8qsar15j0j6vc2dj"))))
7403 (build-system emacs-build-system)
7404 (arguments
7405 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
7406 #:phases
7407 (modify-phases %standard-phases
7408 ;; The default environment of the RPC uses Virtualenv to install
7409 ;; Python dependencies from PyPI. We don't want/need this in Guix.
7410 (add-before 'check 'do-not-use-virtualenv
7411 (lambda _
7412 (setenv "ELPY_TEST_DONT_USE_VIRTUALENV" "1")
7413 (substitute* "elpy-rpc.el"
7414 (("defcustom elpy-rpc-virtualenv-path 'default")
7415 "defcustom elpy-rpc-virtualenv-path 'system"))
7416 #t))
7417 (add-before 'check 'build-doc
7418 (lambda _
7419 (with-directory-excursion "docs"
7420 (invoke "make" "info" "man"))
7421 ;; Move .info file at the root so that it can installed by the
7422 ;; 'move-doc phase.
7423 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
7424 #t))
7425 (add-after 'build-doc 'install-manpage
7426 (lambda* (#:key outputs #:allow-other-keys)
7427 (let* ((out (assoc-ref outputs "out"))
7428 (man1 (string-append out "/share/man/man1")))
7429 (mkdir-p man1)
7430 (copy-file "docs/_build/man/elpy.1"
7431 (string-append man1 "/elpy.1")))
7432 #t)))
7433 #:tests? #t
7434 #:test-command '("ert-runner")))
7435 (propagated-inputs
7436 `(("emacs-company" ,emacs-company)
7437 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
7438 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
7439 ("emacs-yasnippet" ,emacs-yasnippet)
7440 ("pyvenv" ,emacs-pyvenv)
7441 ("s" ,emacs-s)
7442 ;; The following are recommended Python dependencies that make Elpy
7443 ;; much more useful. Installing these avoids Elpy prompting to install them
7444 ;; from PyPI using pip.
7445 ("python-autopep8" ,python-autopep8)
7446 ("python-black" ,python-black)
7447 ("python-flake8" ,python-flake8)
7448 ("python-jedi" ,python-jedi)
7449 ("python-rope" ,python-rope)
7450 ("python-yapf" ,python-yapf)))
7451 (native-inputs
7452 `(("ert-runner" ,emacs-ert-runner)
7453 ("emacs-f" ,emacs-f)
7454 ("python" ,python-wrapper)
7455 ;; For documentation.
7456 ("python-sphinx" ,python-sphinx)
7457 ("texinfo" ,texinfo)))
7458 (home-page "https://github.com/jorgenschaefer/elpy")
7459 (synopsis "Python development environment for Emacs")
7460 (description "Elpy brings powerful Python editing to Emacs. It combines
7461 and configures a number of other packages written in Emacs Lisp as well as
7462 Python, together offering features such as navigation, documentation,
7463 completion, interactive development and more.")
7464 (license license:gpl3+)))
7465
7466 (define-public emacs-rainbow-delimiters
7467 (package
7468 (name "emacs-rainbow-delimiters")
7469 (version "2.1.4")
7470 (source (origin
7471 (method git-fetch)
7472 (uri (git-reference
7473 (url "https://github.com/Fanael/rainbow-delimiters.git")
7474 (commit version)))
7475 (file-name (git-file-name name version))
7476 (sha256
7477 (base32
7478 "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"))))
7479 (build-system emacs-build-system)
7480 (home-page "https://github.com/Fanael/rainbow-delimiters")
7481 (arguments
7482 `(#:tests? #t
7483 #:test-command '("emacs" "-Q" "-batch"
7484 "-l" "rainbow-delimiters-test.el"
7485 "-f" "ert-run-tests-batch-and-exit")))
7486 (synopsis "Highlight brackets according to their depth")
7487 (description
7488 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
7489 highlights parentheses, brackets, and braces according to their depth. Each
7490 successive level is highlighted in a different color, making it easy to spot
7491 matching delimiters, orient yourself in the code, and tell which statements
7492 are at a given level.")
7493 (license license:gpl3+)))
7494
7495 (define-public emacs-rainbow-identifiers
7496 (package
7497 (name "emacs-rainbow-identifiers")
7498 (version "0.2.2")
7499 (source (origin
7500 (method url-fetch)
7501 (uri (string-append "https://raw.githubusercontent.com/Fanael"
7502 "/rainbow-identifiers/" version
7503 "/rainbow-identifiers.el"))
7504 (file-name (string-append "rainbow-identifiers-" version ".el"))
7505 (sha256
7506 (base32
7507 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
7508 (build-system emacs-build-system)
7509 (home-page "https://github.com/Fanael/rainbow-identifiers")
7510 (synopsis "Highlight identifiers in source code")
7511 (description
7512 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
7513 identifiers based on their names. Each identifier gets a color based on a hash
7514 of its name.")
7515 (license license:bsd-2)))
7516
7517 (define-public emacs-rainbow-mode
7518 (package
7519 (name "emacs-rainbow-mode")
7520 (version "1.0.2")
7521 (source (origin
7522 (method url-fetch)
7523 (uri (string-append
7524 "https://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
7525 (sha256
7526 (base32
7527 "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd"))))
7528 (build-system emacs-build-system)
7529 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
7530 (synopsis "Colorize color names in buffers")
7531 (description
7532 "This minor mode sets background color to strings that match color
7533 names, e.g. #0000ff is displayed in white with a blue background.")
7534 (license license:gpl3+)))
7535
7536 (define-public emacs-ryo-modal
7537 ;; Package has no release. Version is extracted from "Version:" keyword in
7538 ;; main file.
7539 (let ((commit "3a54312eea7023a86ca3f8eb3c03c872554bff2f")
7540 (revision "0"))
7541 (package
7542 (name "emacs-ryo-modal")
7543 (version (git-version "0.4" revision commit))
7544 (source
7545 (origin
7546 (method git-fetch)
7547 (uri (git-reference
7548 (url "https://github.com/Kungsgeten/ryo-modal.git")
7549 (commit commit)))
7550 (file-name (git-file-name name version))
7551 (sha256
7552 (base32 "1cyvp3bi6yhckbdnq98xvghmhdzghya5y9wd7hxjawibs75rza95"))))
7553 (build-system emacs-build-system)
7554 (home-page "https://github.com/Kungsgeten/ryo-modal")
7555 (synopsis "Emacs minor mode for defining modal editing environments")
7556 (description "RYO modal provides a convenient way of defining modal
7557 keybindings in Emacs, and does not come with any predefined bindings.")
7558 (license license:expat))))
7559
7560 (define-public emacs-visual-fill-column
7561 (package
7562 (name "emacs-visual-fill-column")
7563 (version "1.11")
7564 (source (origin
7565 (method url-fetch)
7566 (uri (string-append "https://codeload.github.com/joostkremers/"
7567 "visual-fill-column/tar.gz/" version))
7568 (file-name (string-append name "-" version ".tar.gz"))
7569 (sha256
7570 (base32
7571 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
7572 (build-system emacs-build-system)
7573 (home-page "https://github.com/joostkremers/visual-fill-column")
7574 (synopsis "Fill-column for visual-line-mode")
7575 (description
7576 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
7577 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
7578 wrapping lines at the window edge, which is the standard behaviour of
7579 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
7580 @code{fill-column} is too large for the window, the text is wrapped at the
7581 window edge.")
7582 (license license:gpl3+)))
7583
7584 (define-public emacs-writeroom
7585 (package
7586 (name "emacs-writeroom")
7587 (version "3.9")
7588 (source
7589 (origin
7590 (method git-fetch)
7591 (uri (git-reference
7592 (url "https://github.com/joostkremers/writeroom-mode.git")
7593 (commit version)))
7594 (file-name (git-file-name name version))
7595 (sha256
7596 (base32
7597 "1nrppnfqsaki6myp58w8jhmzb94rzskh5n98glcn4ghr8sqnafi8"))))
7598 (build-system emacs-build-system)
7599 (propagated-inputs
7600 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
7601 (home-page "https://github.com/joostkremers/writeroom-mode")
7602 (synopsis "Distraction-free writing for Emacs")
7603 (description
7604 "This package defines a minor mode for distraction-free writing. Some of
7605 the default effects include entering fullscreen, deleting other windows of the
7606 current frame, disabling the mode line, and adding margins to the buffer that
7607 restrict the text width to 80 characters.")
7608 (license license:bsd-3)))
7609
7610 (define-public emacs-ido-completing-read+
7611 (package
7612 (name "emacs-ido-completing-read+")
7613 (version "3.12")
7614 (source (origin
7615 (method url-fetch)
7616 (uri (string-append "https://raw.githubusercontent.com"
7617 "/DarwinAwardWinner/ido-ubiquitous/v"
7618 version "/ido-completing-read+.el"))
7619 (file-name (string-append "ido-completing-read+-" version ".el"))
7620 (sha256
7621 (base32
7622 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
7623 (build-system emacs-build-system)
7624 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
7625 (synopsis "Replacement for completing-read using ido")
7626 (description
7627 "The ido-completing-read+ function is a wrapper for ido-completing-read.
7628 Importantly, it detects edge cases that ordinary ido cannot handle and either
7629 adjusts them so ido can handle them, or else simply falls back to the standard
7630 Emacs completion function instead.")
7631 (license license:gpl3+)))
7632
7633 (define-public emacs-ido-ubiquitous
7634 (package
7635 (name "emacs-ido-ubiquitous")
7636 (version "3.12")
7637 (source (origin
7638 (method url-fetch)
7639 (uri (string-append "https://raw.githubusercontent.com"
7640 "/DarwinAwardWinner/ido-ubiquitous/v"
7641 version "/ido-ubiquitous.el"))
7642 (file-name (string-append "ido-ubiquitous-" version ".el"))
7643 (sha256
7644 (base32
7645 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
7646 (build-system emacs-build-system)
7647 (propagated-inputs
7648 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
7649 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
7650 (synopsis "Use ido (nearly) everywhere")
7651 (description
7652 "Ido-ubiquitous enables ido-style completion for almost every function
7653 that uses the standard completion function completing-read.")
7654 (license license:gpl3+)))
7655
7656 (define-public emacs-yaml-mode
7657 (package
7658 (name "emacs-yaml-mode")
7659 (version "0.0.14")
7660 (source (origin
7661 (method git-fetch)
7662 (uri (git-reference
7663 (url "https://github.com/yoshiki/yaml-mode.git")
7664 (commit version)))
7665 (file-name (git-file-name name version))
7666 (sha256
7667 (base32
7668 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
7669 (build-system emacs-build-system)
7670 (home-page "https://github.com/yoshiki/yaml-mode")
7671 (synopsis "Major mode for editing YAML files")
7672 (description
7673 "Yaml-mode is an Emacs major mode for editing files in the YAML data
7674 serialization format. It was initially developed by Yoshiki Kurihara and many
7675 features were added by Marshall Vandegrift. As YAML and Python share the fact
7676 that indentation determines structure, this mode provides indentation and
7677 indentation command behavior very similar to that of python-mode.")
7678 (license license:gpl3+)))
7679
7680 (define-public emacs-gitlab-ci-mode
7681 (package
7682 (name "emacs-gitlab-ci-mode")
7683 (version "20190425.11.10")
7684 (source (origin
7685 (method git-fetch)
7686 (uri (git-reference
7687 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
7688 (commit (string-append "v" version))))
7689 (file-name (git-file-name name version))
7690 (sha256
7691 (base32
7692 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
7693 (build-system emacs-build-system)
7694 (propagated-inputs
7695 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
7696 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
7697 (synopsis "Emacs mode for editing GitLab CI files")
7698 (description
7699 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
7700 files. It provides syntax highlighting and completion for keywords and
7701 special variables. An interface to GitLab’s CI file linter is also provided
7702 via @code{gitlab-ci-lint}.")
7703 (license license:gpl3+)))
7704
7705 (define-public emacs-gitlab-snip-helm
7706 (package
7707 (name "emacs-gitlab-snip-helm")
7708 (version "0.0.2")
7709 (source (origin
7710 (method git-fetch)
7711 (uri (git-reference
7712 (url "https://gitlab.com/sasanidas/gitlab-snip-helm.git")
7713 (commit version)))
7714 (file-name (git-file-name name version))
7715 (sha256
7716 (base32
7717 "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"))))
7718 (build-system emacs-build-system)
7719 (propagated-inputs
7720 `(("emacs-dash" ,emacs-dash)
7721 ("emacs-helm" ,emacs-helm)))
7722 (home-page "https://gitlab.com/sasanidas/gitlab-snip-helm/")
7723 (synopsis "GitLab snippet API interaction for Emacs")
7724 (description "This package provides GitLab snippet API interaction for
7725 Emacs.")
7726 (license license:gpl3+)))
7727
7728 (define-public emacs-web-mode
7729 (package
7730 (name "emacs-web-mode")
7731 (version "17")
7732 (source
7733 (origin
7734 (method git-fetch)
7735 (uri (git-reference
7736 (url "https://github.com/fxbois/web-mode.git")
7737 (commit (string-append "v" version))))
7738 (file-name (git-file-name name version))
7739 (sha256
7740 (base32 "0jr5a1nzp8nbdng0k2fcaymiiv9ngrbknbrqaswgqn3akvx793jk"))))
7741 (build-system emacs-build-system)
7742 (synopsis "Major mode for editing web templates")
7743 (description "Web mode is an Emacs major mode for editing web templates
7744 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
7745 client/server side engines). Web mode is compatible with many template
7746 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
7747 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
7748 Dust.js, React/JSX, Angularjs, ejs, etc.")
7749 (home-page "http://web-mode.org/")
7750 (license license:gpl3+)))
7751
7752 (define-public emacs-wgrep
7753 (package
7754 (name "emacs-wgrep")
7755 (version "2.3.2")
7756 (source (origin
7757 (method git-fetch)
7758 (uri (git-reference
7759 (url "https://github.com/mhayashi1120/Emacs-wgrep")
7760 (commit version)))
7761 (file-name (git-file-name name version))
7762 (sha256
7763 (base32
7764 "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
7765 (build-system emacs-build-system)
7766 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
7767 (synopsis "Edit a grep buffer and apply those changes to the files")
7768 (description
7769 "Emacs wgrep allows you to edit a grep buffer and apply those changes
7770 to the file buffer. Several backends are supported beside the classic grep:
7771 ack, ag, helm and pt.")
7772 (license license:gpl3+)))
7773
7774 (define-public emacs-helm
7775 (package
7776 (name "emacs-helm")
7777 (version "3.6.0")
7778 (source
7779 (origin
7780 (method git-fetch)
7781 (uri (git-reference
7782 (url "https://github.com/emacs-helm/helm.git")
7783 (commit (string-append "v" version))))
7784 (file-name (git-file-name name version))
7785 (sha256
7786 (base32 "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7"))))
7787 (build-system emacs-build-system)
7788 (propagated-inputs
7789 `(("emacs-async" ,emacs-async)
7790 ("emacs-popup" ,emacs-popup)))
7791 (home-page "https://emacs-helm.github.io/helm/")
7792 (synopsis "Incremental completion and selection narrowing
7793 framework for Emacs")
7794 (description "Helm is incremental completion and selection narrowing
7795 framework for Emacs. It will help steer you in the right direction when
7796 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
7797 of @code{anything.el} originally written by Tamas Patrovic and can be
7798 considered to be its successor. Helm sets out to clean up the legacy code in
7799 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
7800 not tied in the trap of backward compatibility.")
7801 (license license:gpl3+)))
7802
7803 (define-public emacs-helm-org
7804 (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
7805 (revision "3"))
7806 (package
7807 (name "emacs-helm-org")
7808 (version (git-version "1.0" revision commit))
7809 (source
7810 (origin
7811 (method git-fetch)
7812 (uri (git-reference
7813 (url "https://github.com/emacs-helm/helm-org.git")
7814 (commit commit)))
7815 (file-name (git-file-name name version))
7816 (sha256
7817 (base32 "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"))))
7818 (build-system emacs-build-system)
7819 (propagated-inputs
7820 `(("emacs-helm" ,emacs-helm)))
7821 (home-page "https://github.com/emacs-helm/helm-org")
7822 (synopsis "Helm interface to the Silver Searcher")
7823 (description
7824 "This package provides a frontend for grepping tools like ag and ack,
7825 as well as features for editing search results.")
7826 (license license:gpl3+))))
7827
7828 (define-public emacs-helm-swoop
7829 (package
7830 (name "emacs-helm-swoop")
7831 (version "2.0.0")
7832 (source
7833 (origin
7834 (method git-fetch)
7835 (uri (git-reference
7836 (url "https://github.com/emacsorphanage/helm-swoop.git")
7837 (commit version)))
7838 (file-name (git-file-name name version))
7839 (sha256
7840 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
7841 (build-system emacs-build-system)
7842 (propagated-inputs
7843 `(("emacs-helm" ,emacs-helm)))
7844 (home-page "https://github.com/emacsorphanage/helm-swoop")
7845 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
7846 (description
7847 "This package builds on the Helm interface to provide several commands
7848 for search-based navigation of buffers.")
7849 (license license:gpl2+)))
7850
7851 (define-public emacs-helm-ag
7852 (package
7853 (name "emacs-helm-ag")
7854 (version "0.59")
7855 (source
7856 (origin
7857 (method git-fetch)
7858 (uri (git-reference
7859 (url "https://github.com/syohex/emacs-helm-ag.git")
7860 (commit version)))
7861 (file-name (git-file-name name version))
7862 (sha256
7863 (base32 "0vsz2b5qw4qahlf74059z4p1grinhfz28f0psw4c3qf4jasv3b9j"))))
7864 (build-system emacs-build-system)
7865 (propagated-inputs
7866 `(("emacs-helm" ,emacs-helm)))
7867 (home-page "https://github.com/syohex/emacs-helm-ag")
7868 (synopsis "Helm interface to the Silver Searcher")
7869 (description
7870 "This package provides a frontend for grepping tools like ag and ack,
7871 as well as features for editing search results.")
7872 (license license:gpl3+)))
7873
7874 ;; There hasn't been a tag or release since 2016, so we take the latest
7875 ;; commit.
7876 (define-public emacs-helm-projectile
7877 (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
7878 (version "0.14.0")
7879 (revision "1"))
7880 (package
7881 (name "emacs-helm-projectile")
7882 (version (git-version version revision commit))
7883 (source
7884 (origin
7885 (method git-fetch)
7886 (uri (git-reference
7887 (url "https://github.com/bbatsov/helm-projectile.git")
7888 (commit commit)))
7889 (file-name (git-file-name name version))
7890 (sha256
7891 (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
7892 (build-system emacs-build-system)
7893 (propagated-inputs
7894 `(("emacs-helm" ,emacs-helm)
7895 ("emacs-projectile" ,emacs-projectile)))
7896 (home-page "https://github.com/bbatsov/helm-projectile")
7897 (synopsis "Helm integration for Projectile")
7898 (description
7899 "This Emacs library provides a Helm interface for Projectile.")
7900 (license license:gpl3+))))
7901
7902 (define-public emacs-taskrunner
7903 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
7904 (revision "1"))
7905 (package
7906 (name "emacs-taskrunner")
7907 (version (git-version "0.6" revision commit))
7908 (source
7909 (origin
7910 (method git-fetch)
7911 (uri (git-reference
7912 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
7913 (commit commit)))
7914 (file-name (git-file-name name version))
7915 (sha256
7916 (base32
7917 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
7918 (build-system emacs-build-system)
7919 (propagated-inputs
7920 `(("emacs-async" ,emacs-async)
7921 ("emacs-projectile" ,emacs-projectile)))
7922 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
7923 (synopsis "Retrieve tasks from various build systems and task-runners")
7924 (description "This package parses Makefiles and build-system files for
7925 multiple project types.")
7926 (license license:gpl3+))))
7927
7928 (define-public emacs-ivy-taskrunner
7929 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
7930 (revision "1"))
7931 (package
7932 (name "emacs-ivy-taskrunner")
7933 (version (git-version "0.9" revision commit))
7934 (source
7935 (origin
7936 (method git-fetch)
7937 (uri (git-reference
7938 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
7939 (commit commit)))
7940 (file-name (git-file-name name version))
7941 (sha256
7942 (base32
7943 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
7944 (build-system emacs-build-system)
7945 (propagated-inputs
7946 `(("emacs-ivy" ,emacs-ivy)
7947 ("emacs-taskrunner" ,emacs-taskrunner)
7948 ("emacs-projectile" ,emacs-projectile)))
7949 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
7950 (synopsis "Retrieve build-system tasks using Ivy")
7951 (description "This package provides an Ivy interface for selecting
7952 Makefile targets.")
7953 (license license:gpl3+))))
7954
7955 (define-public emacs-helm-taskrunner
7956 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
7957 (revision "1"))
7958 (package
7959 (name "emacs-helm-taskrunner")
7960 (version (git-version "0.9" revision commit))
7961 (source
7962 (origin
7963 (method git-fetch)
7964 (uri (git-reference
7965 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
7966 (commit commit)))
7967 (file-name (git-file-name name version))
7968 (sha256
7969 (base32
7970 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
7971 (build-system emacs-build-system)
7972 (propagated-inputs
7973 `(("emacs-helm" ,emacs-helm)
7974 ("emacs-taskrunner" ,emacs-taskrunner)
7975 ("emacs-projectile" ,emacs-projectile)))
7976 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
7977 (synopsis "Retrieve build-system tasks using Helm")
7978 (description "This package provides a Helm interface for selecting
7979 Makefile targets.")
7980 (license license:gpl3+))))
7981
7982 (define-public emacs-helm-make
7983 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
7984 (revision "1"))
7985 (package
7986 (name "emacs-helm-make")
7987 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
7988 (source
7989 (origin
7990 (method git-fetch)
7991 (uri (git-reference
7992 (url "https://github.com/abo-abo/helm-make.git")
7993 (commit commit)))
7994 (file-name (git-file-name name version))
7995 (sha256
7996 (base32
7997 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
7998 (build-system emacs-build-system)
7999 (propagated-inputs
8000 `(("emacs-helm" ,emacs-helm)
8001 ("emacs-projectile" ,emacs-projectile)))
8002 (home-page "https://github.com/abo-abo/helm-make")
8003 (synopsis "Select a Makefile target with helm")
8004 (description "@code{helm-make} or @code{helm-make-projectile} will give
8005 you a @code{helm} selection of directory Makefile's targets. Selecting a
8006 target will call @code{compile} on it.")
8007 (license license:gpl3+))))
8008
8009 (define-public emacs-cider
8010 (package
8011 (name "emacs-cider")
8012 (version "0.25.0")
8013 (source
8014 (origin
8015 (method git-fetch)
8016 (uri (git-reference
8017 (url "https://github.com/clojure-emacs/cider.git")
8018 (commit (string-append "v" version))))
8019 (file-name (git-file-name name version))
8020 (sha256
8021 (base32 "1sdd7vzw948q01kc8im1asiq1j06q0mnn2s8kj83f8sbdnfy0qbk"))))
8022 (build-system emacs-build-system)
8023 (arguments
8024 '(#:exclude ;don't exclude 'cider-test.el'
8025 '("^\\.dir-locals\\.el$" "^test/")))
8026 (propagated-inputs
8027 `(("emacs-clojure-mode" ,emacs-clojure-mode)
8028 ("emacs-parseedn" ,emacs-parseedn)
8029 ("emacs-pkg-info" ,emacs-pkg-info)
8030 ("emacs-queue" ,emacs-queue)
8031 ("emacs-sesman" ,emacs-sesman)
8032 ("emacs-spinner" ,emacs-spinner)))
8033 (home-page "https://cider.mx/")
8034 (synopsis "Clojure development environment for Emacs")
8035 (description
8036 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
8037 provide an interactive development experience similar to the one you'd get
8038 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
8039 Geiser) and Smalltalk.
8040
8041 CIDER is the successor to the now deprecated combination of using SLIME +
8042 swank-clojure for Clojure development.
8043
8044 There are plenty of differences between CIDER and SLIME, but the core ideas
8045 are pretty much the same (and SLIME served as the principle inspiration for
8046 CIDER).")
8047 (license license:gpl3+)))
8048
8049 ;; There hasn't been a tag or release since 2016, so we take the latest
8050 ;; commit.
8051 (define-public emacs-sly
8052 (let ((commit "86a63df73360be51529806c7ed9b775b3f02284d")
8053 (revision "4"))
8054 (package
8055 (name "emacs-sly")
8056 (version (git-version "1.0.0" revision commit))
8057 (source
8058 (origin
8059 (method git-fetch)
8060 (uri (git-reference
8061 (url "https://github.com/joaotavora/sly.git")
8062 (commit commit)))
8063 (file-name (git-file-name name version))
8064 (sha256
8065 (base32
8066 "0sx6fdckcfcld41db0695svvlvllnfaazwx513686gnykwfd209n"))))
8067 (build-system emacs-build-system)
8068 (native-inputs
8069 `(("texinfo" ,texinfo)))
8070 (arguments
8071 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
8072 #:phases
8073 ;; The package provides autoloads.
8074 (modify-phases %standard-phases
8075 (delete 'make-autoloads)
8076 (add-before 'install 'install-doc
8077 (lambda* (#:key outputs #:allow-other-keys)
8078 (let* ((out (assoc-ref outputs "out"))
8079 (info-dir (string-append out "/share/info"))
8080 (doc-dir (string-append out "/share/doc/"
8081 ,name "-" ,version))
8082 (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
8083 "README.md" "NEWS.md" "PROBLEMS.md"
8084 "CONTRIBUTING.md")))
8085 (with-directory-excursion "doc"
8086 (substitute* "Makefile"
8087 (("infodir=/usr/local/info")
8088 (string-append "infodir=" info-dir))
8089 ;; Don't rebuild contributors.texi since we are not in
8090 ;; the git repo.
8091 (("contributors.texi: Makefile texinfo-tabulate.awk")
8092 "contributors.texi:"))
8093 (invoke "make" "html/index.html")
8094 (invoke "make" "sly.info")
8095 ;; TODO: We need minimal texlive with "preprint" package
8096 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
8097 (install-file "sly.info" info-dir)
8098 (copy-recursively "html" (string-append doc-dir "/html")))
8099 (for-each (lambda (f)
8100 (install-file f doc-dir)
8101 (delete-file f))
8102 doc-files)
8103 (delete-file-recursively "doc")
8104 #t))))))
8105 (home-page "https://github.com/joaotavora/sly")
8106 (synopsis "Sylvester the Cat's Common Lisp IDE")
8107 (description
8108 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
8109 contains the following improvements over it:
8110
8111 @enumerate
8112 @item Completely redesigned REPL based on Emacs's own full-featured
8113 @code{comint.el}.
8114 @item Live code annotations via a new @code{sly-stickers} contrib.
8115 @item Consistent interactive button interface. Everything can be copied to
8116 the REPL.
8117 @item Multiple inspectors with independent history.
8118 @item Regexp-capable @code{M-x sly-apropos}.
8119 @item Contribs are first class SLY citizens and enabled by default.
8120 @item Use ASDF to loads contribs on demand.
8121 @end enumerate
8122
8123 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
8124 xref, etc...) are still available, but with better integration.")
8125 (license license:gpl3+))))
8126
8127 (define-public emacs-sly-quicklisp
8128 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
8129 (revision "1"))
8130 (package
8131 (name "emacs-sly-quicklisp")
8132 (version (git-version "0.0.0" revision commit))
8133 (home-page "https://github.com/joaotavora/sly-quicklisp")
8134 (source
8135 (origin
8136 (method git-fetch)
8137 (uri (git-reference
8138 (url home-page)
8139 (commit commit)))
8140 (file-name (git-file-name name version))
8141 (sha256
8142 (base32
8143 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
8144 (build-system emacs-build-system)
8145 (propagated-inputs
8146 `(("emacs-sly" ,emacs-sly)))
8147 (arguments
8148 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8149 #:phases
8150 ;; The package provides autoloads.
8151 (modify-phases %standard-phases
8152 (delete 'make-autoloads)
8153 (delete 'enable-autoloads-compilation))))
8154 (synopsis "Quicklisp support for SLY")
8155 (description
8156 "@command{sly-quicklisp} is an external contrib for SLY that provides a
8157 sly-quickload command that prompts the user for a package to install. ")
8158 (license license:gpl3+))))
8159
8160 (define-public emacs-sly-asdf
8161 (let ((commit "32ce14994e8faee9321605cec36d156b02996c46")
8162 (revision "4"))
8163 (package
8164 (name "emacs-sly-asdf")
8165 (version (git-version "0.1.0" revision commit))
8166 (home-page "https://github.com/mmgeorge/sly-asdf")
8167 (source
8168 (origin
8169 (method git-fetch)
8170 (uri (git-reference
8171 (url home-page)
8172 (commit commit)))
8173 (file-name (git-file-name name version))
8174 (sha256
8175 (base32
8176 "09x8l37wwqw74xc2frwzbfdb1if8rb3szg5akdk3v2qhik4sm3dd"))))
8177 (build-system emacs-build-system)
8178 (propagated-inputs
8179 `(("emacs-sly" ,emacs-sly)
8180 ("emacs-popup" ,emacs-popup)))
8181 (arguments
8182 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
8183 (synopsis "ASDF contrib for SLY")
8184 (description
8185 "@command{sly-asdf} is an external contrib for SLY that provides
8186 additional support for working with ASDF projects.")
8187 (license license:gpl3+))))
8188
8189 (define-public emacs-sly-named-readtables
8190 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
8191 (revision "1"))
8192 (package
8193 (name "emacs-sly-named-readtables")
8194 (version (git-version "0.1" revision commit))
8195 (home-page "https://github.com/joaotavora/sly-named-readtables")
8196 (source
8197 (origin
8198 (method git-fetch)
8199 (uri (git-reference
8200 (url home-page)
8201 (commit commit)))
8202 (file-name (git-file-name name version))
8203 (sha256
8204 (base32
8205 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
8206 (build-system emacs-build-system)
8207 (propagated-inputs
8208 `(("emacs-sly" ,emacs-sly)))
8209 (arguments
8210 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8211 #:phases (modify-phases %standard-phases
8212 ;; Byte compilation of the autoload file fails.
8213 (delete 'enable-autoloads-compilation))))
8214 (synopsis "Named-readtables support for SLY")
8215 (description
8216 "@command{sly-named-readtables} is an external contrib for SLY that
8217 enables different readtables to be active in different parts of the same
8218 file.")
8219 (license license:gpl3+))))
8220
8221 (define-public emacs-sly-macrostep
8222 (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
8223 (revision "1"))
8224 (package
8225 (name "emacs-sly-macrostep")
8226 (version (git-version "0.1" revision commit))
8227 (home-page "https://github.com/joaotavora/sly-macrostep")
8228 (source
8229 (origin
8230 (method git-fetch)
8231 (uri (git-reference
8232 (url home-page)
8233 (commit commit)))
8234 (file-name (git-file-name name version))
8235 (sha256
8236 (base32
8237 "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
8238 (build-system emacs-build-system)
8239 (propagated-inputs
8240 `(("emacs-sly" ,emacs-sly)
8241 ("emacs-macrostep" ,emacs-macrostep)))
8242 (arguments
8243 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8244 #:phases
8245 ;; The package provides autoloads.
8246 (modify-phases %standard-phases
8247 (delete 'make-autoloads)
8248 (delete 'enable-autoloads-compilation))))
8249 (synopsis "Expand Common Lisp macros inside source files with SLY")
8250 (description
8251 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
8252 inside the source file.")
8253 (license license:gpl3+))))
8254
8255 (define-public emacs-sly-package-inferred
8256 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
8257 (revision "1"))
8258 (package
8259 (name "emacs-sly-package-inferred")
8260 (version (git-version "0.1" revision commit))
8261 (home-page "https://github.com/40ants/sly-package-inferred")
8262 (source
8263 (origin
8264 (method git-fetch)
8265 (uri (git-reference
8266 (url home-page)
8267 (commit commit)))
8268 (file-name (git-file-name name version))
8269 (sha256
8270 (base32
8271 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
8272 (build-system emacs-build-system)
8273 (propagated-inputs
8274 `(("emacs-sly" ,emacs-sly)))
8275 (arguments
8276 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
8277 #:phases
8278 ;; The package provides autoloads.
8279 (modify-phases %standard-phases
8280 (delete 'make-autoloads))))
8281 (synopsis "Improved package inferred systems support for SLY")
8282 (description
8283 "@command{sly-package-inferred} is an external contrib for SLY that
8284 replaces its completion with a function which is better suited for systems
8285 using package inferred style.")
8286 (license license:gpl3+))))
8287
8288 (define-public emacs-lua-mode
8289 (let ((commit "1f596a93b3f1caadd7bba01030f8c179b029600b")
8290 (revision "1"))
8291 (package
8292 (name "emacs-lua-mode")
8293 (version (git-version "20191204" revision commit))
8294 (home-page "https://github.com/immerrr/lua-mode/")
8295 (source (origin
8296 (method git-fetch)
8297 (uri (git-reference
8298 (url home-page)
8299 (commit commit)))
8300 (file-name (git-file-name name version))
8301 (sha256
8302 (base32
8303 "0i4adlaik3qjx1wkb7rwk2clvj7ci2g8pm0siyb3yk90r6z5mspi"))))
8304 (build-system emacs-build-system)
8305 (arguments
8306 `(#:tests? #t
8307 #:test-command '("buttercup" "-l" "lua-mode.el")))
8308 (native-inputs
8309 `(("emacs-buttercup" ,emacs-buttercup)
8310 ("lua" ,lua)))
8311 (synopsis "Major mode for lua")
8312 (description
8313 "This Emacs package provides a mode for @uref{https://www.lua.org/,
8314 Lua programming language}.")
8315 (license license:gpl2+))))
8316
8317 (define-public emacs-ebuild-mode
8318 (package
8319 (name "emacs-ebuild-mode")
8320 (version "1.50")
8321 (source
8322 (origin
8323 (method url-fetch)
8324 (uri (string-append
8325 "https://dev.gentoo.org/~ulm/emacs/"
8326 "ebuild-mode-" version ".tar.xz"))
8327 (file-name (string-append name "-" version ".tar.xz"))
8328 (sha256
8329 (base32 "0bgi98vx6ahxijw69kfdiy3rkjdg7yi6k3bkjyasak5920m6fj1d"))))
8330 (build-system emacs-build-system)
8331 (arguments
8332 '(#:phases
8333 (modify-phases %standard-phases
8334 (add-after 'install 'install-doc
8335 (lambda* (#:key outputs #:allow-other-keys)
8336 (invoke "make" "ebuild-mode.info")
8337 (install-file "ebuild-mode.info"
8338 (string-append (assoc-ref outputs "out")
8339 "/share/info"))
8340 #t)))))
8341 (native-inputs
8342 `(("texinfo" ,texinfo)))
8343 (home-page "https://devmanual.gentoo.org")
8344 (synopsis "Major modes for Gentoo package files")
8345 (description
8346 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
8347 news items, openrc and runscripts.")
8348 (license license:gpl2+)))
8349
8350 (define-public emacs-evil
8351 (package
8352 (name "emacs-evil")
8353 (version "1.14.0")
8354 (source
8355 (origin
8356 (method git-fetch)
8357 (uri (git-reference
8358 (url "https://github.com/emacs-evil/evil")
8359 (commit version)))
8360 (file-name (git-file-name name version))
8361 (sha256
8362 (base32
8363 "17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p"))))
8364 (arguments
8365 `(#:phases
8366 (modify-phases %standard-phases
8367 (add-before 'check 'fix-test-helpers
8368 (lambda _
8369 (substitute* "evil-test-helpers.el"
8370 (("\\(undo-tree-mode 1\\)") ""))
8371 #t)))))
8372 (build-system emacs-build-system)
8373 (home-page "https://github.com/emacs-evil/evil")
8374 (synopsis "Extensible Vi layer for Emacs")
8375 (description
8376 "Evil is an extensible vi layer for Emacs. It emulates the
8377 main features of Vim, and provides facilities for writing custom
8378 extensions.")
8379 (license license:gpl3+)))
8380
8381 (define-public emacs-evil-collection
8382 (let ((commit "d062cc206d671fb5aefb1e0e679a9cb1d6c73e33")
8383 (revision "14"))
8384 (package
8385 (name "emacs-evil-collection")
8386 (version (git-version "0.0.3" revision commit))
8387 (source (origin
8388 (method git-fetch)
8389 (uri (git-reference
8390 (url "https://github.com/emacs-evil/evil-collection")
8391 (commit commit)))
8392 (file-name (git-file-name name version))
8393 (sha256
8394 (base32
8395 "1zizfqmfrxx3shgggwa74rg2qqbrs8704wf94ajx0k11dbm1dbrp"))))
8396 (build-system emacs-build-system)
8397 (propagated-inputs
8398 `(("emacs-evil" ,emacs-evil)
8399 ("emacs-annalist" ,emacs-annalist)))
8400 (arguments
8401 `(#:include (cons* "^modes\\/" %default-include)))
8402 (home-page "https://github.com/emacs-evil/evil-collection")
8403 (synopsis "Collection of Evil bindings for many major and minor modes")
8404 (description "This is a collection of Evil bindings for the parts of
8405 Emacs that Evil does not cover properly by default, such as @code{help-mode},
8406 @code{M-x calendar}, Eshell and more.")
8407 (license license:gpl3+))))
8408
8409 (define-public emacs-goto-chg
8410 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
8411 (version "1.7.3")
8412 (revision "1"))
8413 (package
8414 (name "emacs-goto-chg")
8415 (version (git-version version revision commit))
8416 (source
8417 (origin
8418 (method git-fetch)
8419 (uri (git-reference
8420 (url "https://github.com/emacs-evil/goto-chg")
8421 (commit commit)))
8422 (file-name (git-file-name name version))
8423 (sha256
8424 (base32
8425 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
8426 (build-system emacs-build-system)
8427 (propagated-inputs
8428 `(("emacs-undo-tree" ,emacs-undo-tree)))
8429 (home-page "https://github.com/emacs-evil/goto-chg")
8430 (synopsis "Go to the last change in the Emacs buffer")
8431 (description
8432 "This package provides @code{M-x goto-last-change} command that goes to
8433 the point of the most recent edit in the current Emacs buffer. When repeated,
8434 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
8435 used for reverse direction.")
8436 (license license:gpl2+))))
8437
8438 (define-public emacs-janpath-evil-numbers
8439 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
8440 (version "0.5")
8441 (revision "1"))
8442 (package
8443 (name "emacs-janpath-evil-numbers")
8444 (version (git-version version revision commit))
8445 (source
8446 (origin
8447 (method git-fetch)
8448 (uri (git-reference
8449 (url "https://github.com/janpath/evil-numbers")
8450 (commit commit)))
8451 (file-name (git-file-name name version))
8452 (sha256
8453 (base32
8454 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
8455 (build-system emacs-build-system)
8456 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8457 (home-page "https://github.com/janpath/evil-numbers")
8458 (synopsis "Increment and decrement numeric literals")
8459 (description
8460 "This package provides functionality to search for a number up to the
8461 end of a line and increment or decrement it.")
8462 (license license:gpl3+))))
8463
8464 (define-public emacs-evil-owl
8465 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
8466 (revision "3"))
8467 (package
8468 (name "emacs-evil-owl")
8469 (version (git-version "0.0.1" revision commit))
8470 (source
8471 (origin
8472 (method git-fetch)
8473 (uri (git-reference
8474 (url "https://github.com/mamapanda/evil-owl")
8475 (commit commit)))
8476 (file-name (git-file-name name version))
8477 (sha256
8478 (base32
8479 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
8480 (build-system emacs-build-system)
8481 (propagated-inputs
8482 `(("emacs-evil" ,emacs-evil)))
8483 (arguments
8484 `(#:tests? #t
8485 #:test-command '("make" "test")))
8486 (home-page "https://github.com/mamapanda/evil-owl")
8487 (synopsis "Preview candidates when using Evil registers and marks")
8488 (description
8489 "This package supplements Evil's register- and mark-based commands with
8490 a popup window for previewing candidates.")
8491 (license license:gpl3+))))
8492
8493 (define-public emacs-evil-args
8494 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
8495 (revision "1"))
8496 (package
8497 (name "emacs-evil-args")
8498 (version (git-version "1.0" revision commit))
8499 (source
8500 (origin
8501 (method git-fetch)
8502 (uri (git-reference
8503 (url "https://github.com/wcsmith/evil-args.git")
8504 (commit commit)))
8505 (file-name (git-file-name name version))
8506 (sha256
8507 (base32
8508 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
8509 (build-system emacs-build-system)
8510 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8511 (home-page "https://github.com/wcsmith/evil-args")
8512 (synopsis "Motions and text objects for delimited arguments in Evil")
8513 (description
8514 "This package provides motions and text objects for delimited
8515 arguments, such as arguments separated by commas and semicolons.")
8516 (license license:expat))))
8517
8518 (define-public emacs-evil-escape
8519 (package
8520 (name "emacs-evil-escape")
8521 (version "3.14")
8522 (source
8523 (origin
8524 (method git-fetch)
8525 (uri
8526 (git-reference
8527 (url "https://github.com/syl20bnr/evil-escape")
8528 (commit (string-append "v" version))))
8529 (file-name (git-file-name name version))
8530 (sha256
8531 (base32 "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i"))))
8532 (propagated-inputs
8533 `(("emacs-evil" ,emacs-evil)))
8534 (build-system emacs-build-system)
8535 (home-page "https://github.com/syl20bnr/evil-escape")
8536 (synopsis "Escape from insert state and everything else in Emacs")
8537 (description
8538 "Evil escape provides a customizable key sequence to escape from insert
8539 state and everything else in Emacs.")
8540 (license license:gpl3+)))
8541
8542 (define-public emacs-evil-exchange
8543 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
8544 (version "0.41")
8545 (revision "1"))
8546 (package
8547 (name "emacs-evil-exchange")
8548 (version (git-version version revision commit))
8549 (source
8550 (origin
8551 (method git-fetch)
8552 (uri (git-reference
8553 (url "https://github.com/Dewdrops/evil-exchange")
8554 (commit commit)))
8555 (file-name (git-file-name name version))
8556 (sha256
8557 (base32
8558 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
8559 (build-system emacs-build-system)
8560 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8561 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
8562 (arguments
8563 `(#:phases
8564 (modify-phases %standard-phases
8565 (add-before 'check 'fix-makefile
8566 (lambda _
8567 (substitute* "Makefile"
8568 (("cask exec ") ""))
8569 #t)))
8570 #:tests? #t
8571 #:test-command '("make" "test")))
8572 (home-page "https://github.com/Dewdrops/evil-exchange")
8573 (synopsis "Exchange text easily within Evil")
8574 (description
8575 "This package, a port of @code{vim-exchange}, provides an Evil operator
8576 for exchanging text.")
8577 (license license:gpl3+))))
8578
8579 (define-public emacs-evil-replace-with-register
8580 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
8581 (version "0.1")
8582 (revision "1"))
8583 (package
8584 (name "emacs-evil-replace-with-register")
8585 (version (git-version version revision commit))
8586 (source
8587 (origin
8588 (method git-fetch)
8589 (uri (git-reference
8590 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
8591 (commit commit)))
8592 (file-name (git-file-name name version))
8593 (sha256
8594 (base32
8595 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
8596 (build-system emacs-build-system)
8597 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8598 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
8599 (synopsis "Quickly replace text with the contents of a register")
8600 (description
8601 "This package provides an Evil operator for replacing text with the
8602 contents of a register.")
8603 (license license:gpl3+))))
8604
8605 (define-public emacs-evil-indent-plus
8606 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
8607 (version "1.0.0")
8608 (revision "1"))
8609 (package
8610 (name "emacs-evil-indent-plus")
8611 (version (git-version version revision commit))
8612 (source
8613 (origin
8614 (method git-fetch)
8615 (uri (git-reference
8616 (url "https://github.com/TheBB/evil-indent-plus")
8617 (commit commit)))
8618 (file-name (git-file-name name version))
8619 (sha256
8620 (base32
8621 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
8622 (build-system emacs-build-system)
8623 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8624 (home-page "https://github.com/TheBB/evil-indent-plus")
8625 (synopsis "Text objects based on indentation")
8626 (description
8627 "This package adds new text objects for @code{evil-mode} based on
8628 blocks having the same or higher indentation, including or excluding
8629 surrounding lines.")
8630 (license license:gpl2+))))
8631
8632 (define-public emacs-evil-text-object-python
8633 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
8634 (version "1.0.1")
8635 (revision "1"))
8636 (package
8637 (name "emacs-evil-text-object-python")
8638 (version (git-version version revision commit))
8639 (source
8640 (origin
8641 (method git-fetch)
8642 (uri (git-reference
8643 (url "https://github.com/wbolster/evil-text-object-python")
8644 (commit commit)))
8645 (file-name (git-file-name name version))
8646 (sha256
8647 (base32
8648 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
8649 (build-system emacs-build-system)
8650 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8651 (home-page "https://github.com/wbolster/evil-text-object-python")
8652 (synopsis "Text objects for Python")
8653 (description
8654 "This package provides @code{evil-mode} text objects for Python.")
8655 (license license:gpl3+))))
8656
8657 (define-public emacs-evil-lion
8658 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
8659 (revision "1"))
8660 (package
8661 (name "emacs-evil-lion")
8662 (version (git-version "0.0.2" revision commit))
8663 (source
8664 (origin
8665 (method git-fetch)
8666 (uri (git-reference
8667 (url "https://github.com/edkolev/evil-lion")
8668 (commit commit)))
8669 (file-name (git-file-name name version))
8670 (sha256
8671 (base32
8672 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
8673 (build-system emacs-build-system)
8674 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8675 (arguments
8676 `(#:tests? #t
8677 #:test-command '("make" "test")))
8678 (home-page "https://github.com/edkolev/evil-lion")
8679 (synopsis "Align operator for @code{evil-mode}")
8680 (description
8681 "This package, a port of @code{vim-lion}, provides an operator for
8682 aligning text objects based on separators.")
8683 (license license:gpl3+))))
8684
8685 (define-public emacs-evil-expat
8686 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
8687 (revision "1"))
8688 (package
8689 (name "emacs-evil-expat")
8690 (version (git-version "0.0.1" revision commit))
8691 (source
8692 (origin
8693 (method git-fetch)
8694 (uri (git-reference
8695 (url "https://github.com/edkolev/evil-expat")
8696 (commit commit)))
8697 (file-name (git-file-name name version))
8698 (sha256
8699 (base32
8700 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
8701 (build-system emacs-build-system)
8702 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8703 (arguments
8704 `(#:tests? #t
8705 #:test-command '("make" "test")))
8706 (home-page "https://github.com/edkolev/evil-expat")
8707 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
8708 (description
8709 "This package provides additional commands for the @code{ex} command
8710 line, including functions for version control with Git and for copying and
8711 pasting into and from @code{tmux} paste buffers.")
8712 (license license:gpl3+))))
8713
8714 (define-public emacs-evil-nerd-commenter
8715 (package
8716 (name "emacs-evil-nerd-commenter")
8717 (version "3.3.8")
8718 (source
8719 (origin
8720 (method git-fetch)
8721 (uri (git-reference
8722 (url "https://github.com/redguardtoo/evil-nerd-commenter")
8723 (commit version)))
8724 (file-name (git-file-name name version))
8725 (sha256
8726 (base32
8727 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
8728 (build-system emacs-build-system)
8729 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8730 (arguments
8731 `(#:tests? #t
8732 #:test-command '("make" "test")))
8733 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
8734 (synopsis "Comment and uncomment lines efficiently")
8735 (description
8736 "This package provides text objects and operators for comments within
8737 @code{evil-mode}.")
8738 (license license:gpl3+)))
8739
8740 (define-public emacs-evil-visual-replace
8741 (package
8742 (name "emacs-evil-visual-replace")
8743 (version "0.0.5")
8744 (source
8745 (origin
8746 (method git-fetch)
8747 (uri (git-reference
8748 (url "https://github.com/troyp/evil-visual-replace")
8749 (commit version)))
8750 (file-name (git-file-name name version))
8751 (sha256
8752 (base32
8753 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
8754 (build-system emacs-build-system)
8755 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8756 (home-page "https://github.com/troyp/evil-visual-replace")
8757 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
8758 (description
8759 "This package provides versions of @code{query-replace} and
8760 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
8761 (license license:gpl2+)))
8762
8763 (define-public emacs-evil-visualstar
8764 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
8765 (version "0.0.2")
8766 (revision "1"))
8767 (package
8768 (name "emacs-evil-visualstar")
8769 (version (git-version version revision commit))
8770 (source
8771 (origin
8772 (method git-fetch)
8773 (uri (git-reference
8774 (url "https://github.com/bling/evil-visualstar")
8775 (commit commit)))
8776 (file-name (git-file-name name version))
8777 (sha256
8778 (base32
8779 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
8780 (build-system emacs-build-system)
8781 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8782 (home-page "https://github.com/bling/evil-visualstar")
8783 (synopsis "Instantly search using the visual selection")
8784 (description
8785 "This package provides @code{evil-mode} functions for using selected text
8786 to search.")
8787 (license license:gpl3+))))
8788
8789 (define-public emacs-monky
8790 (package
8791 (name "emacs-monky")
8792 (version "0.1")
8793 (source (origin
8794 (method git-fetch)
8795 (uri (git-reference
8796 (url "https://github.com/ananthakumaran/monky.git")
8797 (commit version)))
8798 (file-name (git-file-name name version))
8799 (sha256
8800 (base32
8801 "1fgn7al4zwz2k5wb5dy3byqg9lsrjk9fra341mxh5ma2pfwxjgps"))))
8802 (build-system emacs-build-system)
8803 (home-page "https://ananthakumaran.in/monky/index.html")
8804 (arguments
8805 `(#:tests? #t
8806 #:test-command '("emacs" "--batch"
8807 "-l" "test/monky-unit-test.el"
8808 "-f" "ert-run-tests-batch-and-exit")))
8809 (synopsis "Interactive interface for the Mercurial version control system")
8810 (description
8811 "Monky provides an Emacs interface for Mercurial (Hg). Using Monky, you
8812 can selectively commit files, view the diffs, and other things.")
8813 (license license:gpl3+)))
8814
8815 (define-public emacs-monroe
8816 (package
8817 (name "emacs-monroe")
8818 (version "0.3.1")
8819 (source
8820 (origin
8821 (method git-fetch)
8822 (uri (git-reference
8823 (url "https://github.com/sanel/monroe.git")
8824 (commit version)))
8825 (file-name (git-file-name name version))
8826 (sha256
8827 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
8828 (build-system emacs-build-system)
8829 (home-page "https://github.com/sanel/monroe")
8830 (synopsis "Clojure nREPL client for Emacs")
8831 (description
8832 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
8833 distribution, primarily targeting Clojure users")
8834 (license license:gpl3+)))
8835
8836 (define-public emacs-orgalist
8837 (package
8838 (name "emacs-orgalist")
8839 (version "1.12")
8840 (source
8841 (origin
8842 (method url-fetch)
8843 (uri (string-append "https://elpa.gnu.org/packages/"
8844 "orgalist-" version ".el"))
8845 (sha256
8846 (base32 "1hwm7j0hbv2pg9w885ky1c9qga3grcfq8v216jv2ivkw8xzavysd"))))
8847 (build-system emacs-build-system)
8848 (home-page "https://elpa.gnu.org/packages/orgalist.html")
8849 (synopsis "Manage Org-like lists in non-Org buffers")
8850 (description "Orgalist writes and manages Org mode's plain lists in
8851 non-Org buffers. More specifically, it supports the syntax of Org mode for
8852 numbered, unnumbered, description items, checkboxes, and counter cookies.
8853
8854 The library also implements radio lists, i.e., lists written in Org syntax
8855 later translated into the host format, e.g., LaTeX or HTML.")
8856 (license license:gpl3+)))
8857
8858 (define-public emacs-writegood-mode
8859 (package
8860 (name "emacs-writegood-mode")
8861 (version "2.0.2")
8862 (home-page "https://github.com/bnbeckwith/writegood-mode")
8863 (source (origin
8864 (method git-fetch)
8865 (uri (git-reference
8866 (url home-page)
8867 (commit (string-append "v" version))))
8868 (sha256
8869 (base32
8870 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
8871 (file-name (string-append name "-checkout"))))
8872 (build-system emacs-build-system)
8873 (synopsis "Polish up poor writing on the fly")
8874 (description
8875 "This minor mode tries to find and highlight problems with your writing
8876 in English as you type. It primarily detects \"weasel words\" and abuse of
8877 passive voice.")
8878 (license license:gpl3+)))
8879
8880 (define-public emacs-neotree
8881 (package
8882 (name "emacs-neotree")
8883 (version "0.5.2")
8884 (home-page "https://github.com/jaypei/emacs-neotree")
8885 (source (origin
8886 (method git-fetch)
8887 (uri (git-reference
8888 (url home-page)
8889 (commit version)))
8890 (sha256
8891 (base32
8892 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
8893 (file-name (git-file-name name version))))
8894 (build-system emacs-build-system)
8895 (synopsis "Folder tree view for Emacs")
8896 (description "This Emacs package provides a folder tree view.")
8897 (license license:gpl3+)))
8898
8899 (define-public emacs-org
8900 (package
8901 (name "emacs-org")
8902 ;; emacs-org-contrib inherits from this package. Please update it as
8903 ;; well.
8904 (version "9.3.6")
8905 (source
8906 (origin
8907 (method url-fetch)
8908 (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
8909 (sha256
8910 (base32 "0jwpgfzjvf1hd3mx582pw86hysdryaqzp69hk6azi9kmq4bzk87d"))))
8911 (build-system emacs-build-system)
8912 (arguments
8913 `(#:phases
8914 (modify-phases %standard-phases
8915 (add-after 'install 'install-documentation
8916 (lambda* (#:key outputs #:allow-other-keys)
8917 (let* ((share (string-append (assoc-ref outputs "out") "/share"))
8918 (info-dir (string-append share "/info"))
8919 (doc-dir (string-append share "/doc/" ,name "-" ,version)))
8920 (install-file "org" info-dir)
8921 (install-file "orgcard.pdf" doc-dir))
8922 #t)))))
8923 (home-page "https://orgmode.org/")
8924 (synopsis "Outline-based notes management and organizer")
8925 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8926 lists, and project planning with a fast and effective lightweight markup
8927 language. It also is an authoring system with unique support for literate
8928 programming and reproducible research.")
8929 (license license:gpl3+)))
8930
8931 (define-public emacs-org-contrib
8932 (package
8933 (inherit emacs-org)
8934 (name "emacs-org-contrib")
8935 (version "20200213")
8936 (source
8937 (origin
8938 (method url-fetch)
8939 (uri (string-append "https://orgmode.org/elpa/"
8940 "org-plus-contrib-" version ".tar"))
8941 (sha256
8942 (base32 "0g6rrrwplrifz4ip0jg638m4kvpvdg03hwnyghd813w0lm935mh5"))))
8943 (arguments
8944 `(#:modules ((guix build emacs-build-system)
8945 (guix build utils)
8946 (guix build emacs-utils)
8947 (ice-9 ftw)
8948 (srfi srfi-1))
8949 #:phases
8950 (modify-phases %standard-phases
8951 (add-after 'install 'delete-org-files
8952 (lambda* (#:key inputs outputs #:allow-other-keys)
8953 (let* ((out (assoc-ref outputs "out"))
8954 (org (assoc-ref inputs "org"))
8955 (contrib-files
8956 (map basename (find-files out)))
8957 (org+contrib-files
8958 (map basename (find-files org)))
8959 (duplicates (lset-intersection string=?
8960 contrib-files
8961 org+contrib-files)))
8962 (with-directory-excursion
8963 (string-append out "/share/emacs/site-lisp")
8964 (for-each delete-file duplicates))
8965 #t))))))
8966 (propagated-inputs
8967 `(("arduino-mode" ,emacs-arduino-mode)
8968 ("cider" ,emacs-cider)
8969 ("org" ,emacs-org)
8970 ("scel" ,emacs-scel)))
8971 (synopsis "Contributed packages to Org mode")
8972 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8973 lists, and project planning with a fast and effective plain-text system.
8974
8975 This package is equivalent to org-plus-contrib, but only includes additional
8976 files that you would find in @file{contrib/} from the git repository.")))
8977
8978 (define-public emacs-flx
8979 (package
8980 (name "emacs-flx")
8981 (version "0.6.1")
8982 (source
8983 (origin
8984 (method git-fetch)
8985 (uri (git-reference
8986 (url "https://github.com/lewang/flx.git")
8987 (commit (string-append "v" version))))
8988 (sha256
8989 (base32
8990 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
8991 (file-name (git-file-name name version))))
8992 (build-system emacs-build-system)
8993 (home-page "https://github.com/lewang/flx")
8994 (synopsis "Fuzzy matching for Emacs")
8995 (description
8996 "Flx provides fuzzy matching for emacs a la sublime text.
8997 The sorting algorithm is a balance between word beginnings (abbreviation)
8998 and contiguous matches (substring). The longer the substring match,
8999 the higher it scores. This maps well to how we think about matching.
9000 Flx has support for ido (interactively do things) through flx-ido.")
9001 (license license:gpl3+)))
9002
9003 (define-public emacs-cyberpunk-theme
9004 (package
9005 (name "emacs-cyberpunk-theme")
9006 (version "1.22")
9007 (source
9008 (origin
9009 (method git-fetch)
9010 (uri (git-reference
9011 (url "https://github.com/n3mo/cyberpunk-theme.el/")
9012 (commit version)))
9013 (sha256
9014 (base32
9015 "06nff38pcy5rgz13svkajsg0jjk73qy4a8m7p9f76yxcywxlgxlc"))
9016 (file-name (git-file-name name version))))
9017 (build-system emacs-build-system)
9018 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
9019 (synopsis "Cyberpunk theme for Emacs built-in color theme support")
9020 (description
9021 "Cyberpunk color theme for the Emacs 24+ built-in color theme support
9022 known loosely as deftheme. Many mode-specific customizations are included.")
9023 (license license:gpl3+)))
9024
9025 (define-public emacs-danneskjold-theme
9026 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
9027 (revision "1"))
9028 (package
9029 (name "emacs-danneskjold-theme")
9030 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
9031 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
9032 (source
9033 (origin
9034 (method git-fetch)
9035 (uri (git-reference
9036 (url home-page)
9037 (commit commit)))
9038 (file-name (git-file-name name version))
9039 (sha256
9040 (base32
9041 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
9042 (build-system emacs-build-system)
9043 (arguments
9044 `(#:phases
9045 (modify-phases %standard-phases
9046 (add-after 'unpack 'delete-screenshots
9047 (lambda _
9048 (delete-file-recursively "screenshots") #t)))))
9049 (synopsis "High-contrast Emacs theme")
9050 (description
9051 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
9052 (license license:gpl3+))))
9053
9054 (define-public emacs-dream-theme
9055 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
9056 (revision "1"))
9057 (package
9058 (name "emacs-dream-theme")
9059 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
9060 (source
9061 (origin
9062 (method git-fetch)
9063 (uri (git-reference
9064 (url "https://github.com/djcb/dream-theme")
9065 (commit commit)))
9066 (file-name (git-file-name name version))
9067 (sha256
9068 (base32
9069 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
9070 (build-system emacs-build-system)
9071 (home-page "https://github.com/djcb/dream-theme")
9072 (synopsis "High-contrast Emacs theme")
9073 (description
9074 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
9075 by zenburn, sinburn and similar themes, but slowly diverging from them.")
9076 (license license:gpl3+))))
9077
9078 (define-public emacs-dracula-theme
9079 (package
9080 (name "emacs-dracula-theme")
9081 (version "1.7.0")
9082 (source
9083 (origin
9084 (method git-fetch)
9085 (uri (git-reference
9086 (url "https://github.com/dracula/emacs")
9087 (commit (string-append "v" version))))
9088 (file-name (git-file-name name version))
9089 (sha256
9090 (base32 "15y2djc5jljlvls1x9kp50m1kp0dcksmyixafsyimj66xpq9ngh0"))))
9091 (build-system emacs-build-system)
9092 (home-page "https://draculatheme.com/")
9093 (synopsis "Dark theme for Emacs")
9094 (description
9095 "Dracula is a dark color theme for many editors, shells and more. This
9096 package provides the Emacs theme.")
9097 (license license:expat)))
9098
9099 (define-public emacs-auto-complete
9100 (package
9101 (name "emacs-auto-complete")
9102 (version "1.5.1")
9103 (source
9104 (origin
9105 (method git-fetch)
9106 (uri (git-reference
9107 (url "https://github.com/auto-complete/auto-complete.git")
9108 (commit (string-append "v" version))))
9109 (sha256
9110 (base32
9111 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
9112 (file-name (git-file-name name version))))
9113 (build-system emacs-build-system)
9114 (propagated-inputs
9115 `(("emacs-popup" ,emacs-popup)))
9116 (home-page "https://github.com/auto-complete/auto-complete")
9117 (synopsis "Intelligent auto-completion extension for Emacs")
9118 (description
9119 "Auto-Complete is an intelligent auto-completion extension for Emacs.
9120 It extends the standard Emacs completion interface and provides an environment
9121 that allows users to concentrate more on their own work. Its features are:
9122 a visual interface, reduce overhead of completion by using statistic method,
9123 extensibility.")
9124 (license license:gpl3+)))
9125
9126 (define-public emacs-nginx-mode
9127 (package
9128 (name "emacs-nginx-mode")
9129 (version "1.1.9")
9130 (source
9131 (origin
9132 (method git-fetch)
9133 (uri (git-reference
9134 (url "https://github.com/ajc/nginx-mode.git")
9135 (commit (string-append "v" version))))
9136 (file-name (git-file-name name version))
9137 (sha256
9138 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
9139 (build-system emacs-build-system)
9140 (home-page "https://github.com/ajc/nginx-mode")
9141 (synopsis "Emacs major mode for editing nginx config files")
9142 (description "This package provides an Emacs major mode for
9143 editing nginx config files.")
9144 (license license:gpl2+)))
9145
9146 (define-public emacs-stream
9147 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
9148 (revision "1"))
9149 (package
9150 (name "emacs-stream")
9151 (version (git-version "2.2.4" revision commit))
9152 (source
9153 (origin
9154 (method git-fetch)
9155 (uri (git-reference
9156 (url "https://github.com/Emacsmirror/stream.git")
9157 (commit commit)))
9158 (file-name (git-file-name name version))
9159 (sha256
9160 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
9161 (build-system emacs-build-system)
9162 (arguments
9163 `(#:tests? #t
9164 #:test-command '("emacs" "--batch"
9165 "-l" "tests/stream-tests.el"
9166 "-f" "ert-run-tests-batch-and-exit")))
9167 (home-page "https://github.com/Emacsmirror/stream")
9168 (synopsis "Implementation of streams for Emacs")
9169 (description "This library provides an implementation of streams for Emacs.
9170 Streams are implemented as delayed evaluation of cons cells.")
9171 (license license:gpl3+))))
9172
9173 (define-public emacs-cl-print
9174 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
9175 (revision "1"))
9176 (package
9177 (name "emacs-cl-print")
9178 (version (git-version "1.0" revision commit))
9179 (source
9180 (origin
9181 (method git-fetch)
9182 (uri (git-reference
9183 (url "https://github.com/emacsmirror/cl-print.git")
9184 (commit commit)))
9185 (file-name (git-file-name name version))
9186 (sha256
9187 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
9188 (build-system emacs-build-system)
9189 (home-page "https://github.com/emacsmirror/cl-print")
9190 (synopsis "CL-style generic printing")
9191 (description "This package provides a generic function,
9192 @code{cl-print-object}, to which the programmer can add any method they
9193 please.")
9194 (license license:gpl3+))))
9195
9196 (define-public emacs-el-search
9197 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
9198 (revision "2"))
9199 (package
9200 (name "emacs-el-search")
9201 (version (git-version "1.12.6.1" revision commit))
9202 (source
9203 (origin
9204 (method git-fetch)
9205 (uri (git-reference
9206 (url "https://github.com/emacsmirror/el-search.git")
9207 (commit commit)))
9208 (file-name (git-file-name name version))
9209 (sha256
9210 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
9211 (build-system emacs-build-system)
9212 (inputs
9213 `(("emacs-stream" ,emacs-stream)
9214 ("emacs-cl-print" ,emacs-cl-print)))
9215 (home-page "https://github.com/emacsmirror/el-search")
9216 (synopsis "Expression based interactive search for emacs-lisp-mode")
9217 (description "This package provides expression based interactive search
9218 procedures for emacs-lisp-mode.")
9219 (license license:gpl3+))))
9220
9221 (define-public emacs-ht
9222 (package
9223 (name "emacs-ht")
9224 (version "2.2")
9225 (source
9226 (origin
9227 (method git-fetch)
9228 (uri (git-reference
9229 (url "https://github.com/Wilfred/ht.el.git")
9230 (commit version)))
9231 (file-name (git-file-name name version))
9232 (sha256
9233 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
9234 (build-system emacs-build-system)
9235 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
9236 (native-inputs
9237 `(("emacs-ert-runner" ,emacs-ert-runner)))
9238 (arguments
9239 `(#:tests? #t
9240 #:test-command '("ert-runner")))
9241 (home-page "https://github.com/Wilfred/ht.el")
9242 (synopsis "Hash table library for Emacs")
9243 (description
9244 "This package simplifies the use of hash tables in elisp. It also
9245 provides functions to convert hash tables from and to alists and plists.")
9246 (license license:gpl3+)))
9247
9248 (define-public emacs-log4e
9249 (package
9250 (name "emacs-log4e")
9251 (version "0.3.0")
9252 (source
9253 (origin
9254 (method git-fetch)
9255 (uri (git-reference
9256 (url "https://github.com/aki2o/log4e.git")
9257 (commit (string-append "v" version))))
9258 (file-name (git-file-name name version))
9259 (sha256
9260 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
9261 (build-system emacs-build-system)
9262 (arguments
9263 `(#:phases
9264 (modify-phases %standard-phases
9265 (add-after 'unpack 'remove-tests
9266 ;; Guile builder complains about null characters in some
9267 ;; strings of test files. Remove "test" directory (it is not
9268 ;; needed anyway).
9269 (lambda _
9270 (delete-file-recursively "test"))))))
9271 (home-page "https://github.com/aki2o/log4e")
9272 (synopsis "Logging framework for elisp")
9273 (description
9274 "This package provides a logging framework for elisp. It allows
9275 you to deal with multiple log levels.")
9276 (license license:gpl3+)))
9277
9278 (define-public emacs-gntp
9279 (package
9280 (name "emacs-gntp")
9281 (version "0.1")
9282 (source
9283 (origin
9284 (method git-fetch)
9285 (uri (git-reference
9286 (url "https://github.com/tekai/gntp.el.git")
9287 (commit (string-append "v" version))))
9288 (file-name (git-file-name name version))
9289 (sha256
9290 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
9291 (build-system emacs-build-system)
9292 (home-page "https://github.com/tekai/gntp.el")
9293 (synopsis "Growl Notification Protocol for Emacs")
9294 (description
9295 "This package implements the Growl Notification Protocol GNTP
9296 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
9297 It is incomplete as it only lets you send but not receive
9298 notifications.")
9299 (license license:bsd-3)))
9300
9301 (define-public emacs-alert
9302 (package
9303 (name "emacs-alert")
9304 (version "1.3")
9305 (source
9306 (origin
9307 (method git-fetch)
9308 (uri (git-reference
9309 (url "https://github.com/jwiegley/alert.git")
9310 (commit (string-append "v" version))))
9311 (file-name (git-file-name name version))
9312 (sha256
9313 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
9314 (build-system emacs-build-system)
9315 (propagated-inputs
9316 `(("emacs-gntp" ,emacs-gntp)
9317 ("emacs-log4e" ,emacs-log4e)))
9318 (home-page "https://github.com/jwiegley/alert")
9319 (synopsis "Growl-style notification system for Emacs")
9320 (description
9321 "Alert is a Growl-workalike for Emacs which uses a common notification
9322 interface and multiple, selectable \"styles\", whose use is fully
9323 customizable by the user.")
9324 (license license:gpl2+)))
9325
9326 (define-public emacs-zones
9327 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
9328 (revision "2"))
9329 (package
9330 (name "emacs-zones")
9331 (version (git-version "0" revision commit))
9332 (source
9333 (origin
9334 (method git-fetch)
9335 (uri (git-reference
9336 (url "https://github.com/emacsmirror/zones.git")
9337 (commit commit)))
9338 (file-name (git-file-name name version))
9339 (sha256
9340 (base32
9341 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
9342 (patches
9343 (search-patches
9344 "emacs-zones-called-interactively.patch"))))
9345 (build-system emacs-build-system)
9346 (home-page "https://www.emacswiki.org/emacs/Zones")
9347 (synopsis "Define and act on multiple zones of buffer text")
9348 (description "Library @file{zones.el} lets you easily define and
9349 subsequently act on multiple zones of buffer text. You can think of this as
9350 enlarging the notion of region. In effect, it can remove the requirement of
9351 target text being a contiguous sequence of characters. A set of buffer zones
9352 is, in effect, a (typically) noncontiguous set of text.")
9353 (license license:gpl3+))))
9354
9355 (define-public emacs-mu4e-alert
9356 (package
9357 (name "emacs-mu4e-alert")
9358 (version "1.0")
9359 (source
9360 (origin
9361 (method git-fetch)
9362 (uri (git-reference
9363 (url "https://github.com/iqbalansari/mu4e-alert.git")
9364 (commit (string-append "v" version))))
9365 (file-name (git-file-name name version))
9366 (sha256
9367 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
9368 (build-system emacs-build-system)
9369 (propagated-inputs
9370 `(("emacs-alert" ,emacs-alert)
9371 ("emacs-s" ,emacs-s)
9372 ("emacs-ht" ,emacs-ht)
9373 ("mu" ,mu)))
9374 (home-page "https://github.com/iqbalansari/mu4e-alert")
9375 (synopsis "Desktop notification for mu4e")
9376 (description
9377 "This package provides desktop notifications for mu4e.
9378 Additionally it can display the number of unread emails in the
9379 mode-line.")
9380 (license license:gpl3+)))
9381
9382 (define-public emacs-mu4e-jump-to-list
9383 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
9384 (revision "1"))
9385 (package
9386 (name "emacs-mu4e-jump-to-list")
9387 (version (git-version "1.0" revision commit))
9388 (source
9389 (origin
9390 (method git-fetch)
9391 (uri (git-reference
9392 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
9393 (commit commit)))
9394 (file-name (git-file-name name version))
9395 (sha256
9396 (base32
9397 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
9398 (build-system emacs-build-system)
9399 (propagated-inputs
9400 `(("mu" ,mu)))
9401 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
9402 (synopsis "Select and view mailing lists in mu4e")
9403 (description
9404 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
9405 automatically using existing List-ID headers in your mu database. Just press
9406 \"l\" in the headers view and any mailing list you've subscribed to will be
9407 automatically discovered and presented in recency order.")
9408 (license license:gpl3+))))
9409
9410 (define-public emacs-mu4e-patch
9411 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
9412 (revision "1"))
9413 (package
9414 (name "emacs-mu4e-patch")
9415 (version (git-version "0.1.0" revision commit))
9416 (source (origin
9417 (method git-fetch)
9418 (uri (git-reference
9419 (url "https://github.com/seanfarley/mu4e-patch")
9420 (commit commit)))
9421 (file-name (git-file-name name version))
9422 (sha256
9423 (base32
9424 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
9425 (build-system emacs-build-system)
9426 (propagated-inputs
9427 `(("mu" ,mu)))
9428 (home-page "https://github.com/seanfarley/mu4e-patch")
9429 (synopsis "Colorize patch-like emails in mu4e")
9430 (description
9431 "Extension for mu4e to colorize patch-like emails with diff-mode.
9432 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
9433 been adapted to work with mu4e.")
9434 (license license:gpl3+))))
9435
9436 (define-public emacs-pretty-mode
9437 (package
9438 (name "emacs-pretty-mode")
9439 (version "2.0.3")
9440 (source
9441 (origin
9442 (method git-fetch)
9443 (uri (git-reference
9444 (url "https://github.com/akatov/pretty-mode/")
9445 (commit version)))
9446 (file-name (git-file-name name version))
9447 (sha256
9448 (base32
9449 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
9450 (build-system emacs-build-system)
9451 (home-page "https://github.com/akatov/pretty-mode")
9452 (synopsis "Redisplay parts of the buffer as Unicode symbols")
9453 (description
9454 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
9455 (license license:gpl3+)))
9456
9457 (define-public emacs-yasnippet
9458 (package
9459 (name "emacs-yasnippet")
9460 (version "0.14.0")
9461 (source
9462 (origin
9463 (method git-fetch)
9464 (uri (git-reference
9465 (url "https://github.com/joaotavora/yasnippet.git")
9466 (commit version)))
9467 (file-name (string-append name "-" version ".tar.gz"))
9468 (sha256
9469 (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
9470 (modules '((guix build utils)))
9471 (snippet
9472 '(begin
9473 ;; YASnippet expects a "snippets" subdirectory in the same
9474 ;; directory as yasnippet.el, but we don't install it because it's
9475 ;; a git submodule pointing to an external repository. Adjust
9476 ;; `yas-snippet-dirs' to prevent warnings about a missing
9477 ;; directory.
9478 (substitute* "yasnippet.el"
9479 (("^ +'yas-installed-snippets-dir\\)\\)\n")
9480 "))\n"))
9481 #t))))
9482 (build-system emacs-build-system)
9483 (arguments
9484 `(#:tests? #t
9485 #:test-command '("emacs" "--batch"
9486 "-l" "yasnippet-tests.el"
9487 "-f" "ert-run-tests-batch-and-exit")
9488 ;; FIXME: one failing test.
9489 #:phases
9490 (modify-phases %standard-phases
9491 (add-before 'check 'make-tests-writable
9492 (lambda _
9493 (make-file-writable "yasnippet-tests.el")
9494 #t))
9495 (add-before 'check 'delete-rebinding-test
9496 (lambda _
9497 (emacs-batch-edit-file "yasnippet-tests.el"
9498 `(progn (goto-char (point-min))
9499 (re-search-forward "ert-deftest test-rebindings")
9500 (beginning-of-line)
9501 (kill-sexp)
9502 (basic-save-buffer)))
9503 #t)))))
9504 (home-page "https://github.com/joaotavora/yasnippet")
9505 (synopsis "Yet another snippet extension for Emacs")
9506 (description
9507 "YASnippet is a template system for Emacs. It allows you to type an
9508 abbreviation and automatically expand it into function templates.")
9509 (license license:gpl3+)))
9510
9511 (define-public emacs-yasnippet-snippets
9512 (package
9513 (name "emacs-yasnippet-snippets")
9514 (version "0.20")
9515 (source
9516 (origin
9517 (method git-fetch)
9518 (uri (git-reference
9519 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
9520 (commit version)))
9521 (file-name (git-file-name name version))
9522 (sha256
9523 (base32 "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"))))
9524 (build-system trivial-build-system)
9525 (arguments
9526 `(#:modules ((guix build utils))
9527 #:builder
9528 (begin
9529 (use-modules (guix build utils))
9530 (let* ((source (assoc-ref %build-inputs "source"))
9531 (out (assoc-ref %outputs "out"))
9532 (snippet-dir
9533 (string-append out "/share/emacs/yasnippet-snippets/")))
9534 (with-directory-excursion source
9535 (mkdir-p snippet-dir)
9536 (copy-recursively "snippets" snippet-dir)))
9537 #t)))
9538 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
9539 (synopsis "Collection of YASnippet snippets for many languages")
9540 (description
9541 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
9542 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
9543 To make YASnippet aware of these snippets, add the above directory to
9544 @code{yas-snippet-dirs}.")
9545 (license license:gpl3+)))
9546
9547 (define-public emacs-helm-c-yasnippet
9548 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
9549 (revision "1"))
9550 (package
9551 (name "emacs-helm-c-yasnippet")
9552 (version (string-append "0.6.7" "-" revision "."
9553 (string-take commit 7)))
9554 (source (origin
9555 (method git-fetch)
9556 (uri (git-reference
9557 (url "https://github.com/emacs-jp/helm-c-yasnippet")
9558 (commit commit)))
9559 (file-name (git-file-name name version))
9560 (sha256
9561 (base32
9562 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
9563 (build-system emacs-build-system)
9564 (propagated-inputs
9565 `(("emacs-helm" ,emacs-helm)
9566 ("emacs-yasnippet" ,emacs-yasnippet)))
9567 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
9568 (synopsis "Helm integration for Yasnippet")
9569 (description "This Emacs library provides Helm interface for
9570 Yasnippet.")
9571 (license license:gpl2+))))
9572
9573 (define-public emacs-helm-system-packages
9574 ;; There won't be a new release after 1.10.1 until
9575 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
9576 ;; and latest commits fix import issues with Guix.
9577 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
9578 (package
9579 (name "emacs-helm-system-packages")
9580 (version (git-version "1.10.1" "1" commit))
9581 (source (origin
9582 (method git-fetch)
9583 (uri (git-reference
9584 (url "https://github.com/emacs-helm/helm-system-packages")
9585 (commit commit)))
9586 (file-name (git-file-name name version))
9587 (sha256
9588 (base32
9589 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
9590 (build-system emacs-build-system)
9591 (inputs
9592 `(("recutils" ,recutils)))
9593 (propagated-inputs
9594 `(("emacs-helm" ,emacs-helm)))
9595 (arguments
9596 `(#:phases
9597 (modify-phases %standard-phases
9598 (add-after 'unpack 'configure
9599 (lambda* (#:key inputs outputs #:allow-other-keys)
9600 (let ((recutils (assoc-ref inputs "recutils")))
9601 ;; Specify the absolute file names of the various
9602 ;; programs so that everything works out-of-the-box.
9603 (substitute* "helm-system-packages-guix.el"
9604 (("recsel") (string-append recutils "/bin/recsel")))))))))
9605 (home-page "https://github.com/emacs-helm/helm-system-packages")
9606 (synopsis "Helm System Packages is an interface to your package manager")
9607 (description "List all available packages in Helm (with installed
9608 packages displayed in their own respective face). Fuzzy-search, mark and
9609 execute the desired action over any selections of packages: Install,
9610 uninstall, display packages details (in Org Mode) or insert details at point,
9611 find files owned by packages... And much more, including performing all the
9612 above over the network.")
9613 (license license:gpl3+))))
9614
9615 (define-public emacs-helm-org-rifle
9616 (package
9617 (name "emacs-helm-org-rifle")
9618 (version "1.7.0")
9619 (source
9620 (origin
9621 (method git-fetch)
9622 (uri (git-reference
9623 (url "https://github.com/alphapapa/helm-org-rifle")
9624 (commit version)))
9625 (file-name (git-file-name name version))
9626 (sha256
9627 (base32
9628 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
9629 (build-system emacs-build-system)
9630 (propagated-inputs
9631 `(("emacs-dash" ,emacs-dash)
9632 ("emacs-f" ,emacs-f)
9633 ("emacs-helm" ,emacs-helm)
9634 ("emacs-org" ,emacs-org)
9635 ("emacs-s" ,emacs-s)))
9636 (home-page "https://github.com/alphapapa/helm-org-rifle")
9637 (synopsis "Rifle through Org files")
9638 (description "This package searches both headings and contents of entries
9639 in Org buffers and displays matching entries.")
9640 (license license:gpl3+)))
9641
9642 (define-public emacs-dired-git-info
9643 ;; Upstream has no proper release. The base version is extracted from the
9644 ;; "Version" keyword in the main file.
9645 (let ((commit "91d57e3a4c5104c66a3abc18e281ee55e8979176")
9646 (revision "0"))
9647 (package
9648 (name "emacs-dired-git-info")
9649 (version (git-version "0.3.1" revision commit))
9650 (source
9651 (origin
9652 (method git-fetch)
9653 (uri
9654 (git-reference
9655 (url "https://github.com/clemera/dired-git-info")
9656 (commit commit)))
9657 (file-name (git-file-name name version))
9658 (sha256
9659 (base32 "1dr4iv95s4barxxj56znqkl9z0lg5jw731jmjr01s6vn8ar69gik"))))
9660 (build-system emacs-build-system)
9661 (home-page "https://github.com/clemera/dired-git-info/")
9662 (synopsis "Show git info in Emacs Dired")
9663 (description "This Emacs package provides a minor mode which shows git
9664 information inside the Dired buffer.")
9665 (license license:gpl3+))))
9666
9667 (define-public emacs-dired-toggle-sudo
9668 (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
9669 (revision "0"))
9670 (package
9671 (name "emacs-dired-toggle-sudo")
9672 (version (git-version "1.0" revision commit))
9673 (source
9674 (origin
9675 (method git-fetch)
9676 (uri (git-reference
9677 (url "https://github.com/renard/dired-toggle-sudo")
9678 (commit commit)))
9679 (file-name (git-file-name name version))
9680 (sha256
9681 (base32
9682 "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car"))))
9683 (build-system emacs-build-system)
9684 (home-page "https://github.com/renard/dired-toggle-sudo")
9685 (synopsis "Browse directory with @code{sudo} privileges")
9686 (description "This package allows for the use of @code{dired} with
9687 @code{sudo} privileges.")
9688 (license license:wtfpl2))))
9689
9690 (define-public emacs-diredfl
9691 (package
9692 (name "emacs-diredfl")
9693 (version "0.4")
9694 (source
9695 (origin
9696 (method git-fetch)
9697 (uri
9698 (git-reference
9699 (url "https://github.com/purcell/diredfl")
9700 (commit version)))
9701 (file-name (git-file-name name version))
9702 (sha256
9703 (base32 "1zb2lz7rp58zqvpniqcsmqabi7nqg2d8bfd0hgmq68bn2hd25b5z"))))
9704 (build-system emacs-build-system)
9705 (home-page "https://github.com/purcell/diredfl/")
9706 (synopsis "Extra Emacs font lock rules for a more colourful Dired")
9707 (description "This library enables additional font locking in Dired mode.
9708 This is adapted from the extra font lock rules provided by Drew Adams' Dired+
9709 package.")
9710 (license license:gpl3+)))
9711
9712 (define-public emacs-memoize
9713 (package
9714 (name "emacs-memoize")
9715 (version "1.1")
9716 (source
9717 (origin
9718 (method git-fetch)
9719 (uri (git-reference
9720 (url "https://github.com/skeeto/emacs-memoize.git")
9721 (commit version)))
9722 (file-name (git-file-name name version))
9723 (sha256
9724 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
9725 (build-system emacs-build-system)
9726 (arguments
9727 `(#:tests? #t
9728 #:test-command '("emacs" "--batch"
9729 "-l" "memoize-test.el"
9730 "-f" "ert-run-tests-batch-and-exit")))
9731 (home-page "https://github.com/skeeto/emacs-memoize")
9732 (synopsis "Emacs lisp memoization library")
9733 (description "@code{emacs-memoize} is an Emacs library for
9734 memoizing functions.")
9735 (license license:unlicense)))
9736
9737 (define-public emacs-linum-relative
9738 (package
9739 (name "emacs-linum-relative")
9740 (version "0.6")
9741 (source
9742 (origin
9743 (method git-fetch)
9744 (uri (git-reference
9745 (url "https://github.com/coldnew/linum-relative.git")
9746 (commit version)))
9747 (file-name (git-file-name name version))
9748 (sha256
9749 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
9750 (build-system emacs-build-system)
9751 (home-page "https://github.com/coldnew/linum-relative")
9752 (synopsis "Relative line numbering for Emacs")
9753 (description "@code{emacs-linum-relative} displays the relative line
9754 number on the left margin in Emacs.")
9755 (license license:gpl2+)))
9756
9757 (define-public emacs-idle-highlight
9758 (package
9759 (name "emacs-idle-highlight")
9760 (version "1.1.3")
9761 (source
9762 (origin
9763 (method git-fetch)
9764 (uri (git-reference
9765 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
9766 (commit version)))
9767 (file-name (git-file-name name version))
9768 (sha256
9769 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
9770 (build-system emacs-build-system)
9771 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
9772 (synopsis "Highlights all occurrences of the word the point is on")
9773 (description
9774 "This Emacs package provides @code{idle-highlight-mode} that sets
9775 an idle timer to highlight all occurrences in the buffer of the word under
9776 the point.")
9777 (license license:gpl3+)))
9778
9779 (define-public emacs-ox-twbs
9780 (package
9781 (name "emacs-ox-twbs")
9782 (version "1.1.1")
9783 (source
9784 (origin
9785 (method git-fetch)
9786 (uri (git-reference
9787 (url "https://github.com/marsmining/ox-twbs.git")
9788 (commit (string-append "v" version))))
9789 (file-name (git-file-name name version))
9790 (sha256
9791 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
9792 (build-system emacs-build-system)
9793 (home-page "https://github.com/marsmining/ox-twbs")
9794 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
9795 (description
9796 "This Emacs package outputs your org-mode docs with a simple, clean and
9797 modern look. It implements a new HTML back-end for exporting org-mode docs as
9798 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
9799 jQuery and Bootstrap resources included via osscdn.")
9800 (license license:gpl3+)))
9801
9802 (define-public emacs-highlight-sexp
9803 (package
9804 (name "emacs-highlight-sexp")
9805 (version "1.0")
9806 (source
9807 (origin
9808 (method git-fetch)
9809 (uri (git-reference
9810 (url "https://github.com/daimrod/highlight-sexp.git")
9811 (commit (string-append "v" version))))
9812 (file-name (git-file-name name version))
9813 (sha256
9814 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
9815 (build-system emacs-build-system)
9816 (home-page "https://github.com/daimrod/highlight-sexp")
9817 (synopsis "Minor mode that highlights the s-exp at the current position")
9818 (description
9819 "This Emacs package highlights the s-exp at the current position.")
9820 (license license:gpl3+)))
9821
9822 (define-public emacs-highlight-stages
9823 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
9824 (revision "1"))
9825 (package
9826 (name "emacs-highlight-stages")
9827 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
9828 (source
9829 (origin
9830 (method git-fetch)
9831 (uri (git-reference
9832 (url "https://github.com/zk-phi/highlight-stages.git")
9833 (commit commit)))
9834 (file-name (git-file-name name version))
9835 (sha256
9836 (base32
9837 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
9838 (patches
9839 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
9840 (build-system emacs-build-system)
9841 (home-page "https://github.com/wigust/highlight-stages")
9842 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
9843 (description "@code{highlight-stages} provides an Emacs minor mode that
9844 highlights quasi-quoted expressions.")
9845 (license license:gpl3+))))
9846
9847 (define-public emacspeak
9848 (package
9849 (name "emacspeak")
9850 (version "52.0")
9851 (source
9852 (origin
9853 (method url-fetch)
9854 (uri (string-append
9855 "https://github.com/tvraman/emacspeak/releases/download/"
9856 version "/emacspeak-" version ".tar.bz2"))
9857 (sha256
9858 (base32 "0x5b0s38r5ih2lk7f5hasi9arrgxlmmq5jaddadbxi8in2gw2jzl"))))
9859 (build-system gnu-build-system)
9860 (arguments
9861 '(#:make-flags (list (string-append "prefix="
9862 (assoc-ref %outputs "out")))
9863 #:phases
9864 (modify-phases %standard-phases
9865 (add-after 'unpack 'delete-broken-symlink
9866 (lambda _
9867 (delete-file "lisp/sudoku.el")
9868 #t))
9869 (replace 'configure
9870 (lambda _
9871 (setenv "SHELL" (which "sh"))
9872 ;; Configure Emacspeak according to etc/install.org.
9873 (invoke "make" "config")))
9874 (add-after 'build 'build-espeak
9875 (lambda _
9876 (invoke "make" "espeak")))
9877 (replace 'install
9878 (lambda* (#:key inputs outputs #:allow-other-keys)
9879 (let* ((out (assoc-ref outputs "out"))
9880 (bin (string-append out "/bin"))
9881 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
9882 (info (string-append out "/share/info"))
9883 (emacs (string-append (assoc-ref inputs "emacs")
9884 "/bin/emacs")))
9885 ;; According to etc/install.org, the Emacspeak directory should
9886 ;; be copied to its installation destination.
9887 (for-each
9888 (lambda (file)
9889 (copy-recursively file (string-append lisp "/" file)))
9890 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
9891 "stumpwm" "xsl"))
9892 ;; Make sure emacspeak is loaded from the correct directory.
9893 (substitute* "run"
9894 (("\\./lisp/emacspeak-setup.el")
9895 (string-append lisp "/lisp/emacspeak-setup.el")))
9896 ;; Install the convenient startup script.
9897 (mkdir-p bin)
9898 (copy-file "run" (string-append bin "/emacspeak")))
9899 #t))
9900 (add-after 'install 'wrap-program
9901 (lambda* (#:key inputs outputs #:allow-other-keys)
9902 (let* ((out (assoc-ref outputs "out"))
9903 (emacspeak (string-append out "/bin/emacspeak"))
9904 (espeak (string-append (assoc-ref inputs "espeak")
9905 "/bin/espeak")))
9906 ;; The environment variable DTK_PROGRAM tells emacspeak what
9907 ;; program to use for speech.
9908 (wrap-program emacspeak
9909 `("DTK_PROGRAM" ":" prefix (,espeak)))
9910 #t))))
9911 #:tests? #f)) ; no check target
9912 (inputs
9913 `(("emacs" ,emacs)
9914 ("espeak" ,espeak-ng)
9915 ("perl" ,perl)
9916 ("tcl" ,tcl)
9917 ("tclx" ,tclx)))
9918 (home-page "http://emacspeak.sourceforge.net")
9919 (synopsis "Audio desktop interface for Emacs")
9920 (description
9921 "Emacspeak is a speech interface that allows visually impaired users to
9922 interact independently and efficiently with the computer. Audio
9923 formatting---a technique pioneered by AsTeR---and full support for W3C's Aural
9924 CSS (ACSS) allows Emacspeak to produce rich aural presentations of electronic
9925 information. By seamlessly blending all aspects of the Internet such as
9926 Web-surfing and messaging, Emacspeak speech-enables local and remote
9927 information via a consistent and well-integrated user interface.")
9928 (license license:gpl2+)))
9929
9930 (define-public emacs-adaptive-wrap
9931 (package
9932 (name "emacs-adaptive-wrap")
9933 (version "0.7")
9934 (source
9935 (origin
9936 (method url-fetch)
9937 (uri (string-append "https://elpa.gnu.org/packages/"
9938 "adaptive-wrap-" version ".el"))
9939 (sha256
9940 (base32 "10fb8gzvkbnrgzv28n1rczs03dvapr7rvi0kd73j6yf1zg2iz6qp"))))
9941 (build-system emacs-build-system)
9942 (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html")
9943 (synopsis "Smart line-wrapping with wrap-prefix")
9944 (description
9945 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
9946 minor mode which sets the wrap-prefix property on the fly so that
9947 single-long-line paragraphs get word-wrapped in a way similar to what
9948 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
9949 actually changing the buffer's text.")
9950 (license license:gpl3+)))
9951
9952 (define-public emacs-diff-hl
9953 (package
9954 (name "emacs-diff-hl")
9955 (version "1.8.7")
9956 (source
9957 (origin
9958 (method git-fetch)
9959 (uri (git-reference
9960 (url "https://github.com/dgutov/diff-hl")
9961 (commit version)))
9962 (file-name (git-file-name name version))
9963 (sha256
9964 (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"))))
9965 (build-system emacs-build-system)
9966 (home-page "https://github.com/dgutov/diff-hl")
9967 (synopsis
9968 "Highlight uncommitted changes using VC")
9969 (description
9970 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
9971 window (using the fringe, by default), allows you to jump between
9972 the hunks and revert them selectively.")
9973 (license license:gpl3+)))
9974
9975 (define-public emacs-diminish
9976 (package
9977 (name "emacs-diminish")
9978 (version "0.45")
9979 (source
9980 (origin
9981 (method git-fetch)
9982 (uri (git-reference
9983 (url "https://github.com/myrjola/diminish.el.git")
9984 (commit (string-append "v" version))))
9985 (file-name (git-file-name name version))
9986 (sha256
9987 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
9988 (build-system emacs-build-system)
9989 (home-page "https://github.com/myrjola/diminish.el")
9990 (synopsis "Diminish minor modes with no modeline display")
9991 (description "@code{emacs-diminish} implements hiding or
9992 abbreviation of the mode line displays (lighters) of minor modes.")
9993 (license license:gpl2+)))
9994
9995 (define-public emacs-use-package
9996 (package
9997 (name "emacs-use-package")
9998 (version "2.4")
9999 (source (origin
10000 (method git-fetch)
10001 (uri (git-reference
10002 (url "https://github.com/jwiegley/use-package")
10003 (commit version)))
10004 (file-name (git-file-name name version))
10005 (sha256
10006 (base32
10007 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
10008 (build-system emacs-build-system)
10009 (propagated-inputs
10010 `(("emacs-diminish" ,emacs-diminish)))
10011 (arguments
10012 `(#:tests? #t
10013 #:test-command '("emacs" "--batch"
10014 "-l" "use-package-tests.el"
10015 "-f" "ert-run-tests-batch-and-exit")))
10016 (home-page "https://github.com/jwiegley/use-package")
10017 (synopsis "Declaration for simplifying your .emacs")
10018 (description "The use-package macro allows you to isolate package
10019 configuration in your @file{.emacs} file in a way that is both
10020 performance-oriented and tidy.")
10021 (license license:gpl2+)))
10022
10023 (define-public emacs-leaf
10024 (package
10025 (name "emacs-leaf")
10026 (version "3.5.0")
10027 (source
10028 (origin
10029 (method git-fetch)
10030 (uri (git-reference
10031 (url "https://github.com/conao3/leaf.el.git")
10032 (commit (string-append "v" version))))
10033 (file-name (git-file-name name version))
10034 (sha256
10035 (base32
10036 "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d"))))
10037 (build-system emacs-build-system)
10038 (home-page "https://github.com/conao3/leaf.el")
10039 (arguments
10040 `(#:tests? #t
10041 #:test-command '("emacs" "--batch"
10042 "-l" "leaf-tests.el"
10043 "-f" "cort-test-run")))
10044 (synopsis
10045 "Simplify your init.el configuration, extended use-package")
10046 (description
10047 "This package provides macros that allows you to declaratively configure
10048 settings typical of an Elisp package with various keywords. The syntax is
10049 similar, but not identical to use-package -- overall, leaf aims at a cleaner
10050 and more predictable implementation.")
10051 (license license:agpl3+)))
10052
10053 (define-public emacs-strace-mode
10054 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
10055 (revision "1"))
10056 (package
10057 (name "emacs-strace-mode")
10058 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
10059 (source (origin
10060 (method git-fetch)
10061 (uri (git-reference
10062 (url "https://github.com/pkmoore/strace-mode")
10063 (commit commit)))
10064 (file-name (git-file-name name version))
10065 (sha256
10066 (base32
10067 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
10068 (build-system emacs-build-system)
10069 (home-page "https://github.com/pkmoore/strace-mode")
10070 (synopsis "Emacs major mode to highlight strace outputs")
10071 (description "@code{emacs-strace-mode} provides an Emacs major mode
10072 highlighting strace outputs.")
10073 (license license:gpl3+))))
10074
10075 (define-public emacs-default-encrypt
10076 (package
10077 (name "emacs-default-encrypt")
10078 (version "4.4")
10079 (source
10080 (origin
10081 (method url-fetch)
10082 (uri (string-append
10083 "https://informationelle-selbstbestimmung-im-internet.de"
10084 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
10085 (file-name (string-append "jl-encrypt-" version ".el"))
10086 (sha256
10087 (base32
10088 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
10089 (build-system emacs-build-system)
10090 (home-page
10091 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
10092 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
10093 (description
10094 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
10095 automatically encrypts messages that you send (e.g., email) when public keys
10096 for all recipients are available, and it protects you from accidentally
10097 sending un-encrypted messages. It can also be configured to automatically
10098 sign messages that you send. For details and instructions on how to use
10099 DefaultEncrypt, please refer to the home page or read the comments in the
10100 source file, @file{jl-encrypt.el}.")
10101 (license license:gpl3+)))
10102
10103 (define-public emacs-extend-smime
10104 (package
10105 (name "emacs-extend-smime")
10106 (version "3.3")
10107 (source
10108 (origin
10109 (method url-fetch)
10110 (uri (string-append
10111 "https://informationelle-selbstbestimmung-im-internet.de"
10112 "/emacs/jl-smime" version "/jl-smime.el"))
10113 (file-name (string-append "jl-smime-" version ".el"))
10114 (sha256
10115 (base32
10116 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
10117 (build-system emacs-build-system)
10118 (home-page
10119 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
10120 (synopsis "Improved S/MIME support for Gnus in Emacs")
10121 (propagated-inputs
10122 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
10123 (description
10124 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
10125 ;; should not be translated. The name "emacs-default-encrypt" refers to
10126 ;; the Guix package that provides DefaultEncrypt.
10127 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
10128 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
10129 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
10130 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
10131 certificates via LDAP and imports them into @code{gpgsm}. When certificates
10132 for all recipients are available, DefaultEncrypt automatically encrypts the
10133 message. For details and instructions on how to use ExtendSMIME, please refer
10134 to the home page or read the comments in the source file,
10135 @file{jl-smime.el}.")
10136 (license license:gpl3+)))
10137
10138 (define-public emacs-htmlize
10139 (package
10140 (name "emacs-htmlize")
10141 (version "1.55")
10142 (source
10143 (origin
10144 (method git-fetch)
10145 (uri (git-reference
10146 (url "https://github.com/hniksic/emacs-htmlize.git")
10147 (commit (string-append "release/" version))))
10148 (file-name (git-file-name name version))
10149 (sha256
10150 (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"))))
10151 (build-system emacs-build-system)
10152 (home-page "https://github.com/hniksic/emacs-htmlize")
10153 (synopsis "Convert buffer text and decorations to HTML")
10154 (description "@code{emacs-htmlize} converts the buffer text and
10155 the associated decorations to HTML. Output to CSS, inline CSS and
10156 fonts is supported.")
10157 (license license:gpl2+)))
10158
10159 (define-public emacs-xmlgen
10160 (package
10161 (name "emacs-xmlgen")
10162 (version "0.5")
10163 (source
10164 (origin
10165 (method git-fetch)
10166 (uri (git-reference
10167 (url "https://github.com/philjackson/xmlgen.git")
10168 (commit version)))
10169 (file-name (git-file-name name version))
10170 (sha256
10171 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
10172 (build-system emacs-build-system)
10173 (arguments
10174 `(#:tests? #t
10175 #:test-command '("emacs" "--batch"
10176 "-l" "xmlgen-test.el"
10177 "-f" "ert-run-tests-batch-and-exit")))
10178 (home-page "https://github.com/philjackson/xmlgen")
10179 (synopsis "S-expression to XML domain specific language (DSL) in
10180 Emacs Lisp")
10181 (description "@code{emacs-xmlgen} provides S-expression to XML
10182 conversion for Emacs Lisp.")
10183 (license license:gpl2+)))
10184
10185 (define-public emacs-cdlatex
10186 (package
10187 (name "emacs-cdlatex")
10188 (version "4.7")
10189 (source
10190 (origin
10191 (method git-fetch)
10192 (uri (git-reference
10193 (url "https://github.com/cdominik/cdlatex.git")
10194 (commit version)))
10195 (file-name (git-file-name name version))
10196 (sha256
10197 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
10198 (build-system emacs-build-system)
10199 (propagated-inputs
10200 `(("emacs-auctex" ,emacs-auctex)))
10201 (home-page "https://github.com/cdominik/cdlatex")
10202 (synopsis "Fast Emacs input methods for LaTeX environments and
10203 math")
10204 (description "CDLaTeX is an Emacs minor mode supporting fast
10205 insertion of environment templates and math in LaTeX. Similar
10206 commands are also offered as part of the AUCTeX package, but it is not
10207 the same - CDLaTeX focuses on speediness for inserting LaTeX
10208 constructs.")
10209 (license license:gpl3+)))
10210
10211 (define-public emacs-cnfonts
10212 (package
10213 (name "emacs-cnfonts")
10214 (version "0.9.1")
10215 (source
10216 (origin
10217 (method git-fetch)
10218 (uri (git-reference
10219 (url "https://github.com/tumashu/cnfonts.git")
10220 (commit (string-append "v" version))))
10221 (file-name (git-file-name name version))
10222 (sha256
10223 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
10224 (build-system emacs-build-system)
10225 (home-page "https://github.com/tumashu/cnfonts")
10226 (synopsis "Emacs Chinese fonts setup tool")
10227 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
10228 configuration of Chinese fonts.")
10229 (license license:gpl2+)))
10230
10231 (define-public emacs-php-mode
10232 (package
10233 (name "emacs-php-mode")
10234 (version "1.23.0")
10235 (source
10236 (origin
10237 (method git-fetch)
10238 (uri (git-reference
10239 (url "https://github.com/ejmr/php-mode.git")
10240 (commit (string-append "v" version))))
10241 (file-name (git-file-name name version))
10242 (sha256
10243 (base32 "0wnkcxg6djy4jvxhshiy1iw6b5cf79pjwjhfd1a060cavhfm4v5c"))))
10244 (build-system emacs-build-system)
10245 (home-page "https://github.com/ejmr/php-mode")
10246 (synopsis "Major mode for editing PHP code")
10247 (description
10248 "PHP mode is a major mode for editing PHP source code. It's an extension
10249 of C mode; thus it inherits all C mode's navigation functionality. But it
10250 colors according to the PHP grammar and indents according to the PEAR coding
10251 guidelines. It also includes a couple handy IDE-type features such as
10252 documentation search and a source and class browser.")
10253 (license license:gpl3+)))
10254
10255 (define-public emacs-pos-tip
10256 (package
10257 (name "emacs-pos-tip")
10258 (version "0.4.6")
10259 (source
10260 (origin
10261 (method git-fetch)
10262 (uri (git-reference
10263 (url "https://github.com/pitkali/pos-tip.git")
10264 (commit version)))
10265 (file-name (git-file-name name version))
10266 (sha256
10267 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
10268 (build-system emacs-build-system)
10269 ;; The following functions and variables needed by emacs-pos-tip are
10270 ;; not included in emacs-minimal:
10271 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
10272 (arguments `(#:emacs ,emacs))
10273 (home-page "https://github.com/pitkali/pos-tip")
10274 (synopsis "Show tooltip at point")
10275 (description "The standard library tooltip.el provides a function for
10276 displaying a tooltip at the mouse position. However, locating a tooltip at an
10277 arbitrary buffer position in a window is not easy. Pos-tip provides such a
10278 function to be used by other frontend programs.")
10279 (license license:gpl2+)))
10280
10281 (define-public emacs-pyim-basedict
10282 (package
10283 (name "emacs-pyim-basedict")
10284 (version "0.3.1")
10285 (source
10286 (origin
10287 (method git-fetch)
10288 (uri (git-reference
10289 (url "https://github.com/tumashu/pyim-basedict.git")
10290 (commit (string-append "v" version))))
10291 (file-name (git-file-name name version))
10292 (sha256
10293 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
10294 (build-system emacs-build-system)
10295 (home-page "https://github.com/tumashu/pyim-basedict")
10296 (synopsis "Input method dictionary of pyim")
10297 (description "Pyim-basedict is the default pinyin input method dictionary,
10298 containing words from the rime project.")
10299 (license license:gpl2+)))
10300
10301 (define-public emacs-pyim
10302 (package
10303 (name "emacs-pyim")
10304 (version "1.8")
10305 (source
10306 (origin
10307 (method git-fetch)
10308 (uri (git-reference
10309 (url "https://github.com/tumashu/pyim")
10310 (commit (string-append "v" version))))
10311 (file-name (git-file-name name version))
10312 (sha256
10313 (base32
10314 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
10315 (build-system emacs-build-system)
10316 (propagated-inputs
10317 `(("emacs-async" ,emacs-async)
10318 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
10319 ("emacs-popup" ,emacs-popup)
10320 ("emacs-posframe" ,emacs-posframe)))
10321 (home-page "https://github.com/tumashu/pyim")
10322 (synopsis "Chinese input method")
10323 (description "Chinese input method which supports quanpin, shuangpin, wubi
10324 and cangjie.")
10325 (license license:gpl2+)))
10326
10327 (define-public emacs-posframe
10328 (package
10329 (name "emacs-posframe")
10330 (version "0.5.0")
10331 (source
10332 (origin
10333 (method git-fetch)
10334 (uri (git-reference
10335 (url "https://github.com/tumashu/posframe")
10336 (commit (string-append "v" version))))
10337 (file-name (git-file-name name version))
10338 (sha256
10339 (base32
10340 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
10341 (build-system emacs-build-system)
10342 ;; emacs-minimal does not include the function font-info
10343 (arguments `(#:emacs ,emacs))
10344 (home-page "https://github.com/tumashu/posframe")
10345 (synopsis "Pop a posframe (a child frame) at point")
10346 (description "@code{emacs-posframe} can pop a posframe at point. A
10347 posframe is a child frame displayed within its root window's buffer.
10348 @code{emacs-posframe} is fast and works well with CJK languages.")
10349 (license license:gpl3+)))
10350
10351 (define-public emacs-el2org
10352 (package
10353 (name "emacs-el2org")
10354 (version "0.6.0")
10355 (source
10356 (origin
10357 (method git-fetch)
10358 (uri (git-reference
10359 (url "https://github.com/tumashu/el2org.git")
10360 (commit (string-append "v" version))))
10361 (file-name (git-file-name name version))
10362 (sha256
10363 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
10364 (build-system emacs-build-system)
10365 (home-page "https://github.com/tumashu/el2org")
10366 (synopsis "Convert Emacs-lisp file to org file")
10367 (description "El2org is a simple tool, which can convert Emacs-lisp file
10368 to org file, you can use this tool to write orgify commentary.")
10369 (license license:gpl2+)))
10370
10371 (define-public emacs-mustache
10372 (package
10373 (name "emacs-mustache")
10374 (version "0.23")
10375 (source
10376 (origin
10377 (method git-fetch)
10378 (uri (git-reference
10379 (url "https://github.com/Wilfred/mustache.el.git")
10380 (commit version)))
10381 (file-name (git-file-name name version))
10382 (sha256
10383 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
10384 (build-system emacs-build-system)
10385 (propagated-inputs
10386 `(("emacs-dash" ,emacs-dash)
10387 ("emacs-ht" ,emacs-ht)
10388 ("emacs-s" ,emacs-s)))
10389 (home-page "https://github.com/Wilfred/mustache.el")
10390 (synopsis "Mustache templating library for Emacs")
10391 (description "Mustache templating library for Emacs, mustache is
10392 a simple web template system, which is described as a logic-less system
10393 because it lacks any explicit control flow statements, both looping and
10394 conditional evaluation can be achieved using section tags processing lists
10395 and lambdas.")
10396 (license license:gpl3+)))
10397
10398 (define-public emacs-org2web
10399 (package
10400 (name "emacs-org2web")
10401 (version "0.9.1")
10402 (source
10403 (origin
10404 (method git-fetch)
10405 (uri (git-reference
10406 (url "https://github.com/tumashu/org2web.git")
10407 (commit (string-append "v" version))))
10408 (file-name (git-file-name name version))
10409 (sha256
10410 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
10411 (build-system emacs-build-system)
10412 (propagated-inputs
10413 `(("emacs-dash" ,emacs-dash)
10414 ("emacs-el2org" ,emacs-el2org)
10415 ("emacs-ht" ,emacs-ht)
10416 ("emacs-mustache" ,emacs-mustache)
10417 ("emacs-simple-httpd" ,emacs-simple-httpd)))
10418 (home-page "https://github.com/tumashu/org2web")
10419 (synopsis "Static site generator based on org-mode ")
10420 (description "Org2web is a static site generator based on org-mode,
10421 which code derived from Kelvin H's org-page.")
10422 (license license:gpl2+)))
10423
10424 (define-public emacs-xelb
10425 (package
10426 (name "emacs-xelb")
10427 (version "0.18")
10428 (source (origin
10429 (method url-fetch)
10430 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
10431 version ".tar"))
10432 (sha256
10433 (base32
10434 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
10435 (build-system emacs-build-system)
10436 ;; The following functions and variables needed by emacs-xelb are
10437 ;; not included in emacs-minimal:
10438 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
10439 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
10440 ;; x-display-pixel-width, x-display-pixel-height
10441 (arguments
10442 `(#:emacs ,emacs
10443 #:phases
10444 (modify-phases %standard-phases
10445 (add-after 'unpack 'regenerate-el-files
10446 (lambda* (#:key inputs #:allow-other-keys)
10447 (invoke "make"
10448 (string-append "PROTO_PATH="
10449 (assoc-ref inputs "xcb-proto")
10450 "/share/xcb")
10451 (string-append "EMACS_BIN="
10452 (assoc-ref inputs "emacs")
10453 "/bin/emacs -Q")))))))
10454 (native-inputs `(("xcb-proto" ,xcb-proto)))
10455 (home-page "https://github.com/ch11ng/xelb")
10456 (synopsis "X protocol Emacs Lisp binding")
10457 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
10458 X11 protocol based on the XML description files from the XCB project. It
10459 features an object-oriented API and permits a certain degree of concurrency.
10460 It should enable you to implement low-level X11 applications.")
10461 (license license:gpl3+)))
10462
10463 (define-public emacs-exwm
10464 (package
10465 (name "emacs-exwm")
10466 (version "0.23")
10467 (synopsis "Emacs X window manager")
10468 (source (origin
10469 (method url-fetch)
10470 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
10471 version ".tar"))
10472 (sha256
10473 (base32
10474 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
10475 (build-system emacs-build-system)
10476 (propagated-inputs
10477 `(("emacs-xelb" ,emacs-xelb)))
10478 (inputs
10479 `(("xhost" ,xhost)
10480 ("dbus" ,dbus)))
10481 ;; The following functions and variables needed by emacs-exwm are
10482 ;; not included in emacs-minimal:
10483 ;; scroll-bar-mode, fringe-mode
10484 ;; x-display-pixel-width, x-display-pixel-height
10485 (arguments
10486 `(#:emacs ,emacs
10487 #:phases
10488 (modify-phases %standard-phases
10489 (add-after 'build 'install-xsession
10490 (lambda* (#:key inputs outputs #:allow-other-keys)
10491 (let* ((out (assoc-ref outputs "out"))
10492 (xsessions (string-append out "/share/xsessions"))
10493 (bin (string-append out "/bin"))
10494 (exwm-executable (string-append bin "/exwm")))
10495 ;; Add a .desktop file to xsessions
10496 (mkdir-p xsessions)
10497 (mkdir-p bin)
10498 (make-desktop-entry-file
10499 (string-append xsessions "/exwm.desktop")
10500 #:name ,name
10501 #:comment ,synopsis
10502 #:exec exwm-executable
10503 #:try-exec exwm-executable)
10504 ;; Add a shell wrapper to bin
10505 (with-output-to-file exwm-executable
10506 (lambda _
10507 (format #t "#!~a ~@
10508 ~a +SI:localuser:$USER ~@
10509 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
10510 (string-append (assoc-ref inputs "bash") "/bin/sh")
10511 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
10512 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
10513 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
10514 '(cond
10515 ((file-exists-p "~/.exwm")
10516 (load-file "~/.exwm"))
10517 ((not (featurep 'exwm))
10518 (require 'exwm)
10519 (require 'exwm-config)
10520 (exwm-config-default)
10521 (message (concat "exwm configuration not found. "
10522 "Falling back to default configuration...")))))))
10523 (chmod exwm-executable #o555)
10524 #t))))))
10525 (home-page "https://github.com/ch11ng/exwm")
10526 (description "EXWM is a full-featured tiling X window manager for Emacs
10527 built on top of XELB.")
10528 (license license:gpl3+)))
10529
10530 (define-public emacs-switch-window
10531 (package
10532 (name "emacs-switch-window")
10533 (version "1.6.2")
10534 (source
10535 (origin
10536 (method git-fetch)
10537 (uri (git-reference
10538 (url "https://github.com/dimitri/switch-window")
10539 (commit (string-append "v" version))))
10540 (file-name (git-file-name name version))
10541 (sha256
10542 (base32
10543 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
10544 (build-system emacs-build-system)
10545 (home-page "https://github.com/dimitri/switch-window")
10546 (synopsis "Emacs window switch tool")
10547 (description "Switch-window is an emacs window switch tool, which
10548 offer a visual way to choose a window to switch to, delete, split or
10549 other operations.")
10550 (license license:wtfpl2)))
10551
10552 (define-public emacs-exwm-x
10553 (package
10554 (name "emacs-exwm-x")
10555 (version "1.9.0")
10556 (synopsis "Derivative window manager based on EXWM")
10557 (source
10558 (origin
10559 (method git-fetch)
10560 (uri (git-reference
10561 (url "https://github.com/tumashu/exwm-x")
10562 (commit (string-append "v" version))))
10563 (file-name (git-file-name name version))
10564 (sha256
10565 (base32
10566 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
10567 (build-system emacs-build-system)
10568 (propagated-inputs
10569 `(("emacs-exwm" ,emacs-exwm)
10570 ("emacs-switch-window" ,emacs-switch-window)
10571 ("emacs-ivy" ,emacs-ivy)
10572 ("emacs-use-package" ,emacs-use-package)))
10573 (inputs
10574 `(("xhost" ,xhost)
10575 ("dbus" ,dbus)))
10576 ;; Need emacs instead of emacs-minimal,
10577 ;; for emacs's bin path will be inserted into bin/exwm-x file.
10578 (arguments
10579 `(#:emacs ,emacs
10580 #:phases
10581 (modify-phases %standard-phases
10582 (add-after 'build 'install-xsession
10583 (lambda* (#:key inputs outputs #:allow-other-keys)
10584 (let* ((out (assoc-ref outputs "out"))
10585 (xsessions (string-append out "/share/xsessions"))
10586 (bin (string-append out "/bin"))
10587 (exwm-executable (string-append bin "/exwm-x")))
10588 ;; Add a .desktop file to xsessions
10589 (mkdir-p xsessions)
10590 (mkdir-p bin)
10591 (with-output-to-file
10592 (string-append xsessions "/exwm-x.desktop")
10593 (lambda _
10594 (format #t "[Desktop Entry]~@
10595 Name=~a~@
10596 Comment=~a~@
10597 Exec=~a~@
10598 TryExec=~@*~a~@
10599 Type=Application~%" ,name ,synopsis exwm-executable)))
10600 ;; Add a shell wrapper to bin
10601 (with-output-to-file exwm-executable
10602 (lambda _
10603 (format #t "#!~a ~@
10604 ~a +SI:localuser:$USER ~@
10605 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
10606 (string-append (assoc-ref inputs "bash") "/bin/sh")
10607 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
10608 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
10609 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
10610 '(require 'exwmx-loader))))
10611 (chmod exwm-executable #o555)
10612 #t))))))
10613 (home-page "https://github.com/tumashu/exwm-x")
10614 (description "EXWM-X is a derivative window manager based on EXWM, with focus
10615 on mouse-control.")
10616 (license license:gpl3+)))
10617
10618 (define-public emacs-gnugo
10619 (package
10620 (name "emacs-gnugo")
10621 (version "3.1.0")
10622 (source
10623 (origin
10624 (method url-fetch)
10625 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
10626 version ".tar"))
10627 (sha256
10628 (base32
10629 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
10630 (build-system emacs-build-system)
10631 (arguments
10632 `(#:phases (modify-phases %standard-phases
10633 (add-after 'unpack 'configure-default-gnugo-xpms-variable
10634 (lambda _
10635 (substitute* "gnugo.el"
10636 (("defvar gnugo-xpms nil")
10637 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
10638 #t)))))
10639 (propagated-inputs
10640 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
10641 ("emacs-xpm" ,emacs-xpm)))
10642 (home-page "https://elpa.gnu.org/packages/gnugo.html")
10643 (synopsis "Emacs major mode for playing GNU Go")
10644 (description "This package provides an Emacs based interface for GNU Go.
10645 It has a graphical mode where the board and stones are drawn using XPM images
10646 and supports the use of a mouse.")
10647 (license license:gpl3+)))
10648
10649 (define-public emacs-gnuplot
10650 (package
10651 (name "emacs-gnuplot")
10652 (version "0.7.0")
10653 (source
10654 (origin
10655 (method git-fetch)
10656 (uri (git-reference
10657 (url "https://github.com/bruceravel/gnuplot-mode.git")
10658 (commit version)))
10659 (file-name (git-file-name name version))
10660 (sha256
10661 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
10662 (build-system gnu-build-system)
10663 (native-inputs `(("emacs" ,emacs-minimal)))
10664 (arguments
10665 (let ((elisp-dir "/share/emacs/site-lisp"))
10666 `(#:modules ((guix build gnu-build-system)
10667 (guix build utils)
10668 (guix build emacs-utils))
10669 #:imported-modules (,@%gnu-build-system-modules
10670 (guix build emacs-utils))
10671 #:configure-flags
10672 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
10673 "/bin/emacs")
10674 (string-append "--with-lispdir=" %output ,elisp-dir))
10675 #:phases
10676 (modify-phases %standard-phases
10677 (add-after 'install 'generate-autoloads
10678 (lambda* (#:key outputs #:allow-other-keys)
10679 (emacs-generate-autoloads
10680 "gnuplot"
10681 (string-append (assoc-ref outputs "out") ,elisp-dir))
10682 #t))))))
10683 (home-page "https://github.com/bruceravel/gnuplot-mode")
10684 (synopsis "Emacs major mode for interacting with gnuplot")
10685 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
10686 with gnuplot.")
10687 (license license:gpl2+)))
10688
10689 (define-public emacs-transpose-frame
10690 (package
10691 (name "emacs-transpose-frame")
10692 (version "0.1.0")
10693 (source
10694 (origin
10695 (method url-fetch)
10696 (uri "https://www.emacswiki.org/emacs/download/transpose-frame.el")
10697 (file-name (string-append "transpose-frame-" version ".el"))
10698 (sha256
10699 (base32
10700 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
10701 (build-system emacs-build-system)
10702 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
10703 (synopsis "Transpose window arrangement in current frame")
10704 (description "@code{emacs-transpose-frame} provides some interactive
10705 functions which allows users to transpose windows arrangement in currently
10706 selected frame.")
10707 (license license:bsd-2)))
10708
10709 (define-public emacs-key-chord
10710 (package
10711 (name "emacs-key-chord")
10712 (version "0.6")
10713 (source
10714 (origin
10715 (method url-fetch)
10716 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
10717 (file-name (string-append "key-chord-" version ".el"))
10718 (sha256
10719 (base32
10720 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
10721 (build-system emacs-build-system)
10722 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
10723 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
10724 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
10725 mode for binding key chords to commands. A key chord is defined as two keys
10726 pressed simultaneously or a single key quickly pressed twice.")
10727 (license license:gpl2+)))
10728
10729 (define-public emacs-evil-surround
10730 (package
10731 (name "emacs-evil-surround")
10732 (version "1.1.0")
10733 (source
10734 (origin
10735 (method git-fetch)
10736 (uri (git-reference
10737 (url "https://github.com/emacs-evil/evil-surround")
10738 (commit version)))
10739 (file-name (git-file-name name version))
10740 (sha256
10741 (base32 "15v2spg5rhddr97pxjfvxj36sh7knp753a9qpw8v5zjnp65kf2kn"))))
10742 (build-system emacs-build-system)
10743 (propagated-inputs
10744 `(("emacs-evil" ,emacs-evil)))
10745 (arguments
10746 `(#:tests? #t
10747 #:test-command '("make" "test")))
10748 (home-page "https://github.com/emacs-evil/evil-surround")
10749 (synopsis "Easily modify surrounding parentheses and quotes")
10750 (description "@code{emacs-evil-surround} allows easy deletion, change and
10751 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
10752 (license license:gpl3+)))
10753
10754 (define-public emacs-evil-commentary
10755 (package
10756 (name "emacs-evil-commentary")
10757 (version "2.1.1")
10758 (source
10759 (origin
10760 (method git-fetch)
10761 (uri (git-reference
10762 (url "https://github.com/linktohack/evil-commentary.git")
10763 (commit (string-append "v" version))))
10764 (file-name (git-file-name name version))
10765 (sha256
10766 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
10767 (build-system emacs-build-system)
10768 (propagated-inputs
10769 `(("emacs-evil" ,emacs-evil)))
10770 (home-page "https://github.com/linktohack/evil-commentary")
10771 (synopsis "Comment out code in evil mode")
10772 (description "@code{emacs-evil-commentary} adds keybindings to easily
10773 comment out lines of code in evil mode. It provides @code{gcc} to comment out
10774 lines, and @code{gc} to comment out the target of a motion.")
10775 (license license:gpl3+)))
10776
10777 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
10778 ;; therefore cannot be run
10779 (define-public emacs-ansi
10780 (package
10781 (name "emacs-ansi")
10782 (version "0.4.1")
10783 (source
10784 (origin
10785 (method git-fetch)
10786 (uri (git-reference
10787 (url "https://github.com/rejeep/ansi.el.git")
10788 (commit (string-append "v" version))))
10789 (file-name (git-file-name name version))
10790 (sha256
10791 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
10792 (build-system emacs-build-system)
10793 (propagated-inputs
10794 `(("emacs-dash" ,emacs-dash)
10795 ("emacs-s" ,emacs-s)))
10796 (home-page "https://github.com/rejeep/ansi.el")
10797 (synopsis "Convert strings to ANSI")
10798 (description "@code{emacs-ansi} defines functions that turns simple
10799 strings to ANSI strings. Turning a string into an ANSI string can be to add
10800 color to a text, add color in the background of a text or adding a style, such
10801 as bold, underscore or italic.")
10802 (license license:gpl3+)))
10803
10804 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
10805 ;; therefore cannot be run
10806 (define-public emacs-commander
10807 (package
10808 (name "emacs-commander")
10809 (version "0.7.0")
10810 (source
10811 (origin
10812 (method git-fetch)
10813 (uri (git-reference
10814 (url "https://github.com/rejeep/commander.el.git")
10815 (commit (string-append "v" version))))
10816 (file-name (git-file-name name version))
10817 (sha256
10818 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
10819 (build-system emacs-build-system)
10820 (propagated-inputs
10821 `(("emacs-dash" ,emacs-dash)
10822 ("emacs-f" ,emacs-f)
10823 ("emacs-s" ,emacs-s)))
10824 (home-page "https://github.com/rejeep/commander.el")
10825 (synopsis "Emacs command line parser")
10826 (description "@code{emacs-commander} provides command line parsing for
10827 Emacs.")
10828 (license license:gpl3+)))
10829
10830 (define-public emacs-eglot
10831 (package
10832 (name "emacs-eglot")
10833 (version "1.6")
10834 (source
10835 (origin
10836 (method url-fetch)
10837 (uri (string-append "https://elpa.gnu.org/packages/"
10838 "eglot-" version ".tar"))
10839 (sha256
10840 (base32 "15hd6sx7qrpvlvhwwkcgdiki8pswwf4mm7hkm0xvznskfcp44spx"))))
10841 (build-system emacs-build-system)
10842 (propagated-inputs
10843 `(("emacs-jsonrpc" ,emacs-jsonrpc)))
10844 (home-page "https://github.com/joaotavora/eglot")
10845 (synopsis "Client for Language Server Protocol (LSP) servers")
10846 (description
10847 "Emacs Polyglot, or Eglot, is an Emacs @acronym{Language Server Protocol,
10848 LSP} client that stays out of the way. It guesses the LSP program to start
10849 for the current file, using the major mode as a hint. It prompts you to enter
10850 one if it fails.")
10851 (license license:gpl3+)))
10852
10853 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
10854 ;; cannot be run
10855 (define-public emacs-ert-runner
10856 (package
10857 (name "emacs-ert-runner")
10858 (version "0.8.0")
10859 (source
10860 (origin
10861 (method git-fetch)
10862 (uri (git-reference
10863 (url "https://github.com/rejeep/ert-runner.el.git")
10864 (commit (string-append "v" version))))
10865 (file-name (git-file-name name version))
10866 (sha256
10867 (base32
10868 "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98"))))
10869 (build-system emacs-build-system)
10870 (inputs
10871 `(("emacs-ansi" ,emacs-ansi)
10872 ("emacs-commander" ,emacs-commander)
10873 ("emacs-dash" ,emacs-dash)
10874 ("emacs-f" ,emacs-f)
10875 ("emacs-s" ,emacs-s)
10876 ("emacs-shut-up" ,emacs-shut-up)))
10877 (arguments
10878 `(#:phases
10879 (modify-phases %standard-phases
10880 (add-after 'install 'install-executable
10881 (lambda* (#:key inputs outputs #:allow-other-keys)
10882 (let ((out (assoc-ref outputs "out"))
10883 (source-directory (string-append
10884 (getenv "TMPDIR") "/source")))
10885 (substitute* "bin/ert-runner"
10886 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
10887 (string-append "ERT_RUNNER=\"" out
10888 "/share/emacs/site-lisp")))
10889 (install-file "bin/ert-runner" (string-append out "/bin"))
10890 (wrap-program (string-append out "/bin/ert-runner")
10891 (list "EMACSLOADPATH" ":" 'prefix
10892 ;; Do not capture the transient source directory in
10893 ;; the wrapper.
10894 (delete source-directory
10895 (string-split (getenv "EMACSLOADPATH") #\:))))
10896 #t))))
10897 #:include (cons* "^reporters/.*\\.el$" %default-include)))
10898 (home-page "https://github.com/rejeep/ert-runner.el")
10899 (synopsis "Opinionated Ert testing workflow")
10900 (description "@code{ert-runner} is a tool for Emacs projects tested
10901 using ERT. It assumes a certain test structure setup and can therefore make
10902 running tests easier.")
10903 (license license:gpl3+)))
10904
10905 (define-public emacs-xtest
10906 (package
10907 (name "emacs-xtest")
10908 (version "1.1.0")
10909 (source (origin
10910 (method git-fetch)
10911 (uri (git-reference
10912 (url "https://github.com/promethial/xtest.git")
10913 (commit (string-append "v" version))))
10914 (file-name (git-file-name name version))
10915 (sha256
10916 (base32
10917 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
10918 (arguments
10919 `(#:exclude '()))
10920 (build-system emacs-build-system)
10921 (home-page "https://github.com/promethial/xtest/")
10922 (synopsis "Simple testing with Emacs")
10923 (description "This package provides a simple testing library for Emacs.")
10924 (license license:gpl3+)))
10925
10926 (define-public emacs-disable-mouse
10927 (package
10928 (name "emacs-disable-mouse")
10929 (version "0.2")
10930 (source
10931 (origin
10932 (method git-fetch)
10933 (uri (git-reference
10934 (url "https://github.com/purcell/disable-mouse.git")
10935 (commit version)))
10936 (file-name (git-file-name name version))
10937 (sha256
10938 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
10939 (build-system emacs-build-system)
10940 (home-page "https://github.com/purcell/disable-mouse")
10941 (synopsis "Disable mouse commands globally")
10942 (description
10943 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
10944 pair of minor modes which suppress all mouse events by intercepting them and
10945 running a customisable handler command (@code{ignore} by default). ")
10946 (license license:gpl3+)))
10947
10948 (define-public emacs-json-reformat
10949 (package
10950 (name "emacs-json-reformat")
10951 (version "0.0.6")
10952 (source
10953 (origin
10954 (method git-fetch)
10955 (uri (git-reference
10956 (url "https://github.com/gongo/json-reformat.git")
10957 (commit version)))
10958 (file-name (git-file-name name version))
10959 (sha256
10960 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
10961 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
10962 (build-system emacs-build-system)
10963 (propagated-inputs
10964 `(("emacs-undercover" ,emacs-undercover)))
10965 (native-inputs
10966 `(("emacs-dash" ,emacs-dash)
10967 ("emacs-shut-up" ,emacs-shut-up)
10968 ("ert-runner" ,emacs-ert-runner)))
10969 (arguments
10970 `(#:tests? #t
10971 #:test-command '("ert-runner")
10972 #:phases
10973 (modify-phases %standard-phases
10974 (add-before 'check 'make-tests-writable
10975 (lambda _
10976 (for-each make-file-writable (find-files "test"))
10977 #t))
10978 (add-before 'check 'delete-json-objects-order-test
10979 (lambda _
10980 (emacs-batch-edit-file "test/json-reformat-test.el"
10981 `(progn (progn (goto-char (point-min))
10982 (re-search-forward
10983 "ert-deftest json-reformat-test:json-reformat-region")
10984 (beginning-of-line)
10985 (kill-sexp))
10986 (basic-save-buffer)))
10987 #t)))))
10988 (home-page "https://github.com/gongo/json-reformat")
10989 (synopsis "Reformatting tool for JSON")
10990 (description "@code{json-reformat} provides a reformatting tool for
10991 @url{http://json.org/, JSON}.")
10992 (license license:gpl3+)))
10993
10994 (define-public emacs-json-snatcher
10995 (package
10996 (name "emacs-json-snatcher")
10997 (version "1.0.0")
10998 (source
10999 (origin
11000 (method git-fetch)
11001 (uri (git-reference
11002 (url "https://github.com/Sterlingg/json-snatcher.git")
11003 (commit version)))
11004 (file-name (git-file-name name version))
11005 (sha256
11006 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
11007 (build-system emacs-build-system)
11008 (home-page "https://github.com/sterlingg/json-snatcher")
11009 (synopsis "Grabs the path to JSON values in a JSON file")
11010 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
11011 a @url{http://json.org/, JSON} file.")
11012 (license license:gpl3+)))
11013
11014 (define-public emacs-json-mode
11015 (package
11016 (name "emacs-json-mode")
11017 (version "1.7.0")
11018 (source
11019 (origin
11020 (method git-fetch)
11021 (uri (git-reference
11022 (url "https://github.com/joshwnj/json-mode.git")
11023 (commit (string-append "v" version))))
11024 (file-name (git-file-name name version))
11025 (sha256
11026 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
11027 (build-system emacs-build-system)
11028 (propagated-inputs
11029 `(("emacs-json-reformat" ,emacs-json-reformat)
11030 ("emacs-json-snatcher" ,emacs-json-snatcher)))
11031 (home-page "https://github.com/joshwnj/json-mode")
11032 (synopsis "Major mode for editing JSON files")
11033 (description "@code{json-mode} extends the builtin js-mode syntax
11034 highlighting.")
11035 (license license:gpl3+)))
11036
11037 (define-public emacs-jsonrpc
11038 (package
11039 (name "emacs-jsonrpc")
11040 (version "1.0.11")
11041 (source
11042 (origin
11043 (method url-fetch)
11044 (uri (string-append "https://elpa.gnu.org/packages/"
11045 "jsonrpc-" version ".el"))
11046 (sha256
11047 (base32 "04cy1mqd6y8k5lcpg076szjk9av9345mmsnzzh6vgbcw3dcgbr23"))))
11048 (build-system emacs-build-system)
11049 (home-page "http://elpa.gnu.org/packages/jsonrpc.html")
11050 (synopsis "JSON-RPC library")
11051 (description
11052 "This library implements the JSONRPC 2.0 specification as
11053 described in @url{http://www.jsonrpc.org/}. As the name suggests,
11054 JSONRPC is a generic Remote Procedure Call protocol designed around
11055 JSON objects.")
11056 (license license:gpl3+)))
11057
11058 (define-public emacs-restclient
11059 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
11060 (version "0")
11061 (revision "2")) ;Guix package revision,
11062 ;upstream doesn't have official releases
11063 (package
11064 (name "emacs-restclient")
11065 (version (git-version version revision commit))
11066 (source (origin
11067 (method git-fetch)
11068 (uri (git-reference
11069 (url "https://github.com/pashky/restclient.el.git")
11070 (commit commit)))
11071 (sha256
11072 (base32
11073 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
11074 (file-name (git-file-name name version))))
11075 (build-system emacs-build-system)
11076 (propagated-inputs
11077 `(("emacs-helm" ,emacs-helm)))
11078 (home-page "https://github.com/pashky/restclient.el")
11079 (synopsis "Explore and test HTTP REST webservices")
11080 (description
11081 "This tool allows for testing and exploration of HTTP REST Web services
11082 from within Emacs. Restclient runs queries from a plan-text query sheet,
11083 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
11084 (license license:public-domain))))
11085
11086 (define-public emacs-whitespace-cleanup-mode
11087 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
11088 (revision "1"))
11089 (package
11090 (name "emacs-whitespace-cleanup-mode")
11091 (version (git-version "0.10" revision commit))
11092 (source (origin
11093 (method git-fetch)
11094 (uri (git-reference
11095 (url "https://github.com/purcell/whitespace-cleanup-mode")
11096 (commit commit)))
11097 (sha256
11098 (base32
11099 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
11100 (file-name (git-file-name name version))))
11101 (build-system emacs-build-system)
11102 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
11103 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
11104 (description
11105 "This package provides a minor mode that calls
11106 @code{whitespace-cleanup} before saving the current buffer only if the
11107 whitespace in the buffer was initially clean.")
11108 (license license:gpl3+))))
11109
11110 (define-public emacs-eimp
11111 (let ((version "1.4.0")
11112 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
11113 (revision "1"))
11114 (package
11115 (name "emacs-eimp")
11116 (version (git-version version revision commit))
11117 (source
11118 (origin
11119 (method git-fetch)
11120 (uri (git-reference
11121 (url "https://github.com/nicferrier/eimp.git")
11122 (commit commit)))
11123 (file-name (git-file-name name version))
11124 (sha256
11125 (base32
11126 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
11127 (build-system emacs-build-system)
11128 (arguments
11129 `(#:phases
11130 (modify-phases %standard-phases
11131 (add-after 'unpack 'configure
11132 (lambda* (#:key inputs #:allow-other-keys)
11133 (let ((imagemagick (assoc-ref inputs "imagemagick")))
11134 ;; eimp.el is read-only in git.
11135 (chmod "eimp.el" #o644)
11136 (emacs-substitute-variables "eimp.el"
11137 ("eimp-mogrify-program"
11138 (string-append imagemagick "/bin/mogrify"))))
11139 #t)))))
11140 (inputs
11141 `(("imagemagick" ,imagemagick)))
11142 (home-page "https://github.com/nicferrier/eimp")
11143 (synopsis "Interactive image manipulation utility for Emacs")
11144 (description "@code{emacs-eimp} allows interactive image manipulation
11145 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
11146 the actual transformations.")
11147 (license license:gpl2+))))
11148
11149 (define-public emacs-dired-hacks
11150 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
11151 (revision "2"))
11152 (package
11153 (name "emacs-dired-hacks")
11154 (version (git-version "0.0.1" revision commit))
11155 (source (origin
11156 (method git-fetch)
11157 (uri (git-reference
11158 (url "https://github.com/Fuco1/dired-hacks.git")
11159 (commit commit)))
11160 (file-name (git-file-name name version))
11161 (sha256
11162 (base32
11163 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
11164 (build-system emacs-build-system)
11165 (propagated-inputs
11166 `(("emacs-dash" ,emacs-dash)
11167 ("emacs-eimp" ,emacs-eimp)
11168 ("emacs-f" ,emacs-f)
11169 ("emacs-s" ,emacs-s)))
11170 (home-page "https://github.com/Fuco1/dired-hacks")
11171 (synopsis
11172 "Collection of useful dired additions")
11173 (description
11174 "This package provides the following collection of Emacs dired mode
11175 additions:
11176
11177 @itemize
11178 @item dired-avfs
11179 @item dired-columns
11180 @item dired-filter
11181 @item dired-hacks-utils
11182 @item dired-images
11183 @item dired-list
11184 @item dired-narrow
11185 @item dired-open
11186 @item dired-rainbow
11187 @item dired-ranger
11188 @item dired-subtree
11189 @item dired-tagsistant
11190 @end itemize\n")
11191 (license license:gpl3+))))
11192
11193 (define-public emacs-dired-sidebar
11194 (let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc")
11195 (revision "1"))
11196 (package
11197 (name "emacs-dired-sidebar")
11198 (home-page "https://github.com/jojojames/dired-sidebar")
11199 (version (git-version "0.1.0" revision commit))
11200 (source (origin
11201 (method git-fetch)
11202 (uri (git-reference (url home-page) (commit commit)))
11203 (file-name (git-file-name name version))
11204 (sha256
11205 (base32
11206 "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"))))
11207 (build-system emacs-build-system)
11208 (propagated-inputs
11209 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
11210 (synopsis "Sidebar for Emacs using Dired")
11211 (description
11212 "This package provides a sidebar for Emacs similar to @code{NeoTree}
11213 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
11214 (license license:gpl3+))))
11215
11216 (define-public emacs-which-key
11217 (package
11218 (name "emacs-which-key")
11219 (version "3.4.0")
11220 (source
11221 (origin
11222 (method git-fetch)
11223 (uri (git-reference
11224 (url "https://github.com/justbur/emacs-which-key.git")
11225 (commit (string-append "v" version))))
11226 (file-name (git-file-name name version))
11227 (sha256
11228 (base32 "1ahgb7dqdc75farkl0fg0a6hvx2067gdvjq99cd3z2dz56km0p05"))))
11229 (build-system emacs-build-system)
11230 (arguments
11231 `(#:tests? #t
11232 #:test-command '("emacs" "--batch"
11233 "-l" "which-key-tests.el"
11234 "-f" "ert-run-tests-batch-and-exit")))
11235 (home-page "https://github.com/justbur/emacs-which-key")
11236 (synopsis "Display available key bindings in popup")
11237 (description
11238 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
11239 bindings following your currently entered incomplete command (a prefix) in a
11240 popup. For example, after enabling the minor mode if you enter C-x and wait
11241 for the default of 1 second, the minibuffer will expand with all of the
11242 available key bindings that follow C-x (or as many as space allows given your
11243 settings).")
11244 (license license:gpl3+)))
11245
11246 (define-public emacs-hercules
11247 (package
11248 (name "emacs-hercules")
11249 (version "0.2.1")
11250 (source
11251 (origin
11252 (method git-fetch)
11253 (uri (git-reference
11254 (url "https://gitlab.com/jjzmajic/hercules.el.git")
11255 (commit (string-append "v" version))))
11256 (file-name (git-file-name name version))
11257 (sha256
11258 (base32
11259 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
11260 (build-system emacs-build-system)
11261 (propagated-inputs
11262 `(("emacs-which-key" ,emacs-which-key)))
11263 (home-page "https://gitlab.com/jjzmajic/hercules.el")
11264 (synopsis "Call a chain of related commands without repeated prefix keys")
11265 (description
11266 "This package provides sticky-key-like functionality to obviate the
11267 need for repeated prefix-key sequences, and can reuse existing keymaps. The
11268 list of commands is displayed in a handy popup.")
11269 (license license:gpl3+)))
11270
11271 (define-public emacs-ws-butler
11272 (package
11273 (name "emacs-ws-butler")
11274 (version "0.6")
11275 (source (origin
11276 (method git-fetch)
11277 (uri (git-reference
11278 (url "https://github.com/lewang/ws-butler.git")
11279 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
11280 (file-name (git-file-name name version))
11281 (sha256
11282 (base32
11283 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
11284 (build-system emacs-build-system)
11285 (native-inputs
11286 `(("ert-runner" ,emacs-ert-runner)))
11287 (arguments
11288 `(#:tests? #t
11289 #:test-command '("ert-runner" "tests")))
11290 (home-page "https://github.com/lewang/ws-butler")
11291 (synopsis "Trim spaces from end of lines")
11292 (description
11293 "This Emacs package automatically and unobtrusively trims whitespace
11294 characters from end of lines.")
11295 (license license:gpl3+)))
11296
11297 (define-public emacs-openwith
11298 (let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9")
11299 (revision "0"))
11300 (package
11301 (name "emacs-openwith")
11302 (home-page "https://bitbucket.org/jpkotta/openwith")
11303 (version (git-version "0.0.1" revision changeset))
11304 (source (origin
11305 (method hg-fetch)
11306 (uri (hg-reference (url home-page) (changeset changeset)))
11307 (file-name (git-file-name name version))
11308 (sha256
11309 (base32
11310 "1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01"))))
11311 (build-system emacs-build-system)
11312 (synopsis "Open external applications for files with Emacs")
11313 (description
11314 "This package enables you to associate file name patterns with external
11315 applications that are automatically invoked when you use commands like
11316 @code{find-file}. For example, you can have it open @code{png} files with
11317 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
11318 when browsing files with Dired.")
11319 (license license:gpl2+))))
11320
11321 (define-public emacs-org-edit-latex
11322 (package
11323 (name "emacs-org-edit-latex")
11324 (version "0.8.0")
11325 (source
11326 (origin
11327 (method git-fetch)
11328 (uri (git-reference
11329 (url "https://github.com/et2010/org-edit-latex.git")
11330 (commit (string-append "v" version))))
11331 (file-name (git-file-name name version))
11332 (sha256
11333 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
11334 (build-system emacs-build-system)
11335 (propagated-inputs
11336 `(("emacs-auctex" ,emacs-auctex)
11337 ;; The version of org in Emacs 25.2 is not sufficient, because the
11338 ;; `org-latex-make-preamble' function is required.
11339 ("emacs-org" ,emacs-org)))
11340 (home-page "https://github.com/et2010/org-edit-latex")
11341 (synopsis "Edit a latex fragment just like editing a src block")
11342 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
11343 It lets you edit a latex fragment in a dedicated buffer just like editing a
11344 src block.")
11345 (license license:gpl3+)))
11346
11347 (define-public emacs-emamux
11348 (package
11349 (name "emacs-emamux")
11350 (version "0.14")
11351 (source
11352 (origin
11353 (method git-fetch)
11354 (uri (git-reference
11355 (url "https://github.com/syohex/emacs-emamux.git")
11356 (commit version)))
11357 (file-name (git-file-name name version))
11358 (sha256
11359 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
11360 (build-system emacs-build-system)
11361 (home-page "https://github.com/syohex/emacs-emamux")
11362 (synopsis "Manipulate Tmux from Emacs")
11363 (description
11364 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
11365 multiplexer.")
11366 (license license:gpl3+)))
11367
11368 (define-public emacs-rpm-spec-mode
11369 (package
11370 (name "emacs-rpm-spec-mode")
11371 (version "0.16")
11372 (source
11373 (origin
11374 (method url-fetch)
11375 ;; URI has the Fedora release number instead of the version
11376 ;; number. This will have to updated manually every new release.
11377 (uri (string-append
11378 "https://src.fedoraproject.org/cgit/rpms"
11379 "/emacs-rpm-spec-mode.git/snapshot"
11380 "/emacs-rpm-spec-mode-f26.tar.gz"))
11381 (sha256
11382 (base32
11383 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
11384 (build-system emacs-build-system)
11385 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
11386 (synopsis "Emacs major mode for editing RPM spec files")
11387 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
11388 editing RPM spec files.")
11389 (license license:gpl2+)))
11390
11391 (define-public emacs-lcr
11392 (package
11393 (name "emacs-lcr")
11394 (version "1.1")
11395 (source
11396 (origin
11397 (method git-fetch)
11398 (uri (git-reference
11399 (url "https://github.com/jyp/lcr")
11400 (commit version)))
11401 (file-name (git-file-name name version))
11402 (sha256
11403 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
11404 (build-system emacs-build-system)
11405 (propagated-inputs
11406 `(("emacs-dash" ,emacs-dash)))
11407 (home-page "https://github.com/jyp/lcr")
11408 (synopsis "Lightweight coroutines in Emacs Lisp")
11409 (description "This package provides macros that can translate code into
11410 equivalent continuation-passing code, as well as miscellaneous utility
11411 functions written in continuation-passing style.")
11412 (license license:gpl3+)))
11413
11414 (define-public emacs-attrap
11415 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
11416 (revision "2"))
11417 (package
11418 (name "emacs-attrap")
11419 (version (git-version "1.0" revision commit))
11420 (source (origin
11421 (method git-fetch)
11422 (uri (git-reference
11423 (url "https://github.com/jyp/attrap")
11424 (commit commit)))
11425 (sha256
11426 (base32
11427 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
11428 (file-name (git-file-name name version))))
11429 (build-system emacs-build-system)
11430 (propagated-inputs
11431 `(("emacs-dash" ,emacs-dash)
11432 ("emacs-f" ,emacs-f)
11433 ("emacs-flycheck" ,emacs-flycheck)
11434 ("emacs-s" ,emacs-s)))
11435 (home-page "https://github.com/jyp/attrap")
11436 (synopsis "Fix coding error at point")
11437 (description "This package provides a command to fix the Flycheck error
11438 at point.")
11439 (license license:gpl3+))))
11440
11441 (define-public emacs-git-messenger
11442 (package
11443 (name "emacs-git-messenger")
11444 (version "0.18")
11445 (source
11446 (origin
11447 (method git-fetch)
11448 (uri (git-reference
11449 (url "https://github.com/syohex/emacs-git-messenger.git")
11450 (commit version)))
11451 (file-name (git-file-name name version))
11452 (sha256
11453 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
11454 (build-system emacs-build-system)
11455 (propagated-inputs
11456 `(("emacs-popup" ,emacs-popup)))
11457 (arguments
11458 `(#:tests? #t
11459 #:test-command '("emacs" "--batch" "-l" "test/test.el"
11460 "-f" "ert-run-tests-batch-and-exit")))
11461 (home-page "https://github.com/syohex/emacs-git-messenger")
11462 (synopsis "Popup commit message at current line")
11463 (description "@code{emacs-git-messenger} provides
11464 @code{git-messenger:popup-message}, a function that when called, will popup
11465 the last git commit message for the current line. This uses git-blame
11466 internally.")
11467 (license license:gpl3+)))
11468
11469 (define-public emacs-gitpatch
11470 (package
11471 (name "emacs-gitpatch")
11472 (version "0.5.1")
11473 (source
11474 (origin
11475 (method git-fetch)
11476 (uri (git-reference
11477 (url "https://github.com/tumashu/gitpatch.git")
11478 (commit (string-append "v" version))))
11479 (file-name (git-file-name name version))
11480 (sha256
11481 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
11482 (build-system emacs-build-system)
11483 (home-page "https://github.com/tumashu/gitpatch")
11484 (synopsis "Mail git patch from Emacs")
11485 (description "@code{emacs-gitpatch} lets users easily send git patches,
11486 created by @code{git format-patch}, from @code{magit}, @code{dired} and
11487 @code{ibuffer} buffers.")
11488 (license license:gpl3+)))
11489
11490 (define-public emacs-erc-hl-nicks
11491 (package
11492 (name "emacs-erc-hl-nicks")
11493 (version "1.3.3")
11494 (source
11495 (origin
11496 (method git-fetch)
11497 (uri (git-reference
11498 (url "https://github.com/leathekd/erc-hl-nicks")
11499 (commit version)))
11500 (file-name (git-file-name name version))
11501 (sha256
11502 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
11503 (build-system emacs-build-system)
11504 (synopsis "Nickname highlighting for Emacs ERC")
11505 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
11506 client for Emacs. The main features are:
11507 @itemize
11508 @item Auto-colorizes nicknames without having to specify colors
11509 @item Ignores certain characters that IRC clients add to nicknames to avoid
11510 duplicates (nickname, nickname’, nickname\", etc.)
11511 @item Attempts to produce colors with a sufficient amount of contrast between
11512 the nick color and the background color
11513 @end itemize\n")
11514 (home-page "https://github.com/leathekd/erc-hl-nicks")
11515 (license license:gpl3+)))
11516
11517 (define-public emacs-engine-mode
11518 (package
11519 (name "emacs-engine-mode")
11520 (version "2.1.1")
11521 (source
11522 (origin
11523 (method git-fetch)
11524 (uri (git-reference
11525 (url "https://github.com/hrs/engine-mode.git")
11526 (commit (string-append "v" version))))
11527 (file-name (git-file-name name version))
11528 (sha256
11529 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
11530 (build-system emacs-build-system)
11531 (synopsis "Minor mode for defining and querying search engines")
11532 (description "@code{engine-mode} is a global minor mode for Emacs. It
11533 enables you to easily define search engines, bind them to keybindings, and
11534 query them from the comfort of your editor.")
11535 (home-page "https://github.com/hrs/engine-mode")
11536 (license license:gpl3+)))
11537
11538 (define-public emacs-prop-menu
11539 (package
11540 (name "emacs-prop-menu")
11541 (version "0.1.2")
11542 (source
11543 (origin
11544 (method git-fetch)
11545 (uri (git-reference
11546 (url "https://github.com/david-christiansen/prop-menu-el.git")
11547 (commit version)))
11548 (file-name (git-file-name name version))
11549 (sha256
11550 (base32
11551 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
11552 (build-system emacs-build-system)
11553 (home-page
11554 "https://github.com/david-christiansen/prop-menu-el")
11555 (synopsis
11556 "Create and display a context menu based on text and overlay properties")
11557 (description
11558 "This is a library for computing context menus based on text
11559 properties and overlays. The intended use is to have tools that
11560 annotate source code and others that use these annotations, without
11561 requiring a direct coupling between them, but maintaining
11562 discoverability.
11563
11564 Major modes that wish to use this library should first define an
11565 appropriate value for @code{prop-menu-item-functions}. Then, they should
11566 bind @code{prop-menu-by-completing-read} to an appropriate
11567 key. Optionally, a mouse pop-up can be added by binding
11568 @code{prop-menu-show-menu} to a mouse event.")
11569 (license license:gpl3+)))
11570
11571 (define-public emacs-idris-mode
11572 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
11573 (revision "0"))
11574 (package
11575 (name "emacs-idris-mode")
11576 (version (git-version "0.9.19" revision commit))
11577 (source
11578 (origin
11579 (method git-fetch)
11580 (uri (git-reference
11581 (url "https://github.com/idris-hackers/idris-mode.git")
11582 (commit commit)))
11583 (file-name (git-file-name name commit))
11584 (sha256
11585 (base32
11586 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
11587 (build-system emacs-build-system)
11588 (propagated-inputs
11589 `(("emacs-prop-menu" ,emacs-prop-menu)))
11590 (home-page
11591 "https://github.com/idris-hackers/idris-mode")
11592 (synopsis "Major mode for editing Idris code")
11593 (description
11594 "This is an Emacs mode for editing Idris code. It requires the latest
11595 version of Idris, and some features may rely on the latest Git version of
11596 Idris.")
11597 (license license:gpl3+))))
11598
11599 (define-public emacs-browse-at-remote
11600 (package
11601 (name "emacs-browse-at-remote")
11602 (version "0.10.0")
11603 (source
11604 (origin
11605 (method git-fetch)
11606 (uri (git-reference
11607 (url "https://github.com/rmuslimov/browse-at-remote.git")
11608 (commit version)))
11609 (file-name (git-file-name name version))
11610 (sha256
11611 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
11612 (build-system emacs-build-system)
11613 (propagated-inputs
11614 `(("emacs-f" ,emacs-f)
11615 ("emacs-s" ,emacs-s)))
11616 (native-inputs
11617 `(("ert-runner" ,emacs-ert-runner)))
11618 (arguments
11619 `(#:tests? #t
11620 #:test-command '("ert-runner")))
11621 (home-page "https://github.com/rmuslimov/browse-at-remote")
11622 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
11623 (description
11624 "This Emacs package allows you to open a target page on
11625 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
11626 It supports dired buffers and opens them in tree mode at destination.")
11627 (license license:gpl3+)))
11628
11629 (define-public emacs-tiny
11630 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
11631 (revision "1"))
11632 (package
11633 (name "emacs-tiny")
11634 (version (git-version "0.2.1" revision commit))
11635 (source
11636 (origin
11637 (method git-fetch)
11638 (uri (git-reference
11639 (url "https://github.com/abo-abo/tiny.git")
11640 (commit commit)))
11641 (file-name (git-file-name name version))
11642 (sha256
11643 (base32
11644 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
11645 (build-system emacs-build-system)
11646 (arguments
11647 `(#:tests? #t
11648 #:test-command '("make" "test")))
11649 (home-page "https://github.com/abo-abo/tiny")
11650 (synopsis "Quickly generate linear ranges in Emacs")
11651 (description
11652 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
11653 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
11654 proficiency is an advantage, since you can transform your numeric range with
11655 an elisp expression.")
11656 (license license:gpl3+))))
11657
11658 (define-public emacs-emojify
11659 (package
11660 (name "emacs-emojify")
11661 (version "1.2")
11662 (source
11663 (origin
11664 (method git-fetch)
11665 (uri (git-reference
11666 (url "https://github.com/iqbalansari/emacs-emojify")
11667 (commit (string-append "v" version))))
11668 (file-name (git-file-name name version))
11669 (sha256
11670 (base32
11671 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
11672 (build-system emacs-build-system)
11673 (arguments
11674 `(#:include (cons "^data/" %default-include)))
11675 (propagated-inputs
11676 `(("emacs-ht" ,emacs-ht)))
11677 (home-page "https://github.com/iqbalansari/emacs-emojify")
11678 (synopsis "Display emojis in Emacs")
11679 (description "This package displays emojis in Emacs similar to how Github,
11680 Slack, and other websites do. It can display plain ASCII like @code{:)} as
11681 well as Github-style emojis like @code{:smile:}. It provides a minor mode
11682 @code{emojify-mode} to enable the display of emojis in a buffer.")
11683 (license license:gpl3+)))
11684
11685 (define-public emacs-make-it-so
11686 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
11687 (revision "2"))
11688 (package
11689 (name "emacs-make-it-so")
11690 (version (git-version "0.1.0" revision commit))
11691 (source
11692 (origin
11693 (method git-fetch)
11694 (uri (git-reference
11695 (url "https://github.com/abo-abo/make-it-so")
11696 (commit commit)))
11697 (file-name (git-file-name name version))
11698 (sha256
11699 (base32
11700 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
11701 (build-system emacs-build-system)
11702 (arguments
11703 `(#:include (cons "^recipes/" %default-include)))
11704 (propagated-inputs
11705 `(("emacs-ivy" ,emacs-ivy)))
11706 (home-page "https://github.com/abo-abo/make-it-so")
11707 (synopsis "Transform files with Makefile recipes")
11708 (description "This package provides an interface for selecting from
11709 different conversion recipes, often including tools like @code{ffmpeg} or
11710 @code{convert}. The conversion command need only be written once, and
11711 subsequent invocations can be readily customized. Several recipes are
11712 included by default, and more can be readily added.")
11713 (license license:gpl3+))))
11714
11715 (define-public emacs-unidecode
11716 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
11717 (revision "1"))
11718 (package
11719 (name "emacs-unidecode")
11720 (version (git-version "0.2" revision commit))
11721 (source
11722 (origin
11723 (method git-fetch)
11724 (uri (git-reference
11725 (url "https://github.com/sindikat/unidecode")
11726 (commit commit)))
11727 (file-name (git-file-name name version))
11728 (sha256
11729 (base32
11730 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
11731 (build-system emacs-build-system)
11732 (arguments
11733 `(#:include (cons* "^tools/" "^data/" %default-include)
11734 #:tests? #t
11735 #:test-command '("emacs" "--batch"
11736 "-l" "unidecode-test.el"
11737 "-f" "ert-run-tests-batch-and-exit")
11738 #:phases
11739 (modify-phases %standard-phases
11740 (add-before 'check 'make-tests-writable
11741 (lambda _
11742 (make-file-writable "unidecode-test.el")
11743 #t))
11744 (add-before 'check 'add-require
11745 (lambda _
11746 (emacs-batch-edit-file "unidecode-test.el"
11747 `(progn (progn (goto-char (point-min))
11748 (re-search-forward
11749 "ert-deftest")
11750 (forward-line -1)
11751 (insert "(require 'unidecode)"))
11752 (basic-save-buffer)))
11753 #t)))))
11754 (home-page "https://github.com/sindikat/unidecode")
11755 (synopsis "Transliterate Unicode text to ASCII")
11756 (description "This package provides functions for converting Unicode to ASCII.")
11757 (license license:gpl2+))))
11758
11759 (define-public emacs-pubmed
11760 (package
11761 (name "emacs-pubmed")
11762 (version "0.2.1")
11763 (source
11764 (origin
11765 (method git-fetch)
11766 (uri (git-reference
11767 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
11768 (commit (string-append "v" version))))
11769 (file-name (git-file-name name version))
11770 (sha256
11771 (base32
11772 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
11773 (build-system emacs-build-system)
11774 (propagated-inputs
11775 `(("emacs-deferred" ,emacs-deferred)
11776 ("emacs-esxml" ,emacs-esxml)
11777 ("emacs-s" ,emacs-s)
11778 ("emacs-unidecode" ,emacs-unidecode)))
11779 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
11780 (synopsis "Interface to PubMed")
11781 (description "This package provides an Emacs interface to the PubMed
11782 database of references on life sciences.")
11783 (license license:gpl3+)))
11784
11785 (define-public emacs-websocket
11786 (package
11787 (name "emacs-websocket")
11788 (version "1.12")
11789 (source
11790 (origin
11791 (method url-fetch)
11792 (uri (string-append "https://elpa.gnu.org/packages/"
11793 "websocket-" version ".tar"))
11794 (sha256
11795 (base32 "0ap4z80c6pzpb69wrx0hsvwzignxmd2b9xy974by9gf5xm2wpa8w"))))
11796 (build-system emacs-build-system)
11797 (home-page "https://elpa.gnu.org/packages/websocket.html")
11798 (synopsis "Emacs WebSocket client and server")
11799 (description
11800 "This is an Elisp library for WebSocket clients to talk to WebSocket
11801 servers, and for WebSocket servers to accept connections from WebSocket
11802 clients. This library is designed to be used by other library writers, to
11803 write applications that use WebSockets, and is not useful by itself.")
11804 (license license:gpl3+)))
11805
11806 (define-public emacs-oauth2
11807 (package
11808 (name "emacs-oauth2")
11809 (version "0.13")
11810 (source
11811 (origin
11812 (method url-fetch)
11813 (uri (string-append "https://elpa.gnu.org/packages/"
11814 "oauth2-" version ".el"))
11815 (sha256
11816 (base32 "0y5nbdwxz2hfr09xgsqgyv60vgx0rsaisibcpkz00klvgg26w33r"))))
11817 (build-system emacs-build-system)
11818 (home-page "https://elpa.gnu.org/packages/oauth2.html")
11819 (synopsis "OAuth 2.0 authorization protocol implementation")
11820 (description
11821 "This package provides an Elisp implementation of the OAuth 2.0 draft.
11822 The main entry point is @code{oauth2-auth-and-store} which will return a token
11823 structure. This token structure can be then used with
11824 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
11825 retrieve any data that need OAuth authentication to be accessed. If the token
11826 needs to be refreshed, the code handles it automatically and stores the new
11827 value of the access token.")
11828 (license license:gpl3+)))
11829
11830 (define-public emacs-circe
11831 (package
11832 (name "emacs-circe")
11833 (version "2.11")
11834 (source
11835 (origin
11836 (method git-fetch)
11837 (uri (git-reference
11838 (url "https://github.com/jorgenschaefer/circe.git")
11839 (commit (string-append "v" version))))
11840 (file-name (git-file-name name version))
11841 (sha256
11842 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
11843 (build-system emacs-build-system)
11844 (arguments
11845 `(#:tests? #t
11846 #:test-command '("buttercup" "-L" ".")
11847 #:phases
11848 (modify-phases %standard-phases
11849 ;; The HOME environment variable should be set to an existing
11850 ;; directory for the tests to succeed.
11851 (add-before 'check 'set-home
11852 (lambda _
11853 (setenv "HOME" "/tmp")
11854 #t)))))
11855 (native-inputs
11856 `(("emacs-buttercup" ,emacs-buttercup)))
11857 ;; In order to securely connect to an IRC server using TLS, Circe requires
11858 ;; the GnuTLS binary.
11859 (propagated-inputs
11860 `(("gnutls" ,gnutls)))
11861 (home-page "https://github.com/jorgenschaefer/circe")
11862 (synopsis "Client for IRC in Emacs")
11863 (description "Circe is a Client for IRC in Emacs. It integrates well with
11864 the rest of the editor, using standard Emacs key bindings and indicating
11865 activity in channels in the status bar so it stays out of your way unless you
11866 want to use it.")
11867 (license license:gpl3+)))
11868
11869 (define-public emacs-tracking
11870 (package
11871 (inherit emacs-circe)
11872 (name "emacs-tracking")
11873 (arguments
11874 ;; "tracking.el" is a library extracted from Circe package. It requires
11875 ;; "shorten.el".
11876 `(#:include '("^shorten.el$" "^tracking.el$")
11877 ,@(package-arguments emacs-circe)))
11878 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
11879 (synopsis "Buffer tracking library")
11880 (description "@code{tracking.el} provides a way for different modes to
11881 notify the user that a buffer needs attention. The user then can cycle
11882 through them using @key{C-c C-SPC}.")
11883 (license license:gpl3+)))
11884
11885 (define-public emacs-slack
11886 (let ((commit "a6d9f49bc6161f12c594d25254e77eedf4a67666")
11887 (revision "8"))
11888 (package
11889 (name "emacs-slack")
11890 (version (git-version "0.0.2" revision commit))
11891 (source (origin
11892 (method git-fetch)
11893 (uri (git-reference
11894 (url "https://github.com/yuya373/emacs-slack.git")
11895 (commit commit)))
11896 (file-name (git-file-name name commit))
11897 (sha256
11898 (base32
11899 "0crjjankqi4bqjk5pdz4r2ixf56n1nnq8ab1gz3sbl3v6as6262w"))))
11900 (build-system emacs-build-system)
11901 (arguments
11902 `(#:phases
11903 (modify-phases %standard-phases
11904 ;; HOME needs to exist for source compilation.
11905 (add-before 'build 'set-HOME
11906 (lambda _ (setenv "HOME" "/tmp") #t)))))
11907 (propagated-inputs
11908 `(("emacs-alert" ,emacs-alert)
11909 ("emacs-emojify" ,emacs-emojify)
11910 ("emacs-helm" ,emacs-helm)
11911 ("emacs-request" ,emacs-request)
11912 ("emacs-websocket" ,emacs-websocket)
11913 ("emacs-oauth2" ,emacs-oauth2)
11914 ("emacs-circe" ,emacs-circe)))
11915 (home-page "https://github.com/yuya373/emacs-slack")
11916 (synopsis "Slack client for Emacs")
11917 (description "This package provides an Emacs client for the Slack
11918 messaging service.")
11919 (license license:gpl3+))))
11920
11921 (define-public emacs-bash-completion
11922 (package
11923 (name "emacs-bash-completion")
11924 (version "2.1.0")
11925 (source
11926 (origin
11927 (method git-fetch)
11928 (uri (git-reference
11929 (url "https://github.com/szermatt/emacs-bash-completion.git")
11930 (commit version)))
11931 (file-name (git-file-name name version))
11932 (sha256
11933 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
11934 (inputs `(("bash" ,bash)))
11935 (build-system emacs-build-system)
11936 (arguments
11937 `(#:phases
11938 (modify-phases %standard-phases
11939 (add-after 'unpack 'make-git-checkout-writable
11940 (λ _
11941 (for-each make-file-writable (find-files "."))
11942 #t))
11943 (add-before 'install 'configure
11944 (lambda* (#:key inputs #:allow-other-keys)
11945 (let ((bash (assoc-ref inputs "bash")))
11946 (emacs-substitute-variables "bash-completion.el"
11947 ("bash-completion-prog" (string-append bash "/bin/bash"))))
11948 #t)))))
11949 (home-page "https://github.com/szermatt/emacs-bash-completion")
11950 (synopsis "Bash completion for the shell buffer")
11951 (description
11952 "@code{bash-completion} defines dynamic completion hooks for shell-mode
11953 and shell-command prompts that are based on Bash completion.")
11954 (license license:gpl2+)))
11955
11956 (define-public emacs-easy-kill
11957 (package
11958 (name "emacs-easy-kill")
11959 (version "0.9.3")
11960 (source (origin
11961 (method url-fetch)
11962 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
11963 version ".tar"))
11964 (sha256
11965 (base32
11966 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
11967 (build-system emacs-build-system)
11968 (home-page "https://github.com/leoliu/easy-kill")
11969 (synopsis "Kill and mark things easily in Emacs")
11970 (description
11971 "This package provides commands @code{easy-kill} and @code{easy-mark} to
11972 let users kill or mark things easily.")
11973 (license license:gpl3+)))
11974
11975 (define-public emacs-csv-mode
11976 (package
11977 (name "emacs-csv-mode")
11978 (version "1.12")
11979 (source
11980 (origin
11981 (method url-fetch)
11982 (uri (string-append "https://elpa.gnu.org/packages/"
11983 "csv-mode-" version ".tar"))
11984 (sha256
11985 (base32 "0bya12smlrzwv4cbcmch4kg1fazp4k0ndrh1z17ix9p8c14d0v1j"))))
11986 (build-system emacs-build-system)
11987 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
11988 (synopsis "Major mode for editing comma/char separated values")
11989 (description
11990 "This Emacs package implements CSV mode, a major mode for editing records
11991 in a generalized CSV (character-separated values) format.")
11992 (license license:gpl3+)))
11993
11994 (define-public emacs-transmission
11995 (package
11996 (name "emacs-transmission")
11997 (version "0.12.1")
11998 (source
11999 (origin
12000 (method git-fetch)
12001 (uri (git-reference
12002 (url "https://github.com/holomorph/transmission.git")
12003 (commit version)))
12004 (file-name (git-file-name name version))
12005 (sha256
12006 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
12007 (build-system emacs-build-system)
12008 (home-page "https://github.com/holomorph/transmission")
12009 (synopsis "Emacs interface to a Transmission session")
12010 (description "This package provides an Emacs interface to interact with a
12011 running session of the Transmission Bittorrent client.
12012
12013 Features:
12014
12015 @itemize
12016 @item List, add, start/stop, verify, remove torrents.
12017 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
12018 @item Navigate to the corresponding file list, torrent info, peer info
12019 contexts.
12020 @item Toggle downloading and set priorities for individual files.
12021 @end itemize\n")
12022 (license license:gpl3+)))
12023
12024 (define-public emacs-polymode
12025 (package
12026 (name "emacs-polymode")
12027 (version "0.2")
12028 (source (origin
12029 (method git-fetch)
12030 (uri (git-reference
12031 (url "https://github.com/polymode/polymode.git")
12032 (commit (string-append "v" version))))
12033 (file-name (git-file-name name version))
12034 (sha256
12035 (base32
12036 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
12037 (build-system emacs-build-system)
12038 (home-page "https://github.com/polymode/polymode")
12039 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
12040 (description
12041 "Polymode is an Emacs package that offers generic support for multiple
12042 major modes inside a single Emacs buffer. It is lightweight, object oriented
12043 and highly extensible. Creating a new polymode typically takes only a few
12044 lines of code. Polymode also provides extensible facilities for external
12045 literate programming tools for exporting, weaving and tangling.")
12046 (license license:gpl3+)))
12047
12048 (define-public emacs-polymode-ansible
12049 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
12050 (package
12051 (name "emacs-polymode-ansible")
12052 ;; No upstream version release yet.
12053 (version (git-version "0.1" "1" commit))
12054 (source
12055 (origin
12056 (method git-fetch)
12057 (uri (git-reference
12058 (url "https://gitlab.com/mavit/poly-ansible")
12059 (commit commit)))
12060 (file-name (git-file-name name version))
12061 (sha256
12062 (base32
12063 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
12064 (build-system emacs-build-system)
12065 (propagated-inputs
12066 `(("emacs-ansible-doc" ,emacs-ansible-doc)
12067 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
12068 ("emacs-polymode" ,emacs-polymode)
12069 ("emacs-yaml-mode" ,emacs-yaml-mode)))
12070 (properties '((upstream-name . "poly-ansible")))
12071 (home-page "https://gitlab.com/mavit/poly-ansible/")
12072 (synopsis "Polymode for Ansible - Jinja2 in YAML")
12073 (description
12074 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
12075 (license license:gpl3+))))
12076
12077 (define-public emacs-polymode-org
12078 (package
12079 (name "emacs-polymode-org")
12080 (version "0.2")
12081 (source
12082 (origin
12083 (method git-fetch)
12084 (uri (git-reference
12085 (url "https://github.com/polymode/poly-org.git")
12086 (commit (string-append "v" version))))
12087 (file-name (git-file-name name version))
12088 (sha256
12089 (base32
12090 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
12091 (build-system emacs-build-system)
12092 (propagated-inputs
12093 `(("emacs-polymode" ,emacs-polymode)))
12094 (properties '((upstream-name . "poly-org")))
12095 (home-page "https://github.com/polymode/poly-org")
12096 (synopsis "Polymode definitions for Org mode buffers")
12097 (description
12098 "Provides definitions for @code{emacs-polymode} to support
12099 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
12100 native modes of the blocks' languages while remaining inside the primary Org
12101 buffer.")
12102 (license license:gpl3+)))
12103
12104 (define-public eless
12105 (package
12106 (name "eless")
12107 (version "0.3")
12108 (source
12109 (origin
12110 (method git-fetch)
12111 (uri (git-reference
12112 (url "https://github.com/kaushalmodi/eless.git")
12113 (commit (string-append "v" version))))
12114 (file-name (git-file-name name version))
12115 (sha256
12116 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
12117 (build-system trivial-build-system)
12118 (inputs
12119 `(("bash" ,bash)))
12120 (arguments
12121 `(#:modules ((guix build utils))
12122 #:builder
12123 (begin
12124 (use-modules (guix build utils))
12125 (copy-recursively (assoc-ref %build-inputs "source") "source")
12126 (chdir "source")
12127 (substitute* "eless" (("/usr/bin/env bash")
12128 (string-append (assoc-ref %build-inputs "bash")
12129 "/bin/bash")))
12130 (install-file "eless" (string-append %output "/bin"))
12131 (install-file "doc/eless.info" (string-append %output "/share/info"))
12132 #t)))
12133 (home-page "https://github.com/kaushalmodi/eless")
12134 (synopsis "Use Emacs as a paginator")
12135 (description "@code{eless} provides a combination of Bash script
12136 and a minimal Emacs view-mode.
12137
12138 Feautures:
12139
12140 @itemize
12141 @item Independent of a user’s Emacs config.
12142 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
12143 @item Not require an Emacs server to be already running.
12144 @item Syntax highlighting.
12145 @item Org-mode file rendering.
12146 @item @code{man} page viewer.
12147 @item Info viewer.
12148 @item Dired, wdired, (batch edit symbolic links).
12149 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
12150 @item Filter log files lines matching a regexp.
12151 @item Auto-revert log files similar to @code{tail -f}.
12152 @item Quickly change frame and font sizes.
12153 @end itemize\n")
12154 (license license:expat)))
12155
12156 (define-public emacs-evil-matchit
12157 (package
12158 (name "emacs-evil-matchit")
12159 (version "2.3.4")
12160 (source
12161 (origin
12162 (method git-fetch)
12163 (uri (git-reference
12164 (url "https://github.com/redguardtoo/evil-matchit.git")
12165 (commit version)))
12166 (file-name (git-file-name name version))
12167 (sha256
12168 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
12169 (build-system emacs-build-system)
12170 (propagated-inputs
12171 `(("emacs-evil" ,emacs-evil)))
12172 (home-page "https://github.com/redguardtoo/evil-matchit")
12173 (synopsis "Vim matchit ported into Emacs")
12174 (description
12175 "@code{evil-matchit} is a minor mode for jumping between matching tags in
12176 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
12177 (license license:gpl3+)))
12178
12179 (define-public emacs-evil-smartparens
12180 (package
12181 (name "emacs-evil-smartparens")
12182 (version "0.4.0")
12183 (source
12184 (origin
12185 (method git-fetch)
12186 (uri (git-reference
12187 (url "https://github.com/expez/evil-smartparens.git")
12188 (commit version)))
12189 (file-name (git-file-name name version))
12190 (sha256
12191 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
12192 (build-system emacs-build-system)
12193 (propagated-inputs
12194 `(("emacs-evil" ,emacs-evil)
12195 ("emacs-smartparens" ,emacs-smartparens)))
12196 (home-page "https://github.com/expez/evil-smartparens")
12197 (synopsis "Emacs Evil integration for Smartparens")
12198 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
12199 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
12200 emulates Vim features and provides Vim-like key bindings.")
12201 (license license:gpl3+)))
12202
12203 (define-public emacs-evil-quickscope
12204 (package
12205 (name "emacs-evil-quickscope")
12206 (version "0.1.4")
12207 (source
12208 (origin
12209 (method git-fetch)
12210 (uri (git-reference
12211 (url "https://github.com/blorbx/evil-quickscope.git")
12212 (commit (string-append "v" version))))
12213 (file-name (git-file-name name version))
12214 (sha256
12215 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
12216 (build-system emacs-build-system)
12217 (propagated-inputs
12218 `(("emacs-evil" ,emacs-evil)))
12219 (arguments
12220 `(#:tests? #t
12221 #:test-command '("emacs" "--batch"
12222 "-l" "evil-quickscope-tests.el"
12223 "-f" "ert-run-tests-batch-and-exit")))
12224 (home-page "https://github.com/blorbx/evil-quickscope")
12225 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
12226 (description "@code{emacs-evil-quickscope} highlights targets for Evil
12227 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
12228 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
12229 features and provides Vim-like key bindings.")
12230 (license license:gpl3+)))
12231
12232 (define-public emacs-bongo
12233 (package
12234 (name "emacs-bongo")
12235 (version "1.1")
12236 (source
12237 (origin
12238 (method git-fetch)
12239 (uri (git-reference
12240 (url "https://github.com/dbrock/bongo.git")
12241 (commit version)))
12242 (file-name (git-file-name name version))
12243 (sha256
12244 (base32 "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv"))))
12245 (build-system emacs-build-system)
12246 (home-page "https://github.com/dbrock/bongo")
12247 (synopsis "Media player for Emacs")
12248 (description
12249 "This package provides a flexible media player for Emacs. @code{Bongo}
12250 supports multiple backends such as @code{vlc}, @code{mpg123},
12251 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
12252 @code{afplay}.")
12253 (license license:gpl2+)))
12254
12255 (define-public emacs-groovy-modes
12256 (package
12257 (name "emacs-groovy-modes")
12258 (version "2.0")
12259 (source (origin
12260 (method git-fetch)
12261 (uri (git-reference
12262 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
12263 (commit version)))
12264 (file-name (git-file-name name version))
12265 (sha256
12266 (base32
12267 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
12268 (build-system emacs-build-system)
12269 (propagated-inputs
12270 `(("emacs-s" ,emacs-s)))
12271 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
12272 (synopsis "Groovy related modes for Emacs")
12273 (description
12274 "This package provides @code{groovy-mode} for syntax highlighting in
12275 Groovy source files, REPL integration with run-groovy and Grails project
12276 navigation with the grails mode.")
12277 (license license:gpl3+)))
12278
12279 (define-public emacs-org-tree-slide
12280 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
12281 (revision "2"))
12282 (package
12283 (name "emacs-org-tree-slide")
12284 (version (git-version "2.8.4" revision commit))
12285 (source (origin
12286 (method git-fetch)
12287 (uri (git-reference
12288 (url "https://github.com/takaxp/org-tree-slide.git")
12289 (commit commit)))
12290 (sha256
12291 (base32
12292 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
12293 (file-name (git-file-name name version))))
12294 (build-system emacs-build-system)
12295 (home-page "https://github.com/takaxp/org-tree-slide")
12296 (synopsis "Presentation tool for org-mode")
12297 (description
12298 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
12299 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
12300 @kbd{C-<} to jump to the next and previous slide.")
12301 (license license:gpl3+))))
12302
12303 (define-public emacs-scratch-el
12304 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
12305 (revision "1"))
12306 (package
12307 (name "emacs-scratch-el")
12308 (version (git-version "1.2" revision commit))
12309 (source (origin
12310 (method git-fetch)
12311 (uri (git-reference
12312 (url "https://github.com/ieure/scratch-el.git")
12313 (commit commit)))
12314 (file-name (git-file-name name version))
12315 (sha256
12316 (base32
12317 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
12318 (build-system emacs-build-system)
12319 (native-inputs
12320 `(("texinfo" ,texinfo)))
12321 (arguments
12322 '(#:phases
12323 (modify-phases %standard-phases
12324 (add-after 'install 'install-doc
12325 (lambda* (#:key outputs #:allow-other-keys)
12326 (unless (invoke "makeinfo" "scratch.texi")
12327 (error "makeinfo failed"))
12328 (install-file "scratch.info"
12329 (string-append (assoc-ref outputs "out")
12330 "/share/info"))
12331 #t)))))
12332 (home-page "https://github.com/ieure/scratch-el/")
12333 (synopsis "Create scratch buffers with the same mode as current buffer")
12334 (description "Scratch is an extension to Emacs that enables one to create
12335 scratch buffers that are in the same mode as the current buffer. This is
12336 notably useful when working on code in some language; you may grab code into a
12337 scratch buffer, and, by virtue of this extension, do so using the Emacs
12338 formatting rules for that language.")
12339 (license license:bsd-2))))
12340
12341 (define-public emacs-kv
12342 (package
12343 (name "emacs-kv")
12344 (version "0.0.19")
12345 (source
12346 (origin
12347 (method git-fetch)
12348 (uri (git-reference
12349 (url "https://github.com/nicferrier/emacs-kv.git")
12350 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
12351 (file-name (git-file-name name version))
12352 (sha256
12353 (base32
12354 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
12355 (build-system emacs-build-system)
12356 (arguments
12357 `(#:tests? #t
12358 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
12359 "-f" "ert-run-tests-batch-and-exit")))
12360 (home-page "https://github.com/nicferrier/emacs-kv")
12361 (synopsis "Key/Value data structures library for Emacs Lisp")
12362 (description "@code{emacs-kv} is a collection of tools for dealing with
12363 key/value data structures such as plists, alists and hash-tables in Emacs
12364 Lisp.")
12365 (license license:gpl3+)))
12366
12367 (define-public emacs-esxml
12368 (package
12369 (name "emacs-esxml")
12370 (version "0.3.4")
12371 (source (origin
12372 (method git-fetch)
12373 (uri (git-reference
12374 (url "https://github.com/tali713/esxml.git")
12375 (commit version)))
12376 (file-name (git-file-name name version))
12377 (sha256
12378 (base32
12379 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
12380 (build-system emacs-build-system)
12381 (arguments
12382 `(#:phases
12383 (modify-phases %standard-phases
12384 (add-after 'unpack 'fix-sources
12385 (lambda _
12386 ;; See: https://github.com/tali713/esxml/pull/28.
12387 (substitute* "css-lite.el"
12388 ((";;; main interface")
12389 (string-append ";;; main interface\n"
12390 "(require 'cl-lib)"))
12391 (("mapcan")
12392 "cl-mapcan")
12393 (("',\\(cl-mapcan #'process-css-rule rules\\)")
12394 "(cl-mapcan #'process-css-rule ',rules)"))
12395 (substitute* "esxml-form.el"
12396 ((",esxml-form-field-defn")
12397 "#'esxml-form-field-defn"))
12398 ;; See: https://github.com/tali713/esxml/issues/25
12399 (delete-file "esxpath.el")
12400 #t)))))
12401 (propagated-inputs
12402 `(("emacs-kv" ,emacs-kv)))
12403 (home-page "https://github.com/tali713/esxml/")
12404 (synopsis "SXML for EmacsLisp")
12405 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
12406 Simply, this is the easiest way to write HTML or XML in Lisp. This library
12407 uses the native form of XML representation as used by many libraries already
12408 included within Emacs. See @code{esxml-to-xml} for a concise description of
12409 the format.")
12410 (license license:gpl3+)))
12411
12412 (define-public emacs-nov-el
12413 ;; Upstream does not tag releases. Specify raw commit hash matching the
12414 ;; release.
12415 (let ((commit "ea0c835c1b5e6e70293f4bd64e9c89bdc42f8596"))
12416 (package
12417 (name "emacs-nov-el")
12418 (version "0.3.0")
12419 (source
12420 (origin
12421 (method git-fetch)
12422 (uri (git-reference
12423 (url "https://depp.brause.cc/nov.el.git")
12424 (commit commit)))
12425 (file-name (git-file-name name version))
12426 (sha256
12427 (base32 "04phmm14ywgicjsl2bsg6w9rapd71vdkxdp5wp0brj6px27y85jz"))))
12428 (build-system emacs-build-system)
12429 (arguments
12430 `(#:phases
12431 (modify-phases %standard-phases
12432 (add-after 'unpack 'embed-path-to-unzip
12433 (lambda _
12434 (substitute* "nov.el"
12435 (("\\(executable-find \"unzip\"\\)")
12436 (string-append "\"" (which "unzip") "\"")))
12437 #t)))))
12438 (propagated-inputs
12439 `(("emacs-dash" ,emacs-dash)
12440 ("emacs-esxml" ,emacs-esxml)))
12441 (inputs
12442 `(("unzip" ,unzip)))
12443 (home-page "https://depp.brause.cc/nov.el/")
12444 (synopsis "Major mode for reading EPUBs in Emacs")
12445 (description "@code{nov.el} provides a major mode for reading EPUB
12446 documents.
12447
12448 Features:
12449
12450 @itemize
12451 @item Basic navigation (jump to TOC, previous/next chapter)
12452 @item Remembering and restoring the last read position
12453 @item Jump to next chapter when scrolling beyond end
12454 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
12455 @item Hyperlinks to internal and external targets
12456 @item Supports textual and image documents
12457 @item View source of document files
12458 @item Metadata display
12459 @item Image rescaling
12460 @end itemize
12461 ")
12462 (license license:gpl3+))))
12463
12464 (define-public epipe
12465 (package
12466 (name "epipe")
12467 (version "0.1.0")
12468 (source
12469 (origin
12470 (method git-fetch)
12471 (uri (git-reference
12472 (url "https://github.com/cute-jumper/epipe.git")
12473 (commit version)))
12474 (file-name (git-file-name name version))
12475 (sha256
12476 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
12477 (build-system trivial-build-system)
12478 (inputs
12479 `(("bash" ,bash)
12480 ("perl" ,perl)))
12481 (arguments
12482 `(#:modules
12483 ((guix build utils))
12484 #:builder
12485 (begin
12486 (use-modules (guix build utils))
12487 ;; Extract source.
12488 (copy-recursively (assoc-ref %build-inputs "source") "source")
12489 (chdir "source")
12490 ;; Patch shebangs.
12491 (substitute* "epipe"
12492 (("/usr/bin/env bash")
12493 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
12494 (patch-shebang "epipe.pl"
12495 (list (string-append (assoc-ref %build-inputs "perl")
12496 "/bin")))
12497 ;; Install.
12498 (for-each (lambda (file)
12499 (install-file file (string-append %output "/bin")))
12500 '("epipe" "epipe.pl"))
12501 #t)))
12502 (home-page "https://github.com/cute-jumper/epipe")
12503 (synopsis "Pipe to the @code{emacsclient}")
12504 (description "@code{epipe} provides an utility to use your editor in
12505 the pipeline, featuring the support for running @code{emacsclient}.")
12506 (license license:gpl3+)))
12507
12508 (define-public emacs-hcl-mode
12509 (package
12510 (name "emacs-hcl-mode")
12511 (version "0.03")
12512 (source
12513 (origin
12514 (method git-fetch)
12515 (uri (git-reference
12516 (url "https://github.com/syohex/emacs-hcl-mode.git")
12517 (commit version)))
12518 (file-name (git-file-name name version))
12519 (sha256
12520 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
12521 (build-system emacs-build-system)
12522 (home-page "https://github.com/syohex/emacs-hcl-mode")
12523 (synopsis "Major mode for the Hashicorp Configuration Language")
12524 (description
12525 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
12526 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
12527 highlighting and indentation support.")
12528 (license license:gpl3+)))
12529
12530 (define-public emacs-terraform-mode
12531 (package
12532 (name "emacs-terraform-mode")
12533 (version "0.06")
12534 (source
12535 (origin
12536 (method git-fetch)
12537 (uri (git-reference
12538 (url "https://github.com/syohex/emacs-terraform-mode.git")
12539 (commit version)))
12540 (file-name (git-file-name name version))
12541 (sha256
12542 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
12543 (build-system emacs-build-system)
12544 (propagated-inputs
12545 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
12546 (home-page "https://github.com/syohex/emacs-terraform-mode")
12547 (synopsis "Major mode for Terraform")
12548 (description
12549 "@code{emacs-terraform-mode} provides a major mode for working with
12550 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
12551 functionality is inherited from @code{hcl-mode}.")
12552 (license license:gpl3+)))
12553
12554 (define-public emacs-exec-path-from-shell
12555 (package
12556 (name "emacs-exec-path-from-shell")
12557 (version "1.12")
12558 (source
12559 (origin
12560 (method git-fetch)
12561 (uri (git-reference
12562 (url "https://github.com/purcell/exec-path-from-shell")
12563 (commit version)))
12564 (file-name (git-file-name name version))
12565 (sha256
12566 (base32
12567 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
12568 (build-system emacs-build-system)
12569 (home-page "https://github.com/purcell/exec-path-from-shell")
12570 (synopsis "Get environment variables such as @var{PATH} from the shell")
12571 (description
12572 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
12573 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
12574 the like work as expected on systems on which Emacs is not guaranteed to
12575 inherit a login shell's environment variables. It also allows other
12576 environment variables to be retrieved from the shell, so that Emacs will see
12577 the same values you get in a terminal.")
12578 (license license:gpl3+)))
12579
12580 (define-public emacs-frog-menu
12581 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
12582 (revision "1"))
12583 (package
12584 (name "emacs-frog-menu")
12585 (version (git-version "0.2.9" revision commit))
12586 (source
12587 (origin
12588 (method git-fetch)
12589 (uri (git-reference
12590 (url "https://github.com/clemera/frog-menu")
12591 (commit commit)))
12592 (file-name (git-file-name name version))
12593 (sha256
12594 (base32
12595 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
12596 (build-system emacs-build-system)
12597 (propagated-inputs
12598 `(("emacs-posframe" ,emacs-posframe)
12599 ("emacs-avy" ,emacs-avy)))
12600 (home-page "https://github.com/clemera/frog-menu")
12601 (synopsis "Quickly pick items from ad hoc menus")
12602 (description
12603 "This package provides a popup offering a preview of a list of
12604 candidates on which user-defined dispatch actions can act.")
12605 (license license:gpl3+))))
12606
12607 (define-public emacs-frog-jump-buffer
12608 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
12609 (revision "1"))
12610 (package
12611 (name "emacs-frog-jump-buffer")
12612 (version (git-version "0.1.4" revision commit))
12613 (source
12614 (origin
12615 (method git-fetch)
12616 (uri (git-reference
12617 (url "https://github.com/waymondo/frog-jump-buffer")
12618 (commit commit)))
12619 (file-name (git-file-name name version))
12620 (sha256
12621 (base32
12622 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
12623 (build-system emacs-build-system)
12624 (propagated-inputs
12625 `(("emacs-dash" ,emacs-dash)
12626 ("emacs-frog-menu" ,emacs-frog-menu)
12627 ("emacs-avy" ,emacs-avy)))
12628 (home-page "https://github.com/waymondo/frog-jump-buffer")
12629 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
12630 (description
12631 "This package provides a preview window of buffers that can be switched
12632 to with quicklink-style selections.")
12633 (license license:gpl3+))))
12634
12635 (define-public emacs-deft
12636 (package
12637 (name "emacs-deft")
12638 (version "0.8")
12639 (source
12640 (origin
12641 (method git-fetch)
12642 (uri (git-reference
12643 (url "https://github.com/jrblevin/deft.git")
12644 (commit (string-append "v" version))))
12645 (file-name (git-file-name name version))
12646 (sha256
12647 (base32
12648 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
12649 (build-system emacs-build-system)
12650 (home-page "https://jblevins.org/projects/deft/")
12651 (synopsis "Quickly browse, filter, and edit plain text notes")
12652 (description
12653 "Deft is an Emacs mode for quickly browsing, filtering, and editing
12654 directories of plain text notes, inspired by Notational Velocity.")
12655 (license license:bsd-3)))
12656
12657 (define-public emacs-anzu
12658 (package
12659 (name "emacs-anzu")
12660 (version "0.62")
12661 (source
12662 (origin
12663 (method git-fetch)
12664 (uri (git-reference
12665 (url "https://github.com/syohex/emacs-anzu.git")
12666 (commit version)))
12667 (file-name (git-file-name name version))
12668 (sha256
12669 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
12670 (build-system emacs-build-system)
12671 (home-page "https://github.com/syohex/emacs-anzu")
12672 (synopsis "Show number of matches in mode-line while searching")
12673 (description
12674 "Anzu provides a minor mode which displays \"current match/total
12675 matches\" in the mode line in various search modes. This is an Emacs port of
12676 Anzu.zim.")
12677 (license license:gpl3+)))
12678
12679 (define-public emacs-ascii-art-to-unicode
12680 (package
12681 (name "emacs-ascii-art-to-unicode")
12682 (version "1.12")
12683 (source
12684 (origin
12685 (method url-fetch)
12686 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
12687 version ".el"))
12688 (sha256
12689 (base32
12690 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
12691 (build-system emacs-build-system)
12692 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
12693 (synopsis "ASCII to Unicode art converter for Emacs")
12694 (description "This Emacs package provides the commands @command{aa2u} and
12695 @command{aa2u-rectangle}. Both of these commands can be used to convert
12696 simple ASCII art line drawings to Unicode; the former works on the active
12697 region of the buffer, while the latter works on rectangular selections.")
12698 (license license:gpl3+)))
12699
12700 (define-public emacs-emmet-mode
12701 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
12702 (revision "1"))
12703 (package
12704 (name "emacs-emmet-mode")
12705 (version (git-version "1.0.8" revision commit))
12706 (source (origin
12707 (method git-fetch)
12708 (uri (git-reference
12709 (url "https://github.com/smihica/emmet-mode.git")
12710 (commit commit)))
12711 (file-name (git-file-name name version))
12712 (sha256
12713 (base32
12714 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
12715 (build-system emacs-build-system)
12716 (home-page "https://github.com/smihica/emmet-mode")
12717 (synopsis "Unofficial Emmet's support for Emacs")
12718 (description
12719 "Unfold CSS-selector-like expressions to markup. It is intended to be
12720 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
12721 (license license:gpl3+))))
12722
12723 (define-public emacs-ergoemacs-mode
12724 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
12725 (revision "1"))
12726 (package
12727 (name "emacs-ergoemacs-mode")
12728 (version (git-version "5.16.10.12" revision commit))
12729 (source
12730 (origin
12731 (method git-fetch)
12732 (uri (git-reference
12733 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
12734 (commit commit)))
12735 (file-name (git-file-name name version))
12736 (sha256
12737 (base32
12738 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
12739 (build-system emacs-build-system)
12740 (propagated-inputs
12741 `(("emacs-undo-tree" ,emacs-undo-tree)))
12742 (home-page "https://ergoemacs.github.io/")
12743 (synopsis "Emacs mode based on common modern interface and ergonomics")
12744 (description
12745 "This package provides an efficient Emacs keybinding set based on
12746 statistics of command frequency, and supports common shortcuts for open,
12747 close, copy, cut, paste, undo, redo.")
12748 (license license:gpl3+))))
12749
12750 (define-public emacs-password-store
12751 (package
12752 (name "emacs-password-store")
12753 (version "1.7.3")
12754 (source (origin
12755 (method url-fetch)
12756 (uri
12757 (string-append "https://git.zx2c4.com/password-store/snapshot/"
12758 "password-store-" version ".tar.xz"))
12759 (sha256
12760 (base32
12761 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
12762 (build-system emacs-build-system)
12763 (arguments
12764 `(#:phases
12765 (modify-phases %standard-phases
12766 (add-after 'unpack 'extract-el-file
12767 (lambda _
12768 (copy-file "contrib/emacs/password-store.el" "password-store.el")
12769 (delete-file-recursively "contrib")
12770 (delete-file-recursively "man")
12771 (delete-file-recursively "src")
12772 (delete-file-recursively "tests"))))))
12773 (propagated-inputs
12774 `(("emacs-f" ,emacs-f)
12775 ("emacs-s" ,emacs-s)
12776 ("emacs-with-editor" ,emacs-with-editor)
12777 ("password-store" ,password-store)))
12778 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
12779 (synopsis "Password store (pass) support for Emacs")
12780 (description
12781 "This package provides functions for working with pass (\"the
12782 standard Unix password manager\").")
12783 (license license:gpl2+)))
12784
12785 (define-public emacs-auth-source-pass
12786 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
12787 (revision "2"))
12788 (package
12789 (name "emacs-auth-source-pass")
12790 (version (git-version "5.0.0" revision commit))
12791 (source
12792 (origin
12793 (method git-fetch)
12794 (uri (git-reference
12795 (url "https://github.com/DamienCassou/auth-password-store.git")
12796 (commit commit)))
12797 (file-name (git-file-name name version))
12798 (sha256
12799 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
12800 (build-system emacs-build-system)
12801 (arguments
12802 `(#:tests? #t
12803 #:test-command '("emacs" "--batch"
12804 "-L" "."
12805 "-l" "test/auth-source-pass-tests.el"
12806 "-f" "ert-run-tests-batch-and-exit")))
12807 (home-page "https://github.com/DamienCassou/auth-password-store")
12808 (synopsis "Integrate @code{auth-source} with @code{password-store}")
12809 (description "This package helps Emacs integrate with the Unix
12810 @code{password-store} application.")
12811 (license license:gpl3+))))
12812
12813 (define-public emacs-pass
12814 (package
12815 (name "emacs-pass")
12816 (version "2.0")
12817 (source
12818 (origin
12819 (method git-fetch)
12820 (uri (git-reference
12821 (url "https://github.com/NicolasPetton/pass.git")
12822 (commit version)))
12823 (file-name (git-file-name name version))
12824 (sha256
12825 (base32 "0jc8j421mlflspg24jvrqc2n3y5n3cpk3hjy560il8g36xi1049p"))))
12826 (build-system emacs-build-system)
12827 (propagated-inputs
12828 `(("emacs-password-store" ,emacs-password-store)
12829 ("emacs-f" ,emacs-f)))
12830 (home-page "https://github.com/NicolasPetton/pass")
12831 (synopsis "Major mode for @file{password-store.el}")
12832 (description "This is a major mode for managing password-store (pass)
12833 keychains. The keychain entries are displayed in a directory-like structure
12834 and can be consulted and modified.")
12835 (license license:gpl3+)))
12836
12837 (define-public emacs-psc-ide
12838 ;; There is no proper release. The base version is extracted from the
12839 ;; "Version" keyword in the main file.
12840 (let ((commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe")
12841 (revision "1"))
12842 (package
12843 (name "emacs-psc-ide")
12844 (version (git-version "0.1.0" revision commit))
12845 (source
12846 (origin
12847 (method git-fetch)
12848 (uri
12849 (git-reference
12850 (url "https://github.com/purescript-emacs/psc-ide-emacs")
12851 (commit commit)))
12852 (file-name (git-file-name name version))
12853 (sha256
12854 (base32 "0r0fymyai30jimm34z1cmav4wgij8ci6s1d9y7qigygfbbfrdsmj"))))
12855 (build-system emacs-build-system)
12856 (propagated-inputs
12857 `(("emacs-company" ,emacs-company)
12858 ("emacs-dash" ,emacs-dash)
12859 ("emacs-flycheck" ,emacs-flycheck)
12860 ("emacs-let-alist" ,emacs-let-alist)
12861 ("emacs-s" ,emacs-s)
12862 ("emacs-seq" ,emacs-seq)))
12863 (home-page "https://github.com/purescript-emacs/psc-ide-emacs")
12864 (synopsis "Emacs integration for PureScript's psc-ide tool")
12865 (description
12866 "This package provices Emacs integration for @code{psc-ide}, an IDE
12867 protocol for PureScript programming language. It features:
12868
12869 @itemize
12870 @item Completions
12871 @item Type at point
12872 @item Go to definition
12873 @item Automatic imports
12874 @item Case split
12875 @item Build system integration, and
12876 @item Flycheck support
12877 @end itemize")
12878 (license license:gpl3+))))
12879
12880 (define-public emacs-evil-anzu
12881 (package
12882 (name "emacs-evil-anzu")
12883 (version "0.03")
12884 (source
12885 (origin
12886 (method git-fetch)
12887 (uri (git-reference
12888 (url "https://github.com/syohex/emacs-evil-anzu")
12889 (commit version)))
12890 (file-name (git-file-name name version))
12891 (sha256
12892 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
12893 (build-system emacs-build-system)
12894 (propagated-inputs
12895 `(("emacs-evil" ,emacs-evil)
12896 ("emacs-anzu" ,emacs-anzu)))
12897 (home-page "https://github.com/syohex/emacs-evil-anzu")
12898 (synopsis "Anzu for evil-mode")
12899 (description "@code{anzu} provides a minor mode that displays the current
12900 match and total match information in the mode-line in various search modes.")
12901 (license license:gpl3+)))
12902
12903 (define-public emacs-pg
12904 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
12905 (package
12906 (name "emacs-pg")
12907 (version (git-version "0.1" "1" commit))
12908 (source (origin
12909 (method git-fetch)
12910 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
12911 (commit commit)))
12912 (file-name (git-file-name name version))
12913 (sha256
12914 (base32
12915 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
12916 (build-system emacs-build-system)
12917 (home-page "https://github.com/cbbrowne/pg.el")
12918 (synopsis "Emacs Lisp interface for PostgreSQL")
12919 (description
12920 "This package provides an Emacs Lisp interface for PostgreSQL.")
12921 (license license:gpl3+))))
12922
12923 (define-public emacs-cl-generic
12924 (package
12925 (name "emacs-cl-generic")
12926 (version "0.3")
12927 (source
12928 (origin
12929 (method url-fetch)
12930 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
12931 version ".el"))
12932 (sha256
12933 (base32
12934 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
12935 (build-system emacs-build-system)
12936 ;; Byte compilation of the autoload file fails.
12937 (arguments
12938 `(#:phases (modify-phases %standard-phases
12939 (delete 'enable-autoloads-compilation))))
12940 (home-page "https://elpa.gnu.org/packages/seq.html")
12941 (synopsis
12942 "Forward @code{cl-generic} compatibility for Emacs before version 25")
12943 (description "This package provides a subset of the features of the
12944 @code{cl-generic} package introduced in Emacs-25, for use on previous
12945 @code{emacsen}.")
12946 (license license:gpl3+)))
12947
12948 (define-public emacs-finalize
12949 (package
12950 (name "emacs-finalize")
12951 (version "2.0.0")
12952 (source
12953 (origin
12954 (method git-fetch)
12955 (uri (git-reference
12956 (url "https://github.com/skeeto/elisp-finalize.git")
12957 (commit version)))
12958 (file-name (git-file-name name version))
12959 (sha256
12960 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
12961 (build-system emacs-build-system)
12962 (propagated-inputs
12963 `(("emacs-cl-generic" ,emacs-cl-generic)))
12964 (home-page "https://github.com/skeeto/elisp-finalize")
12965 (synopsis "Finalizers for Emacs Lisp")
12966 (description
12967 "This package runs a callback (a finalizer)
12968 after its registered lisp object has been garbage collected. This allows
12969 extra resources, such as buffers and processes, to be cleaned up after the
12970 object has been freed.")
12971 (license license:unlicense)))
12972
12973 (define-public emacs-emacsql
12974 (package
12975 (name "emacs-emacsql")
12976 (version "3.0.0")
12977 (source (origin
12978 (method git-fetch)
12979 (uri (git-reference
12980 (url "https://github.com/skeeto/emacsql.git")
12981 (commit (string-append version))))
12982 (file-name (git-file-name name version))
12983 (sha256
12984 (base32
12985 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
12986 (build-system emacs-build-system)
12987 (arguments
12988 `(#:modules ((guix build emacs-build-system)
12989 (guix build utils)
12990 (guix build emacs-utils)
12991 (srfi srfi-26))
12992 #:phases
12993 (modify-phases %standard-phases
12994 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
12995 (add-before 'install 'patch-elisp-shell-shebangs
12996 (lambda _
12997 (substitute* (find-files "." "\\.el")
12998 (("/bin/sh") (which "sh")))
12999 #t))
13000 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
13001 (lambda _
13002 (setenv "SHELL" "sh")))
13003 (add-after 'setenv-shell 'build-emacsql-sqlite
13004 (lambda _
13005 (invoke "make" "binary" "CC=gcc")))
13006 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
13007 ;; This build phase installs emacs-emacsql binary.
13008 (lambda* (#:key outputs #:allow-other-keys)
13009 (install-file "sqlite/emacsql-sqlite"
13010 (string-append (assoc-ref outputs "out")
13011 "/bin"))
13012 #t))
13013 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
13014 ;; This build phase removes interactive prompts
13015 ;; and makes sure Emacs look for binaries in the right places.
13016 (lambda* (#:key outputs #:allow-other-keys)
13017 (let ((file "emacsql-sqlite.el"))
13018 (chmod file #o644)
13019 (emacs-substitute-sexps file
13020 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
13021 ("(executable-find" (which "gcc"))
13022 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
13023 ;; in the right place.
13024 ("(defvar emacsql-sqlite-executable"
13025 (string-append (assoc-ref outputs "out")
13026 "/bin/emacsql-sqlite"))))))
13027 (replace 'install
13028 (lambda* (#:key outputs #:allow-other-keys)
13029 (let* ((out (assoc-ref outputs "out")))
13030 (install-file "sqlite/emacsql-sqlite"
13031 (string-append out "/bin"))
13032 (for-each (cut install-file <>
13033 (string-append out "/share/emacs/site-lisp"))
13034 (find-files "." "\\.elc*$")))
13035 #t)))))
13036 (inputs
13037 `(("emacs-minimal" ,emacs-minimal)
13038 ("mariadb" ,mariadb "lib")
13039 ("mariadb-dev" ,mariadb "dev")
13040 ("postgresql" ,postgresql)))
13041 (propagated-inputs
13042 `(("emacs-finalize" ,emacs-finalize)
13043 ("emacs-pg" ,emacs-pg)))
13044 (home-page "https://github.com/skeeto/emacsql")
13045 (synopsis "Emacs high-level SQL database front-end")
13046 (description "Any readable Lisp value can be stored as a value in EmacSQL,
13047 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
13048 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
13049 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
13050 (license license:gpl3+)))
13051
13052 (define-public emacs-closql
13053 ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3.
13054 (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef"))
13055 (package
13056 (name "emacs-closql")
13057 (version (git-version "1.0.0" "1" commit))
13058 (source
13059 (origin
13060 (method git-fetch)
13061 (uri (git-reference
13062 (url "https://github.com/emacscollective/closql.git")
13063 (commit commit)))
13064 (file-name (git-file-name name version))
13065 (sha256
13066 (base32
13067 "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"))))
13068 (build-system emacs-build-system)
13069 (propagated-inputs
13070 `(("emacs-emacsql" ,emacs-emacsql)))
13071 (home-page "https://github.com/emacscollective/closql")
13072 (synopsis "Store EIEIO objects using EmacSQL")
13073 (description
13074 "This package stores uniform EIEIO objects in an EmacSQL
13075 database. SQLite is used as backend. This library imposes some restrictions
13076 on what kind of objects can be stored; it isn't intended to store arbitrary
13077 objects. All objects have to share a common superclass and subclasses cannot
13078 add any additional instance slots.")
13079 (license license:gpl3))))
13080
13081 (define-public emacs-epkg
13082 ;; The release version is to old for the current database scheme.
13083 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
13084 (package
13085 (name "emacs-epkg")
13086 (version (git-version "3.0.0" "1" commit))
13087 (source
13088 (origin
13089 (method git-fetch)
13090 (uri (git-reference
13091 (url "https://github.com/emacscollective/epkg.git")
13092 (commit commit)))
13093 (file-name (git-file-name name version))
13094 (sha256
13095 (base32
13096 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
13097 (build-system emacs-build-system)
13098 (propagated-inputs
13099 `(("emacs-closql" ,emacs-closql)
13100 ("emacs-dash" ,emacs-dash)))
13101 (home-page "https://emacsmirror.net")
13102 (synopsis "Browse the Emacsmirror package database")
13103 (description "This package provides access to a local copy of the
13104 Emacsmirror package database. It provides low-level functions for querying
13105 the database and a @file{package.el} user interface for browsing the database.
13106 Epkg itself is not a package manager.
13107
13108 Getting a local copy:
13109
13110 @example
13111 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
13112 cd ~/.emacs.d/epkgs
13113 git submodule init
13114 git config --global url.https://github.com/.insteadOf git@@github.com:
13115 git submodule update
13116 @end example
13117
13118 Some submodule may be missing. In this case Git will prompt for a GitHub user
13119 name and password. To skip it press a @key{Return} key.
13120
13121 You could get a Epkg package list by invoking @code{epkg-list-packages} in
13122 Emacs.")
13123 (license license:gpl3+))))
13124
13125 (define-public emacs-elisp-slime-nav
13126 (package
13127 (name "emacs-elisp-slime-nav")
13128 (version "0.9")
13129 (source
13130 (origin
13131 (method git-fetch)
13132 (uri (git-reference
13133 (url "https://github.com/purcell/elisp-slime-nav.git")
13134 (commit version)))
13135 (file-name (git-file-name name version))
13136 (sha256
13137 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
13138 (build-system emacs-build-system)
13139 (home-page "https://github.com/purcell/elisp-slime-nav")
13140 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
13141 (description
13142 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
13143 in @code{emacs-lisp-mode}, together with an elisp equivalent of
13144 @code{slime-describe-symbol}.")
13145 (license license:gpl3+)))
13146
13147 (define-public emacs-dedicated
13148 (package
13149 (name "emacs-dedicated")
13150 (version "1.0.0")
13151 (source
13152 (origin
13153 (method git-fetch)
13154 (uri (git-reference
13155 (url "https://github.com/emacsorphanage/dedicated.git")
13156 (commit version)))
13157 (file-name (git-file-name name version))
13158 (sha256
13159 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
13160 (build-system emacs-build-system)
13161 (home-page "https://github.com/emacsorphanage/dedicated")
13162 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
13163 (description
13164 "This simple Emacs minor mode allows you to toggle a window's
13165 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
13166 files into that window. This can be quite handy since many commands will use
13167 another window to show results (compilation mode, starting info, and so on).
13168 A dedicated window won't be used for such a purpose. For details, please read
13169 the source file.")
13170 (license license:gpl2+)))
13171
13172 (define-public emacs-nnreddit
13173 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
13174 (revision "1"))
13175 (package
13176 (name "emacs-nnreddit")
13177 (version (string-append "0.0.1-" revision "."
13178 (string-take commit 7)))
13179 (source (origin
13180 (method git-fetch)
13181 (uri (git-reference
13182 (url "https://github.com/paul-issartel/nnreddit.git")
13183 (commit commit)))
13184 (file-name (git-file-name name version))
13185 (sha256
13186 (base32
13187 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
13188 (build-system emacs-build-system)
13189 (home-page "https://github.com/paul-issartel/nnreddit")
13190 (synopsis "Reddit backend for the Gnus newsreader")
13191 (description "@url{https://www.reddit.com} backend for the Gnus
13192 newsreader.")
13193 (license license:gpl3+))))
13194
13195 (define-public emacs-makey
13196 (package
13197 (name "emacs-makey")
13198 (version "0.3")
13199 (source
13200 (origin
13201 (method git-fetch)
13202 (uri (git-reference
13203 (url "https://github.com/mickeynp/makey.git")
13204 (commit version)))
13205 (file-name (git-file-name name version))
13206 (sha256
13207 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
13208 (build-system emacs-build-system)
13209 (home-page "https://github.com/mickeynp/makey")
13210 (synopsis "Emacs interactive command-line mode")
13211 (description
13212 "This package provides an Emacs interactive command-line mode.")
13213 (license license:gpl3+)))
13214
13215 (define-public emacs-outorg
13216 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
13217 (package
13218 (name "emacs-outorg")
13219 (version (git-version "2.0" "1" commit))
13220 (source
13221 (origin
13222 (method git-fetch)
13223 (uri (git-reference
13224 (url "https://github.com/alphapapa/outorg")
13225 (commit commit)))
13226 (file-name (git-file-name name version))
13227 (sha256
13228 (base32
13229 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
13230 (build-system emacs-build-system)
13231 (home-page "https://github.com/alphapapa/outorg")
13232 (synopsis "Org-style comment editing")
13233 (description "Outorg is for editing comment-sections of source-code
13234 files in temporary Org-mode buffers. It turns conventional
13235 literate-programming upside-down in that the default mode is the
13236 programming-mode, and special action has to be taken to switch to the
13237 text-mode (i.e. Org-mode).")
13238 (license license:gpl3+))))
13239
13240 (define-public emacs-outshine
13241 (package
13242 (name "emacs-outshine")
13243 (version "3.0.1")
13244 (source (origin
13245 (method git-fetch)
13246 (uri (git-reference
13247 (url "https://github.com/alphapapa/outshine.git")
13248 (commit (string-append "v" version))))
13249 (file-name (git-file-name name version))
13250 (sha256
13251 (base32
13252 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
13253 (build-system emacs-build-system)
13254 (propagated-inputs
13255 `(("emacs-outorg" ,emacs-outorg)))
13256 (home-page "https://github.com/alphapapa/outshine")
13257 (synopsis "Emacs outline with outshine")
13258 (description "Outshine attempts to bring the look and feel of
13259 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
13260 of @code{outline-minor-mode} (@code{org-mode} itself derives from
13261 outline-mode), so there is no such thing like an outshine mode, only
13262 @code{outline-minor-mode} with outshine extensions loaded.")
13263 (license license:gpl3+)))
13264
13265 (define-public emacs-frecency
13266 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
13267 (version "0.1-pre")
13268 (revision "1"))
13269 (package
13270 (name "emacs-frecency")
13271 (version (git-version version revision commit))
13272 (source (origin
13273 (method git-fetch)
13274 (uri (git-reference
13275 (url "https://github.com/alphapapa/frecency.el")
13276 (commit commit)))
13277 (sha256
13278 (base32
13279 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
13280 (file-name (git-file-name name version))))
13281 (build-system emacs-build-system)
13282 (propagated-inputs
13283 `(("emacs-a" ,emacs-a)
13284 ("emacs-dash" ,emacs-dash)))
13285 (home-page "https://github.com/alphapapa/frecency.el")
13286 (synopsis "Sort items by frequency and recency of access")
13287 (description "This package provides a way of sorting items via
13288 a heuristic based on frequency and recency.")
13289 (license license:gpl3+))))
13290
13291 (define-public emacs-org-recent-headings
13292 (package
13293 (name "emacs-org-recent-headings")
13294 (version "0.1")
13295 (source (origin
13296 (method git-fetch)
13297 (uri (git-reference
13298 (url "https://github.com/alphapapa/org-recent-headings.git")
13299 (commit version)))
13300 (file-name (git-file-name name version))
13301 (sha256
13302 (base32
13303 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
13304 (build-system emacs-build-system)
13305 (propagated-inputs
13306 `(("emacs-org" ,emacs-org)
13307 ("emacs-dash" ,emacs-dash)
13308 ("emacs-frecency" ,emacs-frecency)))
13309 (home-page "https://github.com/alphapapa/org-recent-headings")
13310 (synopsis "Navigate to recently used Org headings and lists")
13311 (description "This package maintains a list of recently used Org headings,
13312 as well as functions for navigating between these headings.")
13313 (license license:gpl3+)))
13314
13315 (define-public emacs-org-super-agenda
13316 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
13317 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
13318 (revision "3"))
13319 (package
13320 (name "emacs-org-super-agenda")
13321 (version (git-version "1.1.1" revision commit))
13322 (source (origin
13323 (method git-fetch)
13324 (uri (git-reference
13325 (url "https://github.com/alphapapa/org-super-agenda")
13326 (commit commit)))
13327 (file-name (git-file-name name version))
13328 (sha256
13329 (base32
13330 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
13331 (build-system emacs-build-system)
13332 (propagated-inputs
13333 `(("emacs-org" ,emacs-org)
13334 ("emacs-dash" ,emacs-dash)
13335 ("emacs-ts" ,emacs-ts)
13336 ("emacs-ht" ,emacs-ht)
13337 ("emacs-s" ,emacs-s)))
13338 (home-page "https://github.com/alphapapa/org-super-agenda")
13339 (synopsis "Supercharged Org agenda")
13340 (description "This package allows items in the Org agenda to be grouped
13341 into sections while preserving the structure imposed by any timestamps.")
13342 (license license:gpl3+))))
13343
13344 (define-public emacs-org-make-toc
13345 (package
13346 (name "emacs-org-make-toc")
13347 (version "0.5")
13348 (source (origin
13349 (method git-fetch)
13350 (uri (git-reference
13351 (url "https://github.com/alphapapa/org-make-toc")
13352 (commit version)))
13353 (file-name (git-file-name name version))
13354 (sha256
13355 (base32
13356 "180ji6nnj6qj0rs1rdp1zlcrfsqf7ikb44ym8icbp5d6al2s4hnr"))))
13357 (build-system emacs-build-system)
13358 (propagated-inputs
13359 `(("emacs-org" ,emacs-org)
13360 ("emacs-dash" ,emacs-dash)
13361 ("emacs-s" ,emacs-s)))
13362 (home-page "https://github.com/alphapapa/org-make-toc")
13363 (synopsis "Maintain a table of contents for an Org file")
13364 (description "This package facilitates the creation and maintenance of
13365 tables of contents.")
13366 (license license:gpl3+)))
13367
13368 (define-public emacs-ts
13369 (package
13370 (name "emacs-ts")
13371 (version "0.2")
13372 (source
13373 (origin
13374 (method git-fetch)
13375 (uri (git-reference
13376 (url "https://github.com/alphapapa/ts.el")
13377 (commit version)))
13378 (sha256
13379 (base32 "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb"))
13380 (file-name (git-file-name name version))))
13381 (build-system emacs-build-system)
13382 (propagated-inputs
13383 `(("emacs-s" ,emacs-s)
13384 ("emacs-dash" ,emacs-dash)))
13385 (arguments
13386 ;; XXX: Three tests are failing because of a timezone-related issue
13387 ;; with how they're written. On my machine, all the failing test
13388 ;; results are 18000 seconds (5 hours) off.
13389
13390 ;; The ts-parse-org function accepts a string without any timezone
13391 ;; info, not assumed to be in Unix time, and converts it to a so-called
13392 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
13393 ;; then seems to assume the struct's corresponding time is in terms of
13394 ;; the user's current time zone, before returning a Unix time in
13395 ;; seconds.
13396
13397 ;; The failing tests all have similar problems, but nothing else about
13398 ;; the library seems particularly off.
13399
13400 `(#:tests? #t
13401 #:test-command '("emacs" "--batch"
13402 "-l" "test/test.el"
13403 "-f" "ert-run-tests-batch-and-exit")
13404 #:phases
13405 (modify-phases %standard-phases
13406 (add-before 'check 'make-tests-writable
13407 (lambda _
13408 (make-file-writable "test/test.el")
13409 #t))
13410 (add-before 'check 'delete-failing-tests
13411 (lambda _
13412 (emacs-batch-edit-file "test/test.el"
13413 `(progn (progn
13414 (goto-char (point-min))
13415 (dolist (test-regexp
13416 '("ert-deftest ts-format"
13417 "ert-deftest ts-parse-org\\_>"
13418 "ert-deftest ts-parse-org-element"
13419 "ert-deftest ts-update"))
13420 (re-search-forward test-regexp)
13421 (beginning-of-line)
13422 (kill-sexp)))
13423 (basic-save-buffer)))
13424 #t)))))
13425 (home-page "https://github.com/alphapapa/ts.el")
13426 (synopsis "Timestamp and date/time library")
13427 (description "This package facilitates manipulating dates, times, and
13428 timestamps by providing a @code{ts} struct.")
13429 (license license:gpl3+)))
13430
13431 (define-public emacs-peg
13432 (package
13433 (name "emacs-peg")
13434 (version "0.6")
13435 (source (origin
13436 (method git-fetch)
13437 (uri (git-reference
13438 (url "https://github.com/emacsmirror/peg")
13439 (commit version)))
13440 (sha256
13441 (base32
13442 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
13443 (file-name (git-file-name name version))))
13444 (build-system emacs-build-system)
13445 (home-page "https://github.com/emacsmirror/peg/")
13446 (synopsis "Parsing Expression Grammars in Elisp")
13447 (description "This package provides a macro that parses the current buffer
13448 according to a parsing expression grammar.")
13449 (license license:gpl3+)))
13450
13451 (define-public emacs-org-ql
13452 (package
13453 (name "emacs-org-ql")
13454 (version "0.3.2")
13455 (source (origin
13456 (method git-fetch)
13457 (uri (git-reference
13458 (url "https://github.com/alphapapa/org-ql")
13459 (commit version)))
13460 (sha256
13461 (base32
13462 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
13463 (file-name (git-file-name name version))))
13464 (build-system emacs-build-system)
13465 (propagated-inputs
13466 `(("emacs-s" ,emacs-s)
13467 ("emacs-f" ,emacs-f)
13468 ("emacs-ov" ,emacs-ov)
13469 ("emacs-peg" ,emacs-peg)
13470 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
13471 ("emacs-ts" ,emacs-ts)
13472 ("emacs-org" ,emacs-org)
13473 ("emacs-helm" ,emacs-helm)
13474 ("emacs-helm-org" ,emacs-helm-org)
13475 ("emacs-dash" ,emacs-dash)))
13476 (native-inputs
13477 `(("emacs-buttercup" ,emacs-buttercup)))
13478 (arguments
13479 `(#:phases
13480 (modify-phases %standard-phases
13481 (add-after 'unpack 'require-helm
13482 (lambda _
13483 (substitute* "helm-org-ql.el"
13484 (("^;;;; Requirements")
13485 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
13486 #t)))
13487 #:tests? #t
13488 #:test-command '("buttercup" "-L" ".")))
13489 (home-page "https://github.com/alphapapa/org-ql/")
13490 (synopsis "Query language for Org buffers")
13491 (description "This package provides a Lispy query language for Org
13492 files, allowing for actions to be performed based on search criteria.")
13493 (license license:gpl3+)))
13494
13495 (define-public emacs-org-auto-expand
13496 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
13497 (revision "1"))
13498 (package
13499 (name "emacs-org-auto-expand")
13500 (version (git-version "0.1" revision commit))
13501 (source (origin
13502 (method git-fetch)
13503 (uri (git-reference
13504 (url "https://github.com/alphapapa/org-auto-expand")
13505 (commit commit)))
13506 (file-name (git-file-name name version))
13507 (sha256
13508 (base32
13509 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
13510 (build-system emacs-build-system)
13511 (propagated-inputs
13512 `(("emacs-org" ,emacs-org)
13513 ("emacs-dash" ,emacs-dash)))
13514 (home-page "https://github.com/alphapapa/org-auto-expand")
13515 (synopsis "Automatically expand certain Org headings")
13516 (description "This package allows a customizable set of headings in Org
13517 files to be expanded upon opening them.")
13518 (license license:gpl3+))))
13519
13520 (define-public emacs-parsebib
13521 (package
13522 (name "emacs-parsebib")
13523 (version "2.3.3")
13524 (source
13525 (origin
13526 (method git-fetch)
13527 (uri (git-reference
13528 (url "https://github.com/joostkremers/parsebib.git")
13529 (commit version)))
13530 (file-name (git-file-name name version))
13531 (sha256
13532 (base32 "0mpgyy9qfb5x4fvlmb274hgayjbwf0bgk65dxyx31zikjwpcd56p"))))
13533 (build-system emacs-build-system)
13534 (home-page "https://github.com/joostkremers/parsebib")
13535 (synopsis "Library for parsing @file{.bib} files")
13536 (description
13537 "This package provides an Emacs library for parsing @file{.bib} files.")
13538 (license license:gpl3+)))
13539
13540 (define-public emacs-ebib
13541 (package
13542 (name "emacs-ebib")
13543 (version "2.22.1")
13544 (source
13545 (origin
13546 (method git-fetch)
13547 (uri (git-reference
13548 (url "https://github.com/joostkremers/ebib.git")
13549 (commit version)))
13550 (file-name (git-file-name name version))
13551 (sha256
13552 (base32 "0spiz5r2y4pdpyc4d3f9w228giq0j9rm8f5h5akzn5rwiq9pfkwz"))))
13553 (build-system emacs-build-system)
13554 (propagated-inputs
13555 `(("emacs-parsebib" ,emacs-parsebib)))
13556 (home-page "https://joostkremers.github.io/ebib/")
13557 (synopsis "BibTeX database manager for Emacs")
13558 (description
13559 "Ebib is a BibTeX database manager that runs in GNU Emacs.
13560 With Ebib you can create, sort and manage your @file{.bib} database files, all
13561 within Emacs. It supports searching, multi-line field values and
13562 @samp{@@String} and @samp{@@Preamble} definitions. Ebib integrates
13563 with (La)TeX mode, Org mode and other Emacs editing modes.")
13564 ;; The Ebib source files are released under a BSD license with
13565 ;; the exception of org-ebib.el, which is released under the GNU
13566 ;; GPL.
13567 (license (list license:bsd-3
13568 license:gpl3+))))
13569
13570 (define-public emacs-biblio
13571 (package
13572 (name "emacs-biblio")
13573 (version "0.2")
13574 (source
13575 (origin
13576 (method git-fetch)
13577 (uri (git-reference
13578 (url "https://github.com/cpitclaudel/biblio.el.git")
13579 (commit version)))
13580 (file-name (git-file-name name version))
13581 (sha256
13582 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
13583 (build-system emacs-build-system)
13584 (propagated-inputs
13585 `(("emacs-seq" ,emacs-seq)
13586 ("emacs-dash" ,emacs-dash)
13587 ("emacs-let-alist" ,emacs-let-alist)))
13588 (home-page "https://github.com/cpitclaudel/biblio.el")
13589 (synopsis "Browse and import bibliographic references")
13590 (description "This package provides an extensible Emacs package for
13591 browsing and fetching references.
13592
13593 @file{biblio.el} makes it easy to browse and gather bibliographic references
13594 and publications from various sources, by keywords or by DOI. References are
13595 automatically fetched from well-curated sources, and formatted as BibTeX.")
13596 (license license:gpl3+)))
13597
13598 (define-public emacs-helm-bibtex
13599 (let ((commit "d4471232be26793fbf56c0ac3690b5f537c378b9")
13600 (revision "2"))
13601 (package
13602 (name "emacs-helm-bibtex")
13603 (version (string-append "2.0.0" "-" revision "."
13604 (string-take commit 7)))
13605 (source
13606 (origin
13607 (method git-fetch)
13608 (uri (git-reference
13609 (url "https://github.com/tmalsburg/helm-bibtex.git")
13610 (commit commit)))
13611 (file-name (git-file-name name version))
13612 (sha256
13613 (base32
13614 "1bkzhic6qckb267025il1r3xcpz99kisphxiafni1pxvf9jafr0j"))))
13615 (build-system emacs-build-system)
13616 (propagated-inputs
13617 `(("emacs-helm" ,emacs-helm)
13618 ("emacs-parsebib" ,emacs-parsebib)
13619 ("emacs-s" ,emacs-s)
13620 ("emacs-dash" ,emacs-dash)
13621 ("emacs-f" ,emacs-f)
13622 ("emacs-biblio" ,emacs-biblio)
13623 ("emacs-ivy" ,emacs-ivy)))
13624 (home-page "https://github.com/tmalsburg/helm-bibtex")
13625 (synopsis "Bibliography manager based on Helm")
13626 (description "This package provides bibliography manager for Emacs,
13627 based on Helm and the bibtex-completion backend.
13628
13629 Key features:
13630
13631 @itemize
13632 @item Quick access to your bibliography from within Emacs
13633 @item Powerful search capabilities
13634 @item Provides instant search results as you type
13635 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
13636 @item Open the PDFs, URLs, or DOIs associated with an entry
13637 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
13638 BibTeX entries, or plain text references at point, attach PDFs to emails
13639 @item Support for note taking
13640 @item Quick access to online bibliographic databases such as Pubmed,
13641 arXiv, Google Scholar, Library of Congress, etc.
13642 @item Imports BibTeX entries from CrossRef and other sources.
13643 @end itemize\n")
13644 (license license:gpl3+))))
13645
13646 (define-public emacs-ewmctrl
13647 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
13648 (package
13649 (name "emacs-ewmctrl")
13650 (version (git-version "0.0.1" "1" commit))
13651 (source
13652 (origin
13653 (method git-fetch)
13654 (uri (git-reference
13655 (url "https://github.com/flexibeast/ewmctrl.git")
13656 (commit commit)))
13657 (file-name (git-file-name name version))
13658 (sha256
13659 (base32
13660 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
13661 (build-system emacs-build-system)
13662 (arguments
13663 '(#:phases
13664 (modify-phases %standard-phases
13665 (add-after 'unpack 'patch-ewmctrl
13666 ;; This build phase makes sure ‘ewmctrl’ looks
13667 ;; for ‘wmctrl’ in the right place.
13668 (lambda _
13669 (let ((file "ewmctrl.el"))
13670 (chmod file #o644)
13671 (emacs-substitute-sexps file
13672 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
13673 (inputs
13674 `(("wmctrl" ,wmctrl)))
13675 (home-page "https://github.com/flexibeast/ewmctrl")
13676 (synopsis "Emacs interface to @code{wmctrl}")
13677 (description "@code{ewmctrl} provides an Emacs interface to
13678 @code{wmctrl} command-line window-management program.")
13679 (license license:gpl3+))))
13680
13681 (define-public emacs-erc-image
13682 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
13683 (revision "1"))
13684 (package
13685 (name "emacs-erc-image")
13686 (version (git-version "0" revision commit))
13687 (source
13688 (origin
13689 (method git-fetch)
13690 (uri (git-reference
13691 (url "https://github.com/kidd/erc-image.el")
13692 (commit commit)))
13693 (file-name (git-file-name name version))
13694 (sha256
13695 (base32
13696 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
13697 (build-system emacs-build-system)
13698 (home-page "https://github.com/kidd/erc-image.el")
13699 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
13700 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
13701 and @code{erc-send-modify-hook} to download and show images.")
13702 (license license:gpl3+))))
13703
13704 (define-public emacs-helm-gtags
13705 (package
13706 (name "emacs-helm-gtags")
13707 (version "1.5.6")
13708 (source
13709 (origin
13710 (method git-fetch)
13711 (uri (git-reference
13712 (url "https://github.com/syohex/emacs-helm-gtags.git")
13713 (commit version)))
13714 (file-name (git-file-name name version))
13715 (sha256
13716 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
13717 (build-system emacs-build-system)
13718 (propagated-inputs
13719 `(("emacs-helm" ,emacs-helm)))
13720 (home-page "https://github.com/syohex/emacs-helm-gtags")
13721 (synopsis "Emacs Helm interface to GNU Global")
13722 (description
13723 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
13724 (license license:gpl3+)))
13725
13726 (define-public emacs-list-utils
13727 (package
13728 (name "emacs-list-utils")
13729 (version "0.4.4")
13730 (source
13731 (origin
13732 (method git-fetch)
13733 (uri (git-reference
13734 (url "https://github.com/rolandwalker/list-utils.git")
13735 (commit (string-append "v" version))))
13736 (file-name (git-file-name name version))
13737 (sha256
13738 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
13739 (build-system emacs-build-system)
13740 (home-page "https://github.com/rolandwalker/list-utils")
13741 (synopsis "List-manipulation utility functions")
13742 (description "This package provides a list manipulation library for Emacs.")
13743 (license license:gpl3+)))
13744
13745 (define-public emacs-move-text
13746 (package
13747 (name "emacs-move-text")
13748 (version "2.0.8")
13749 (source
13750 (origin
13751 (method git-fetch)
13752 (uri (git-reference
13753 (url "https://github.com/emacsfodder/move-text.git")
13754 (commit version)))
13755 (file-name (git-file-name name version))
13756 (sha256
13757 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
13758 (build-system emacs-build-system)
13759 (home-page "https://github.com/emacsfodder/move-text")
13760 (synopsis "Move current line or region with M-up or M-down")
13761 (description "This package provide functions to move the current line
13762 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
13763 region instead.")
13764 (license license:gpl3+)))
13765
13766 (define-public emacs-validate
13767 (package
13768 (name "emacs-validate")
13769 (version "1.0.5")
13770 (source (origin
13771 (method git-fetch)
13772 (uri (git-reference
13773 (url "https://github.com/Malabarba/validate.el")
13774 (commit version)))
13775 (file-name (git-file-name name version))
13776 (sha256
13777 (base32
13778 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
13779 (build-system emacs-build-system)
13780 (home-page "https://github.com/Malabarba/validate.el")
13781 (synopsis "Emacs library for scheme validation")
13782 (description "This Emacs library provides two functions that perform
13783 schema validation.")
13784 (license license:gpl3+)))
13785
13786 (define-public emacs-rainbow-blocks
13787 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
13788 (package
13789 (name "emacs-rainbow-blocks")
13790 (version (git-version "1.0.0" "1" commit))
13791 (source (origin
13792 (method git-fetch)
13793 (uri (git-reference
13794 (url "https://github.com/istib/rainbow-blocks.git")
13795 (commit commit)))
13796 (file-name (git-file-name name version))
13797 (sha256
13798 (base32
13799 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
13800 (build-system emacs-build-system)
13801 (home-page "https://github.com/istib/rainbow-blocks")
13802 (synopsis "Highlight sexp blocks")
13803 (description "Rainbow-blocks is an Emacs mode that highlights blocks
13804 made of parentheses, brackets, and braces according to their depth. Each
13805 successive level is highlighted in a different color. This makes it easy to
13806 orient yourself in the code, and tell which statements are at a given level.")
13807 (license license:gpl3+))))
13808
13809 (define-public emacs-hierarchy
13810 (package
13811 (name "emacs-hierarchy")
13812 (version "0.7.0")
13813 (source
13814 (origin
13815 (method git-fetch)
13816 (uri (git-reference
13817 (url "https://github.com/DamienCassou/hierarchy.git")
13818 (commit (string-append "v" version))))
13819 (file-name (git-file-name name version))
13820 (sha256
13821 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
13822 (build-system emacs-build-system)
13823 (native-inputs
13824 `(("emacs-buttercup" ,emacs-buttercup)))
13825 (arguments
13826 `(#:tests? #t
13827 #:test-command '("buttercup" "-L" ".")))
13828 (home-page "https://github.com/DamienCassou/hierarchy")
13829 (synopsis "Library to create and display hierarchy structures")
13830 (description "This package provides an Emacs library to create, query,
13831 navigate and display hierarchy structures.")
13832 (license license:gpl3+)))
13833
13834 (define-public emacs-tree-mode
13835 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
13836 (revision "1"))
13837 (package
13838 (name "emacs-tree-mode")
13839 (version (string-append "0.0.1" "-" revision "."
13840 (string-take commit 7)))
13841 (source
13842 (origin
13843 (method git-fetch)
13844 (uri (git-reference
13845 (url "https://github.com/emacsorphanage/tree-mode.git")
13846 (commit commit)))
13847 (file-name (git-file-name name version))
13848 (sha256
13849 (base32
13850 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
13851 (build-system emacs-build-system)
13852 (home-page "https://github.com/emacsorphanage/tree-mode")
13853 (synopsis "Emacs mode to manage tree widgets")
13854 (description
13855 "This package provides an Emacs library to manage tree widgets.")
13856 (license license:gpl3+))))
13857
13858 (define-public emacs-md4rd
13859 (package
13860 (name "emacs-md4rd")
13861 (version "0.3.1")
13862 (source (origin
13863 (method git-fetch)
13864 (uri (git-reference
13865 (url "https://github.com/ahungry/md4rd.git")
13866 (commit version)))
13867 (file-name (git-file-name name version))
13868 (sha256
13869 (base32
13870 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
13871 (propagated-inputs
13872 `(("emacs-hierarchy" ,emacs-hierarchy)
13873 ("emacs-request" ,emacs-request)
13874 ("emacs-dash" ,emacs-dash)
13875 ("emacs-s" ,emacs-s)
13876 ("emacs-tree-mode" ,emacs-tree-mode)))
13877 (build-system emacs-build-system)
13878 (home-page "https://github.com/ahungry/md4rd")
13879 (synopsis "Emacs Mode for Reddit")
13880 (description
13881 "This package allows reading Reddit from within Emacs interactively.")
13882 (license license:gpl3+)))
13883
13884 (define-public emacs-pulseaudio-control
13885 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
13886 (revision "3"))
13887 (package
13888 (name "emacs-pulseaudio-control")
13889 (version (git-version "0.0.1" revision commit))
13890 (source
13891 (origin
13892 (method git-fetch)
13893 (uri (git-reference
13894 (url "https://github.com/flexibeast/pulseaudio-control.git")
13895 (commit commit)))
13896 (file-name (git-file-name name version))
13897 (sha256
13898 (base32
13899 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
13900 (build-system emacs-build-system)
13901 (arguments
13902 '(#:phases (modify-phases %standard-phases
13903 (add-after 'unpack 'patch-file-name
13904 (lambda* (#:key inputs #:allow-other-keys)
13905 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
13906 (chmod "pulseaudio-control.el" #o600)
13907 (emacs-substitute-variables "pulseaudio-control.el"
13908 ("pulseaudio-control-pactl-path"
13909 (string-append pulseaudio "/bin/pactl")))
13910 #t))))))
13911 (inputs `(("pulseaudio" ,pulseaudio)))
13912 (home-page "https://github.com/flexibeast/pulseaudio-control")
13913 (synopsis "Control @code{pulseaudio} from Emacs")
13914 (description
13915 "This package allows controlling @code{pulseaudio} from Emacs.")
13916 (license license:gpl3+))))
13917
13918 (define-public emacs-datetime
13919 (package
13920 (name "emacs-datetime")
13921 (version "0.3")
13922 (source
13923 (origin
13924 (method git-fetch)
13925 (uri (git-reference
13926 (url "https://github.com/doublep/datetime.git")
13927 (commit version)))
13928 (file-name (git-file-name name version))
13929 (sha256
13930 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
13931 (build-system emacs-build-system)
13932 (home-page "https://github.com/doublep/datetime/")
13933 (synopsis "Library to work with dates in Emacs")
13934 (description "Parsing, formatting, matching and recoding
13935 timestamps and date-time format strings library for Emacs.")
13936 (license license:gpl3+)))
13937
13938 (define-public emacs-org-mind-map
13939 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
13940 (revision "1"))
13941 (package
13942 (name "emacs-org-mind-map")
13943 (version (string-append "0.0.1" "-" revision "."
13944 (string-take commit 7)))
13945 (source
13946 (origin
13947 (method git-fetch)
13948 (uri (git-reference
13949 (url "https://github.com/theodorewiles/org-mind-map.git")
13950 (commit commit)))
13951 (file-name (git-file-name name version))
13952 (sha256
13953 (base32
13954 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
13955 (propagated-inputs
13956 `(("emacs-dash" ,emacs-dash)))
13957 (build-system emacs-build-system)
13958 (home-page "https://github.com/theodorewiles/org-mind-map")
13959 (synopsis "Create Graphviz directed graphs from Org files")
13960 (description
13961 "This package creates Graphviz directed graphs from Org files.")
13962 (license license:gpl3+))))
13963
13964 (define-public emacs-npm-mode
13965 (package
13966 (name "emacs-npm-mode")
13967 (version "0.6.0")
13968 (source
13969 (origin
13970 (method git-fetch)
13971 (uri (git-reference
13972 (url "https://github.com/mojochao/npm-mode.git")
13973 (commit version)))
13974 (file-name (git-file-name name version))
13975 (sha256
13976 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
13977 (build-system emacs-build-system)
13978 (home-page "https://github.com/mojochao/npm-mode")
13979 (synopsis "Minor mode for working with @code{npm} projects")
13980 (description
13981 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
13982 (license license:gpl3+)))
13983
13984 (define-public emacs-seq
13985 (package
13986 (name "emacs-seq")
13987 (version "2.20")
13988 (source
13989 (origin
13990 (method url-fetch)
13991 (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar"))
13992 (sha256
13993 (base32
13994 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
13995 (build-system emacs-build-system)
13996 (home-page "https://elpa.gnu.org/packages/seq.html")
13997 (synopsis "Sequence manipulation functions")
13998 (description "Sequence-manipulation functions that complement basic
13999 functions provided by @file{subr.el}.")
14000 (license license:gpl3+)))
14001
14002 (define-public emacs-itail
14003 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
14004 (revision "1"))
14005 (package
14006 (name "emacs-itail")
14007 (version (string-append "0.0.1" "-" revision "."
14008 (string-take commit 7)))
14009 (source
14010 (origin
14011 (method git-fetch)
14012 (uri (git-reference
14013 (url "https://github.com/re5et/itail.git")
14014 (commit commit)))
14015 (file-name (git-file-name name version))
14016 (sha256
14017 (base32
14018 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
14019 (build-system emacs-build-system)
14020 (home-page "https://github.com/re5et/itail")
14021 (synopsis "Interactive @code{tail} Emacs mode")
14022 (description "@code{itail} provides interactive @code{tail} mode
14023 that allows you to filter the tail with unix pipes and highlight the
14024 contents of the tailed file. Works locally or on remote files using
14025 tramp.")
14026 (license license:gpl3+))))
14027
14028 (define-public emacs-loop
14029 (package
14030 (name "emacs-loop")
14031 (version "1.3")
14032 (source
14033 (origin
14034 (method git-fetch)
14035 (uri (git-reference
14036 (url "https://github.com/Wilfred/loop.el.git")
14037 (commit version)))
14038 (file-name (git-file-name name version))
14039 (sha256
14040 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
14041 (build-system emacs-build-system)
14042 (native-inputs
14043 `(("emacs-ert-runner" ,emacs-ert-runner)
14044 ("emacs-undercover" ,emacs-undercover)))
14045 (arguments
14046 `(#:tests? #t
14047 #:test-command '("ert-runner")))
14048 (home-page "https://github.com/Wilfred/loop.el")
14049 (synopsis "Imperative loop structures for Emacs")
14050 (description "Loop structures familiar to users of other languages. This
14051 library adds a selection of popular loop structures as well as break and
14052 continue.")
14053 (license license:gpl3+)))
14054
14055 (define-public emacs-elisp-refs
14056 (package
14057 (name "emacs-elisp-refs")
14058 (version "1.3")
14059 (source
14060 (origin
14061 (method git-fetch)
14062 (uri (git-reference
14063 (url "https://github.com/Wilfred/elisp-refs.git")
14064 (commit version)))
14065 (file-name (git-file-name name version))
14066 (sha256
14067 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
14068 (build-system emacs-build-system)
14069 (propagated-inputs
14070 `(("emacs-dash" ,emacs-dash)
14071 ("emacs-f" ,emacs-f)
14072 ("emacs-list-utils" ,emacs-list-utils)
14073 ("emacs-loop" ,emacs-loop)
14074 ("emacs-s" ,emacs-s)
14075 ("emacs-shut-up" ,emacs-shut-up)))
14076 (native-inputs
14077 `(("emacs-ert-runner" ,emacs-ert-runner)
14078 ("emacs-undercover" ,emacs-undercover)))
14079 (arguments
14080 `(#:tests? #t
14081 #:test-command '("ert-runner")))
14082 (home-page "https://github.com/Wilfred/elisp-refs")
14083 (synopsis "Find callers of elisp functions or macros")
14084 (description "Find references to functions, macros or variables. Unlike a
14085 dumb text search, @code{elisp-refs} actually parses the code, so it's never
14086 confused by comments or @code{foo-bar} matching @code{foo}.")
14087 (license license:gpl3+)))
14088
14089 (define-public emacs-crux
14090 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
14091 (revision "2"))
14092 (package
14093 (name "emacs-crux")
14094 (version (git-version "0.3.0" revision commit))
14095 (source
14096 (origin
14097 (method git-fetch)
14098 (uri (git-reference
14099 (url "https://github.com/bbatsov/crux.git")
14100 (commit commit)))
14101 (file-name (git-file-name name version))
14102 (sha256
14103 (base32
14104 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
14105 (build-system emacs-build-system)
14106 (home-page "https://github.com/bbatsov/crux")
14107 (synopsis "Collection of useful functions for Emacs")
14108 (description
14109 "@code{crux} provides a collection of useful functions for Emacs.")
14110 (license license:gpl3+))))
14111
14112 (define-public emacs-edit-server
14113 (package
14114 (name "emacs-edit-server")
14115 (version "1.13")
14116 (source
14117 (origin
14118 (method git-fetch)
14119 (uri (git-reference
14120 (url "https://github.com/stsquad/emacs_chrome.git")
14121 (commit (string-append "v" version))))
14122 (file-name (git-file-name name version))
14123 (sha256
14124 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
14125 (build-system emacs-build-system)
14126 (arguments
14127 `(#:phases
14128 (modify-phases %standard-phases
14129 (add-after 'unpack 'chdir-elisp
14130 ;; Elisp directory is not in root of the source.
14131 (lambda _
14132 (chdir "servers"))))))
14133 (home-page "https://github.com/stsquad/emacs_chrome")
14134 (synopsis "Server that responds to edit requests from Chromium")
14135 (description
14136 "This package provides an edit server to respond to requests from Emacs.")
14137 (license license:gpl3+)))
14138
14139 (define-public emacs-m-buffer-el
14140 (package
14141 (name "emacs-m-buffer-el")
14142 (version "0.15")
14143 (source
14144 (origin
14145 (method git-fetch)
14146 (uri (git-reference
14147 (url "https://github.com/phillord/m-buffer-el")
14148 (commit (string-append "v" version))))
14149 (file-name (git-file-name name version))
14150 (sha256
14151 (base32
14152 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
14153 (arguments
14154 `(#:phases
14155 (modify-phases %standard-phases
14156 (add-before 'install 'check
14157 (lambda* (#:key inputs #:allow-other-keys)
14158 (invoke "emacs" "--batch" "-L" "."
14159 "-l" "test/m-buffer-test.el"
14160 "-l" "test/m-buffer-at-test.el"
14161 "-f" "ert-run-tests-batch-and-exit"))))))
14162 (build-system emacs-build-system)
14163 (home-page "https://github.com/phillord/m-buffer-el")
14164 (synopsis "List oriented buffer operations for Emacs")
14165 (description "@code{m-buffer} provides a set of list-orientated functions
14166 for operating over the contents of Emacs buffers.")
14167 (license license:gpl3+)))
14168
14169 (define-public emacs-let-alist
14170 (package
14171 (name "emacs-let-alist")
14172 (version "1.0.6")
14173 (source
14174 (origin
14175 (method url-fetch)
14176 (uri (string-append
14177 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
14178 (sha256
14179 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
14180 (build-system emacs-build-system)
14181 (home-page "https://elpa.gnu.org/packages/let-alist.html")
14182 (synopsis "Easily let-bind values of an assoc-list by their names")
14183 (description "This package offers a single macro, @code{let-alist}. This
14184 macro takes a first argument (whose value must be an alist) and a body.")
14185 (license license:gpl3+)))
14186
14187 (define-public emacs-esup
14188 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
14189 (revision "1"))
14190 (package
14191 (name "emacs-esup")
14192 (version (string-append "0.6" "-" revision "."
14193 (string-take commit 7)))
14194 (source
14195 (origin
14196 (method git-fetch)
14197 (uri (git-reference
14198 (url "https://github.com/jschaf/esup.git")
14199 (commit commit)))
14200 (file-name (git-file-name name version))
14201 (sha256
14202 (base32
14203 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
14204 ;; TODO: Add tests
14205 (build-system emacs-build-system)
14206 (home-page "https://github.com/jschaf/esup")
14207 (synopsis "Emacs start up profiler")
14208 (description "Benchmark Emacs Startup time without ever leaving
14209 your Emacs.")
14210 (license license:gpl2+))))
14211
14212 (define-public emacs-restart-emacs
14213 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
14214 (revision "1"))
14215 (package
14216 (name "emacs-restart-emacs")
14217 (version (git-version "0.1.1" revision commit))
14218 (source
14219 (origin
14220 (method git-fetch)
14221 (uri (git-reference
14222 (url "https://github.com/iqbalansari/restart-emacs.git")
14223 (commit commit)))
14224 (file-name (git-file-name name version))
14225 (sha256
14226 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
14227 (build-system emacs-build-system)
14228 (home-page "https://github.com/iqbalansari/restart-emacs")
14229 (synopsis "Restart Emacs from within Emacs")
14230 (description "This package provides a simple command to restart Emacs from
14231 within Emacs.")
14232 (license license:gpl3+))))
14233
14234 (define-public emacs-sourcemap
14235 (package
14236 (name "emacs-sourcemap")
14237 (version "0.03")
14238 (source
14239 (origin
14240 (method git-fetch)
14241 (uri (git-reference
14242 (url "https://github.com/syohex/emacs-sourcemap.git")
14243 (commit version)))
14244 (file-name (git-file-name name version))
14245 (sha256
14246 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
14247 (build-system emacs-build-system)
14248 (home-page "https://github.com/syohex/emacs-sourcemap")
14249 (synopsis "Sourcemap parser")
14250 (description "Sourcemap parser")
14251 (license license:gpl3+)))
14252
14253 (define-public emacs-macrostep
14254 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
14255 (package
14256 (name "emacs-macrostep")
14257 (version (git-version "0.9" "1" commit))
14258 (source (origin
14259 (method git-fetch)
14260 (uri (git-reference
14261 (url "https://github.com/joddie/macrostep.git")
14262 (commit commit)))
14263 (file-name (git-file-name name version))
14264 (sha256
14265 (base32
14266 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
14267 (build-system emacs-build-system)
14268 (arguments
14269 '(#:phases
14270 (modify-phases %standard-phases
14271 (add-before 'check 'remove-test
14272 ;; Fails because of requirement ‘/bin/sh’.
14273 (lambda _
14274 (let ((file "macrostep-test.el"))
14275 (chmod file #o644)
14276 (emacs-batch-edit-file file
14277 `(progn (progn (goto-char (point-min))
14278 (re-search-forward
14279 "(ert-deftest macrostep-expand-c-macros")
14280 (beginning-of-line)
14281 (kill-sexp))
14282 (basic-save-buffer))))))
14283 (add-before 'install 'check
14284 (lambda _
14285 (invoke "emacs" "--batch" "-L" "."
14286 "-l" "macrostep-test.el"
14287 "-f" "ert-run-tests-batch-and-exit"))))))
14288 (home-page "https://github.com/joddie/macrostep")
14289 (synopsis "Interactive macro-expander for Emacs")
14290 (description "@code{macrostep} is an Emacs minor mode for interactively
14291 stepping through the expansion of macros in Emacs Lisp source code. It lets
14292 you see exactly what happens at each step of the expansion process by
14293 pretty-printing the expanded forms inline in the source buffer, which is
14294 temporarily read-only while macro expansions are visible. You can expand and
14295 collapse macro forms one step at a time, and evaluate or instrument the
14296 expansions for debugging with Edebug as normal (but see “Bugs and known
14297 limitations”, below). Single-stepping through the expansion is particularly
14298 useful for debugging macros that expand into another macro form. These can be
14299 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
14300 until the top-level form is no longer a macro call.")
14301 (license license:gpl3+))))
14302
14303 (define-public emacs-parent-mode
14304 (package
14305 (name "emacs-parent-mode")
14306 (version "2.3")
14307 (source
14308 (origin
14309 (method git-fetch)
14310 (uri (git-reference
14311 (url "https://github.com/Fanael/parent-mode.git")
14312 (commit version)))
14313 (file-name (git-file-name name version))
14314 (sha256
14315 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
14316 (build-system emacs-build-system)
14317 (home-page "https://github.com/Fanael/parent-mode")
14318 (synopsis "Get major mode's parent modes")
14319 (description "Get major mode's parent modes")
14320 (license license:gpl3+)))
14321
14322 (define-public emacs-lacarte
14323 (package
14324 (name "emacs-lacarte")
14325 (version "0.1")
14326 (source (origin
14327 (method url-fetch)
14328 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
14329 (sha256
14330 (base32
14331 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
14332 (build-system emacs-build-system)
14333 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
14334 (synopsis "Execute menu items as commands, with completion")
14335 (description "Execute menu items as commands, with completion.")
14336 (license license:gpl3)))
14337
14338 (define-public emacs-isearch-prop
14339 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
14340 (revision "2"))
14341 (package
14342 (name "emacs-isearch-prop")
14343 (version (git-version "0" revision commit))
14344 (source
14345 (origin
14346 (method git-fetch)
14347 (uri (git-reference
14348 (url "https://github.com/emacsmirror/isearch-prop.git")
14349 (commit commit)))
14350 (file-name (git-file-name name version))
14351 (sha256
14352 (base32
14353 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
14354 (build-system emacs-build-system)
14355 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
14356 (synopsis "Extensions to @code{isearch.el}")
14357 (description "The Emacs library @code{isearch-prop.el} lets you search within
14358 contexts. You can limit incremental search to a set of zones of
14359 buffer text, search contexts that in effect constitute a multi-region.
14360 These zones can be defined in various ways, including some ways
14361 provided specially by this library.")
14362 (license license:gpl3+))))
14363
14364 (define-public emacs-company-lua
14365 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
14366 (revision "2"))
14367 (package
14368 (name "emacs-company-lua")
14369 (version (git-version "0.1" "2" commit))
14370 (source
14371 (origin
14372 (method git-fetch)
14373 (uri (git-reference
14374 (url "https://github.com/ptrv/company-lua.git")
14375 (commit commit)))
14376 (file-name (git-file-name name version))
14377 (sha256
14378 (base32
14379 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
14380 (build-system emacs-build-system)
14381 (propagated-inputs
14382 `(("emacs-company" ,emacs-company)
14383 ("emacs-s" ,emacs-s)
14384 ("emacs-f" ,emacs-f)
14385 ("emacs-lua-mode" ,emacs-lua-mode)))
14386 (arguments
14387 `(#:include (cons* "^lua\\/" %default-include)))
14388 (home-page "https://github.com/ptrv/company-lua")
14389 (synopsis "Company backend for Lua")
14390 (description
14391 "This package provides Company backend for Lua programming language.")
14392 (license license:gpl3+))))
14393
14394 (define-public emacs-beginend
14395 (package
14396 (name "emacs-beginend")
14397 (version "2.1.0")
14398 (source
14399 (origin
14400 (method git-fetch)
14401 (uri (git-reference
14402 (url "https://github.com/DamienCassou/beginend.git")
14403 (commit (string-append "v" version))))
14404 (file-name (git-file-name name version))
14405 (sha256
14406 (base32 "1ic5z3qb5sc3mjrjdlg0rqm2l59a43gwnakagns4cilln2a3xdg8"))))
14407 ;; TODO: Run tests.
14408 (build-system emacs-build-system)
14409 (inputs
14410 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
14411 (home-page "https://github.com/DamienCassou/beginend")
14412 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
14413 (description "@code{beginend} redefines @code{M-<} and @code{M->}
14414 keybindings for Emacs modes so that point moves to meaningful
14415 locations. Redefined keys are still accessible by pressing the same
14416 key again.")
14417 (license license:gpl3+)))
14418
14419 (define-public emacs-mbsync
14420 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
14421 (revision "4"))
14422 (package
14423 (name "emacs-mbsync")
14424 (version (git-version "0.1.2" revision commit))
14425 (source
14426 (origin
14427 (method git-fetch)
14428 (uri (git-reference
14429 (url "https://github.com/dimitri/mbsync-el.git")
14430 (commit commit)))
14431 (file-name (git-file-name name version))
14432 (sha256
14433 (base32
14434 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
14435 (build-system emacs-build-system)
14436 (home-page "https://github.com/dimitri/mbsync-el")
14437 (synopsis "Interface to mbsync for Emacs")
14438 (description "This package calls @code{mbsync} from
14439 within Emacs.")
14440 (license license:gpl3+))))
14441
14442 (define-public emacs-ibuffer-projectile
14443 (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
14444 (revision "2"))
14445 (package
14446 (name "emacs-ibuffer-projectile")
14447 (version (git-version "0.2" revision commit))
14448 (source
14449 (origin
14450 (method git-fetch)
14451 (uri (git-reference
14452 (url "https://github.com/purcell/ibuffer-projectile.git")
14453 (commit commit)))
14454 (file-name (git-file-name name version))
14455 (sha256
14456 (base32
14457 "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
14458 (build-system emacs-build-system)
14459 (propagated-inputs
14460 `(("emacs-projectile" ,emacs-projectile)))
14461 (home-page "https://github.com/purcell/ibuffer-projectile")
14462 (synopsis "Group ibuffer's list by projectile root")
14463 (description "Adds functionality to Emacs @code{ibuffer} for
14464 grouping buffers by their projectile root directory.")
14465 (license license:gpl3+))))
14466
14467 (define-public emacs-elm-mode
14468 (package
14469 (name "emacs-elm-mode")
14470 (version "0.21.0")
14471 (source
14472 (origin
14473 (method git-fetch)
14474 (uri
14475 (git-reference
14476 (url "https://github.com/jcollard/elm-mode")
14477 (commit (string-append "v" version))))
14478 (file-name (git-file-name name version))
14479 (sha256
14480 (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd"))))
14481 (propagated-inputs
14482 `(("emacs-dash" ,emacs-dash)
14483 ("emacs-f" ,emacs-f)
14484 ("emacs-reformatter" ,emacs-reformatter)
14485 ("emacs-s" ,emacs-s)))
14486 (build-system emacs-build-system)
14487 (home-page "https://github.com/jcollard/elm-mode")
14488 (synopsis "Emacs major mode for editing Elm source code")
14489 (description
14490 "This package provides a major mode for editing Elm source code, and
14491 working with common core and third-party Elm tools. Its features are:
14492
14493 @itemize
14494 @item Syntax highlighting
14495 @item Intelligent indentation
14496 @item Integration with elm-make
14497 @item Integration with elm-repl
14498 @item Integration with elm-reactor
14499 @item Integration with elm-package
14500 @item Integration with elm-oracle
14501 @item Integration with elm-format
14502 @item Integration with elm-test
14503 @end itemize")
14504 (license license:gpl3+)))
14505
14506 (define-public emacs-helm-mode-manager
14507 (package
14508 (name "emacs-helm-mode-manager")
14509 (version "1.0.0")
14510 (source
14511 (origin
14512 (method git-fetch)
14513 (uri (git-reference
14514 (url "https://github.com/istib/helm-mode-manager")
14515 (commit version)))
14516 (file-name (git-file-name name version))
14517 (sha256
14518 (base32
14519 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
14520 (build-system emacs-build-system)
14521 (propagated-inputs
14522 `(("emacs-helm" ,emacs-helm)))
14523 (home-page "https://github.com/istib/helm-mode-manager/")
14524 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
14525 (description "This package provides a Helm interface for toggling Emacs
14526 major or minor mode.
14527
14528 @itemize
14529 @item @code{helm-switch-major-mode} list of all major modes
14530 @item @code{helm-enable-minor-mode} list of all inactive minor modes
14531 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
14532 @end itemize\n
14533
14534 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
14535 documentation.")
14536 (license license:gpl3+)))
14537
14538 (define-public emacs-hy-mode
14539 (package
14540 (name "emacs-hy-mode")
14541 (version "1.0.3")
14542 (source
14543 (origin
14544 (method git-fetch)
14545 (uri (git-reference
14546 (url "https://github.com/hylang/hy-mode.git")
14547 (commit (string-append "v" version))))
14548 (file-name (git-file-name name version))
14549 (sha256
14550 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
14551 (build-system emacs-build-system)
14552 (propagated-inputs
14553 `(("emacs-dash" ,emacs-dash)
14554 ("emacs-s" ,emacs-s)))
14555 (home-page "https://github.com/hylang/hy-mode")
14556 (synopsis "Major mode for Hylang")
14557 (description "This package provides a major mode for Hylang.")
14558 (license license:gpl3+)))
14559
14560 (define-public emacs-web-beautify
14561 (package
14562 (name "emacs-web-beautify")
14563 (version "0.3.2")
14564 (source
14565 (origin
14566 (method git-fetch)
14567 (uri (git-reference
14568 (url "https://github.com/yasuyk/web-beautify.git")
14569 (commit version)))
14570 (file-name (git-file-name name version))
14571 (sha256
14572 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
14573 (build-system emacs-build-system)
14574 (home-page "https://github.com/yasuyk/web-beautify")
14575 (synopsis "Format HTML, CSS and JavaScript, JSON")
14576 (description "This package provides an Emacs functions to format HTML,
14577 CSS, JavaScript, JSON.")
14578 (license license:gpl3+)))
14579
14580 (define-public emacs-helm-shell-history
14581 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
14582 (package
14583 (name "emacs-helm-shell-history")
14584 (version (git-version "0.1" "1" commit))
14585 (source
14586 (origin
14587 (method git-fetch)
14588 (uri (git-reference
14589 (url "https://github.com/yuutayamada/helm-shell-history.git")
14590 (commit commit)))
14591 (file-name (git-file-name name version))
14592 (sha256
14593 (base32
14594 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
14595 (build-system emacs-build-system)
14596 (arguments
14597 '(#:phases
14598 (modify-phases %standard-phases
14599 (add-before 'check 'patch-helm-shell-history-file
14600 (lambda _
14601 (let ((file "helm-shell-history.el"))
14602 (chmod file #o644)
14603 (emacs-substitute-sexps file
14604 ("(defvar helm-shell-history-file"
14605 `(expand-file-name "~/.bash_history"))))
14606 #t)))))
14607 (propagated-inputs
14608 `(("emacs-helm" ,emacs-helm)))
14609 (home-page "https://github.com/yuutayamada/helm-shell-history")
14610 (synopsis "Find shell history with Emacs Helm")
14611 (description "This package provides an Emacs Helm interface to search
14612 throw a shell history.")
14613 (license license:gpl3+))))
14614
14615 (define-public emacs-discover-my-major
14616 (package
14617 (name "emacs-discover-my-major")
14618 (version "1.0")
14619 (source
14620 (origin
14621 (method git-fetch)
14622 (uri (git-reference
14623 (url "https://framagit.org/steckerhalter/discover-my-major.git/")
14624 (commit version)))
14625 (file-name (git-file-name name version))
14626 (sha256
14627 (base32
14628 "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4"))))
14629 (build-system emacs-build-system)
14630 (propagated-inputs
14631 `(("emacs-makey" ,emacs-makey)))
14632 (home-page "https://framagit.org/steckerhalter/discover-my-major/")
14633 (synopsis "Discover key bindings for the current Emacs major mode")
14634 (description "This package discovers key bindings and
14635 their meaning for the current Emacs major-mode.")
14636 (license license:gpl3+)))
14637
14638 (define-public emacs-org-ref
14639 ;; No release since June 2017.
14640 (let ((commit "5bb9be2232db72b04754d7e4c02a3976ad422f6f")
14641 (revision "2"))
14642 (package
14643 (name "emacs-org-ref")
14644 (version (git-version "1.1.1" revision commit))
14645 (source
14646 (origin
14647 (method git-fetch)
14648 (uri (git-reference
14649 (url "https://github.com/jkitchin/org-ref.git")
14650 (commit commit)))
14651 (file-name (git-file-name name version))
14652 (sha256
14653 (base32 "15gcvbfj19kyv4nxa632b261dwhb26m99plq230qhv9ssfwfgxbx"))))
14654 (build-system emacs-build-system)
14655 (propagated-inputs
14656 `(("emacs-dash" ,emacs-dash)
14657 ("emacs-f" ,emacs-f)
14658 ("emacs-helm" ,emacs-helm)
14659 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
14660 ("emacs-htmlize" ,emacs-htmlize)
14661 ("emacs-hydra" ,emacs-hydra)
14662 ("emacs-ivy" ,emacs-ivy)
14663 ("emacs-key-chord" ,emacs-key-chord)
14664 ("emacs-pdf-tools" ,emacs-pdf-tools)
14665 ("emacs-s" ,emacs-s)))
14666 (home-page "https://github.com/jkitchin/org-ref")
14667 (synopsis "Citations, cross-references and bibliographies in Org mode")
14668 (description
14669 "Org Ref is an Emacs library that provides rich support for citations,
14670 labels and cross-references in Org mode.
14671
14672 The basic idea of Org Ref is that it defines a convenient interface to insert
14673 citations from a reference database (e.g., from BibTeX files), and a set of
14674 functional Org links for citations, cross-references and labels that export
14675 properly to LaTeX, and that provide clickable functionality to the user. Org
14676 Ref interfaces with Helm BibTeX to facilitate citation entry, and it can also
14677 use RefTeX.
14678
14679 It also provides a fairly large number of utilities for finding bad citations,
14680 extracting BibTeX entries from citations in an Org file, and functions to
14681 create and modify BibTeX entries from a variety of sources, most notably from
14682 a DOI.
14683
14684 Org Ref is especially suitable for Org documents destined for LaTeX export and
14685 scientific publication. Org Ref is also useful for research documents and
14686 notes.")
14687 (license license:gpl3+))))
14688
14689 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
14690 (define-public emacs-org-reveal
14691 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
14692 (package
14693 (name "emacs-org-reveal")
14694 (version (git-version "0.1" "3" commit))
14695 (source (origin
14696 (method git-fetch)
14697 (uri (git-reference
14698 (url "https://github.com/yjwen/org-reveal.git")
14699 (commit commit)))
14700 (file-name (git-file-name name version))
14701 (sha256
14702 (base32
14703 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
14704 (build-system emacs-build-system)
14705 (home-page "https://github.com/yjwen/org-reveal")
14706 (synopsis "Org and Reveal.js powered HTML presentation tool")
14707 (description "Org-Reveal is a @command{org-mode} extension that allows
14708 to create beautiful presentations (slides) with 3D effects from simple but
14709 powerful Org contents.")
14710 (license license:gpl3+))))
14711
14712 (define-public emacs-org-re-reveal
14713 (package
14714 (name "emacs-org-re-reveal")
14715 (version "2.12.2")
14716 (source (origin
14717 (method git-fetch)
14718 (uri (git-reference
14719 (url "https://gitlab.com/oer/org-re-reveal.git")
14720 (commit version)))
14721 (file-name (git-file-name name version))
14722 (sha256
14723 (base32
14724 "19nz77f2r49hqavz50ri222prhrd5890vhvc7jfazbascbcdjbqv"))))
14725 (build-system emacs-build-system)
14726 (propagated-inputs
14727 `(("emacs-htmlize" ,emacs-htmlize)
14728 ("emacs-org" ,emacs-org)))
14729 (home-page "https://gitlab.com/oer/org-re-reveal")
14730 (synopsis "Build HTML presentations with reveal.js from Org source files")
14731 (description "This project started as fork of org-reveal. It provides an
14732 export back-end for HTML presentations with reveal.js from Org mode source
14733 files.")
14734 (license license:gpl3+)))
14735
14736 (define-public emacs-add-hooks
14737 (package
14738 (name "emacs-add-hooks")
14739 (version "3.1.1")
14740 (source
14741 (origin
14742 (method git-fetch)
14743 (uri (git-reference
14744 (url "https://github.com/nickmccurdy/add-hooks.git")
14745 (commit version)))
14746 (file-name (git-file-name name version))
14747 (sha256
14748 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
14749 (build-system emacs-build-system)
14750 (home-page "https://github.com/nickmccurdy/add-hooks/")
14751 (synopsis "Emacs function for setting multiple hooks")
14752 (description "This package provides a @code{add-hooks} function tidies up
14753 duplicate hook and function names further into a single declarative call.")
14754 (license license:gpl3+)))
14755
14756 (define-public emacs-fancy-narrow
14757 (package
14758 (name "emacs-fancy-narrow")
14759 (version "0.9.5")
14760 (source
14761 (origin
14762 (method git-fetch)
14763 (uri (git-reference
14764 (url "https://github.com/Malabarba/fancy-narrow.git")
14765 (commit version)))
14766 (file-name (git-file-name name version))
14767 (sha256
14768 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
14769 (build-system emacs-build-system)
14770 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
14771 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
14772 (description
14773 "Unlike @code{narrow-to-region}, which completely hides text outside
14774 the narrowed region, this package simply de-emphasizes the text, makes it
14775 read-only, and makes it unreachable. This leads to a much more natural
14776 feeling where the region stays static (instead of being brutally moved to a
14777 blank slate) and is clearly highlighted with respect to the rest of the
14778 buffer.")
14779 (license license:gpl2+)))
14780
14781 (define-public emacs-know-your-http-well
14782 (package
14783 (name "emacs-know-your-http-well")
14784 (version "0.5.0")
14785 (source
14786 (origin
14787 (method git-fetch)
14788 (uri (git-reference
14789 (url "https://github.com/for-GET/know-your-http-well.git")
14790 (commit (string-append "v" version))))
14791 (file-name (git-file-name name version))
14792 (sha256
14793 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
14794 (arguments
14795 `(#:phases
14796 (modify-phases %standard-phases
14797 (add-after 'unpack 'install-json-files
14798 (lambda* (#:key outputs #:allow-other-keys)
14799 (for-each (lambda (directory)
14800 (copy-recursively directory
14801 (string-append
14802 (assoc-ref outputs "out")
14803 directory)))
14804 '("js" "json"))))
14805 (add-after 'unpack 'chdir-elisp
14806 ;; Elisp directory is not in root of the source.
14807 (lambda _
14808 (chdir "emacs"))))))
14809 (build-system emacs-build-system)
14810 (home-page "https://github.com/for-GET/know-your-http-well")
14811 (synopsis "Meaning of HTTP headers codes")
14812 (description "Meaning of HTTP headers codes.")
14813 (license license:gpl3+)))
14814
14815 (define-public emacs-navi-mode
14816 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
14817 (package
14818 (name "emacs-navi-mode")
14819 (version (git-version "2.0" "1" commit))
14820 (source
14821 (origin
14822 (method git-fetch)
14823 (uri (git-reference
14824 (url "https://github.com/alphapapa/navi.git")
14825 (commit commit)))
14826 (file-name (git-file-name name version))
14827 (sha256
14828 (base32
14829 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
14830 (build-system emacs-build-system)
14831 (propagated-inputs
14832 `(("emacs-outshine" ,emacs-outshine)
14833 ("emacs-outorg" ,emacs-outorg)))
14834 (home-page "https://github.com/alphapapa/navi")
14835 (synopsis "Emacs major-mode for easy buffer-navigation")
14836 (description
14837 "This package provides an Emacs major-mode for easy buffer-navigation")
14838 (license license:gpl3+))))
14839
14840 (define-public emacs-download-region
14841 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
14842 (revision "1"))
14843 (package
14844 (name "emacs-download-region")
14845 (version (string-append "0.0.1" "-" revision "."
14846 (string-take commit 7)))
14847 (source
14848 (origin
14849 (method git-fetch)
14850 (uri (git-reference
14851 (url "https://github.com/zk-phi/download-region.git")
14852 (commit commit)))
14853 (file-name (git-file-name name version))
14854 (sha256
14855 (base32
14856 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
14857 (build-system emacs-build-system)
14858 (home-page "https://github.com/zk-phi/download-region")
14859 (synopsis "In buffer download manager for Emacs")
14860 (description "@code{download-region} provides in buffer
14861 downloading manager for Emacs.")
14862 (license license:gpl3+))))
14863
14864 (define-public emacs-helpful
14865 (package
14866 (name "emacs-helpful")
14867 (version "0.17")
14868 (source
14869 (origin
14870 (method git-fetch)
14871 (uri (git-reference
14872 (url "https://github.com/Wilfred/helpful.git")
14873 (commit version)))
14874 (file-name (git-file-name name version))
14875 (sha256
14876 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
14877 (build-system emacs-build-system)
14878 (propagated-inputs
14879 `(("emacs-elisp-refs" ,emacs-elisp-refs)
14880 ("emacs-dash" ,emacs-dash)
14881 ("emacs-s" ,emacs-s)
14882 ("emacs-f" ,emacs-f)
14883 ("emacs-shut-up" ,emacs-shut-up)))
14884 (native-inputs
14885 `(("emacs-ert-runner" ,emacs-ert-runner)
14886 ("emacs-undercover" ,emacs-undercover)))
14887 (arguments
14888 `(#:tests? #t
14889 #:test-command '("ert-runner")))
14890 (home-page "https://github.com/Wilfred/helpful")
14891 (synopsis "More contextual information in Emacs help")
14892 (description "@code{helpful} is an alternative to the built-in Emacs help
14893 that provides much more contextual information.
14894
14895 @itemize
14896 @item Show the source code for interactively defined functions (unlike the
14897 built-in Help).
14898 @item Fall back to the raw sexp if no source is available.
14899 @item Show where a function is being called.
14900 @item Docstrings will Highlight the summary (the first sentence), include
14901 cross-references, hide superfluous puncuation.
14902 @item Show you the properties that have been applied to the current
14903 symbol. This provides visibility of features like edebug or byte-code
14904 optimisation.
14905 @item Provide a separate @code{helpful-command} function to view interactive
14906 functions.
14907 @item Display any keybindings that apply to interactive functions.
14908 @item Trace, disassemble functions from inside Helpful. This is discoverable
14909 and doesn't require memorisation of commands.
14910 @end itemize\n")
14911 (license license:gpl3+)))
14912
14913 (define-public emacs-logview
14914 (package
14915 (name "emacs-logview")
14916 (version "0.9")
14917 (source
14918 (origin
14919 (method git-fetch)
14920 (uri (git-reference
14921 (url "https://github.com/doublep/logview.git")
14922 (commit version)))
14923 (file-name (git-file-name name version))
14924 (sha256
14925 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
14926 (propagated-inputs
14927 `(("emacs-datetime" ,emacs-datetime)))
14928 (build-system emacs-build-system)
14929 (home-page "https://github.com/doublep/logview/")
14930 (synopsis "Emacs mode for viewing log files")
14931 (description "@code{logview} provides an Emacs mode to view log files.")
14932 (license license:gpl3+)))
14933
14934 (define-public emacs-suggest
14935 (package
14936 (name "emacs-suggest")
14937 (version "0.7")
14938 (home-page "https://github.com/Wilfred/suggest.el")
14939 (source
14940 (origin
14941 (method git-fetch)
14942 (uri (git-reference
14943 (url home-page)
14944 (commit version)))
14945 (file-name (git-file-name name version))
14946 (sha256
14947 (base32
14948 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
14949 (build-system emacs-build-system)
14950 (propagated-inputs
14951 `(("emacs-loop" ,emacs-loop)
14952 ("emacs-dash" ,emacs-dash)
14953 ("emacs-s" ,emacs-s)
14954 ("emacs-f" ,emacs-f)
14955 ("emacs-spinner" ,emacs-spinner)
14956 ("emacs-shut-up" ,emacs-shut-up)))
14957 (native-inputs
14958 `(("emacs-ert-runner" ,emacs-ert-runner)
14959 ("emacs-undercover" ,emacs-undercover)))
14960 (arguments
14961 `(#:tests? #t
14962 #:test-command '("ert-runner")))
14963 (synopsis "Suggest Elisp functions that give the output requested")
14964 (description "Suggest.el will find functions that give the output
14965 requested. It's a great way of exploring list, string and arithmetic
14966 functions.")
14967 (license license:gpl3+)))
14968
14969 (define-public emacs-benchmark-init
14970 (package
14971 (name "emacs-benchmark-init")
14972 (version "1.0")
14973 (source
14974 (origin
14975 (method git-fetch)
14976 (uri (git-reference
14977 (url "https://github.com/dholm/benchmark-init-el.git")
14978 (commit version)))
14979 (file-name (git-file-name name version))
14980 (sha256
14981 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
14982 (build-system emacs-build-system)
14983 (home-page "https://github.com/dholm/benchmark-init-el")
14984 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
14985 (description "@code{benchmark-init} provides a way to keep track of where
14986 time is being spent during Emacs startup in order to optimize startup time.")
14987 (license license:gpl3+)))
14988
14989 (define-public emacs-magit-gerrit
14990 (let ((version "0.3")
14991 (revision "1")
14992 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
14993 (package
14994 (name "emacs-magit-gerrit")
14995 (version (git-version version revision commit))
14996 (source (origin
14997 (method git-fetch)
14998 (uri (git-reference
14999 (url "https://github.com/terranpro/magit-gerrit.git")
15000 (commit commit)))
15001 (file-name (git-file-name name version))
15002 (sha256
15003 (base32
15004 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
15005 (build-system emacs-build-system)
15006 (propagated-inputs
15007 `(("emacs-magit" ,emacs-magit)))
15008 (home-page "https://github.com/terranpro/magit-gerrit")
15009 (synopsis "Magit extension for Gerrit")
15010 (description "This Magit extension provides integration with Gerrit,
15011 which makes it possible to conduct Gerrit code reviews directly from within
15012 Emacs.")
15013 (license license:gpl3+))))
15014
15015 (define-public emacs-magit-org-todos-el
15016 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
15017 (package
15018 (name "emacs-magit-org-todos-el")
15019 (version (git-version "0.1.1" "1" commit))
15020 (source
15021 (origin
15022 (method git-fetch)
15023 (uri (git-reference
15024 (url "https://github.com/danielma/magit-org-todos.el.git")
15025 (commit commit)))
15026 (file-name (git-file-name name version))
15027 (sha256
15028 (base32
15029 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
15030 (propagated-inputs
15031 `(("magit" ,emacs-magit)))
15032 (build-system emacs-build-system)
15033 (home-page "https://github.com/danielma/magit-org-todos.el")
15034 (synopsis "Get todo.org into Emacs Magit status")
15035 (description "This package allows you to get @file{todo.org} into your
15036 magit status.
15037
15038 If you have a @file{todo.org} file with @code{TODO} items in the root of your
15039 repository, @code{magit-org-todos} will create a section in your Magit status
15040 buffer with each of your todos.")
15041 (license license:gpl3+))))
15042
15043 (define-public emacs-vcsh
15044 (package
15045 (name "emacs-vcsh")
15046 (version "0.4.4")
15047 (source
15048 (origin
15049 (method git-fetch)
15050 (uri (git-reference
15051 (url "https://gitlab.com/stepnem/vcsh-el.git")
15052 (commit version)))
15053 (file-name (git-file-name name version))
15054 (sha256
15055 (base32 "183pffdiqb7qqmjq31wxl3fpv8qswqgg99gb716rddiyk15ysri7"))))
15056 (build-system emacs-build-system)
15057 (home-page "https://gitlab.com/stepnem/vcsh-el")
15058 (synopsis "Emacs VCSH integration")
15059 (description
15060 "This library provides basic ``enter'' functionality and a few
15061 convenience commands to initialize a @acronym{VCSH, Version Control System for
15062 $HOME} repository and add files to it. It can be used in conjunction with
15063 Magit.")
15064 (license license:public-domain)))
15065
15066 (define-public emacs-f3
15067 (package
15068 (name "emacs-f3")
15069 (version "0.1")
15070 (source
15071 (origin
15072 (method git-fetch)
15073 (uri (git-reference
15074 (url "https://github.com/cosmicexplorer/f3.git")
15075 (commit version)))
15076 (file-name (git-file-name name version))
15077 (sha256
15078 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
15079 (build-system emacs-build-system)
15080 (propagated-inputs
15081 `(("emacs-helm" ,emacs-helm)))
15082 (home-page "https://github.com/cosmicexplorer/f3")
15083 (synopsis "Fantastic File Finder for Emacs")
15084 (description
15085 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
15086 (license license:gpl3+)))
15087
15088 (define-public emacs-lice-el
15089 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
15090 (package
15091 (name "emacs-lice-el")
15092 (version (git-version "0.2" "1" commit))
15093 (source (origin
15094 (method git-fetch)
15095 (uri (git-reference
15096 (url "https://github.com/buzztaiki/lice-el.git")
15097 (commit commit)))
15098 (file-name (git-file-name name version))
15099 (sha256
15100 (base32
15101 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
15102 (build-system emacs-build-system)
15103 (home-page "https://github.com/buzztaiki/lice-el")
15104 (synopsis "License and header template for Emacs")
15105 (description "@code{lice.el} provides following features:
15106
15107 @itemize
15108 @item License template management.
15109 @item File header insertion.
15110 @end itemize\n")
15111 (license license:gpl3+))))
15112
15113 (define-public emacs-academic-phrases
15114 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
15115 (package
15116 (name "emacs-academic-phrases")
15117 (version (git-version "0.1" "1" commit))
15118 (source
15119 (origin
15120 (method git-fetch)
15121 (uri (git-reference
15122 (url "https://github.com/nashamri/academic-phrases.git")
15123 (commit commit)))
15124 (file-name (git-file-name name version))
15125 (sha256
15126 (base32
15127 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
15128 (build-system emacs-build-system)
15129 (propagated-inputs
15130 `(("emacs-dash" ,emacs-dash)
15131 ("emacs-s" ,emacs-s)
15132 ("emacs-ht" ,emacs-ht)))
15133 (home-page "https://github.com/nashamri/academic-phrases")
15134 (synopsis "Bypass that mental block when writing your papers")
15135 (description
15136 "When writing your academic paper, you might get stuck trying to find
15137 the right phrase that captures your intention. This package tries to
15138 alleviate that problem by presenting you with a list of phrases organized by
15139 the topic or by the paper section that you are writing. This package has
15140 around 600 phrases so far.
15141
15142 Using this package is easy, just call @code{academic-phrases} to get a list of
15143 phrases organized by topic, or call @code{academic-phrases-by-section} to
15144 browse the phrases by the paper section and fill-in the blanks if required.")
15145 (license license:gpl3+))))
15146
15147 (define-public emacs-auto-yasnippet
15148 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
15149 (revision "2"))
15150 (package
15151 (name "emacs-auto-yasnippet")
15152 (version (git-version "0.3.0" revision commit))
15153 (source (origin
15154 (method git-fetch)
15155 (uri (git-reference
15156 (url "https://github.com/abo-abo/auto-yasnippet.git")
15157 (commit commit)))
15158 (file-name (git-file-name name version))
15159 (sha256
15160 (base32
15161 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
15162 (build-system emacs-build-system)
15163 (arguments
15164 '(#:tests? #t
15165 #:test-command '("make" "test")))
15166 (propagated-inputs
15167 `(("emacs-yasnippet" ,emacs-yasnippet)))
15168 (home-page "https://github.com/abo-abo/auto-yasnippet/")
15169 (synopsis "Quickly create disposable yasnippets")
15170 (description "This package provides a hybrid of keyboard macros and
15171 yasnippet. You create the snippet on the go, usually to be used just in the
15172 one place. It's fast, because you're not leaving the current buffer, and all
15173 you do is enter the code you'd enter anyway, just placing ~ where you'd like
15174 yasnippet fields and mirrors to be.")
15175 (license license:gpl3+))))
15176
15177 (define-public emacs-highlight-numbers
15178 (package
15179 (name "emacs-highlight-numbers")
15180 (version "0.2.3")
15181 (source
15182 (origin
15183 (method git-fetch)
15184 (uri (git-reference
15185 (url "https://github.com/Fanael/highlight-numbers.git")
15186 (commit version)))
15187 (file-name (git-file-name name version))
15188 (sha256
15189 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
15190 (build-system emacs-build-system)
15191 (propagated-inputs
15192 `(("emacs-parent-mode" ,emacs-parent-mode)))
15193 (home-page "https://github.com/Fanael/highlight-numbers")
15194 (synopsis "Highlight numbers in source code")
15195 (description "@code{highlight-numbers-mode} provides a minor mode for
15196 syntax highlighting of numeric literals in source code.
15197
15198 It s customizable: it's easy to add or redefine what exactly consitutes a
15199 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
15200 (license license:gpl3+)))
15201
15202 (define-public emacs-darkroom
15203 (package
15204 (name "emacs-darkroom")
15205 (version "0.3")
15206 (source
15207 (origin
15208 (method url-fetch)
15209 (uri (string-append "https://elpa.gnu.org/packages/"
15210 "darkroom-" version ".el"))
15211 (sha256
15212 (base32 "0l1xg5kqmjw22k78qnsln0ifx2dx74xxqj0qp8xxcpqvzzx0xh86"))))
15213 (build-system emacs-build-system)
15214 (home-page "https://elpa.gnu.org/packages/darkroom.html")
15215 (synopsis "Remove visual distractions and focus on writing")
15216 (description "@code{darkroom-mode} makes visual distractions disappear.
15217 The mode-line is temporarily elided, text is enlarged and margins are adjusted
15218 so that it's centered on the window.
15219
15220 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
15221 @code{darkroom-mode}, unless the current buffer lives in the sole window of
15222 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
15223 split to display more windows and more buffers, the buffer exits
15224 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
15225 @code{darkroom-mode}.")
15226 (license license:gpl3+)))
15227
15228 (define-public emacs-rsw-elisp
15229 (package
15230 (name "emacs-rsw-elisp")
15231 (version "1.0.5")
15232 (source (origin
15233 (method git-fetch)
15234 (uri (git-reference
15235 (url "https://github.com/rswgnu/rsw-elisp")
15236 (commit version)))
15237 (file-name (git-file-name name version))
15238 (sha256
15239 (base32
15240 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
15241 (build-system emacs-build-system)
15242 (home-page "https://github.com/rswgnu/rsw-elisp")
15243 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
15244 (description "This package improves and replaces the GNU Emacs commands
15245 that interactively evaluate Emacs Lisp expressions. The new commands replace
15246 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
15247 the same way as the old commands when called non-interactively; only the
15248 interactive behavior should be different.")
15249 (license license:gpl3+)))
15250
15251 (define-public emacs-default-text-scale
15252 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
15253 (revision "1"))
15254 (package
15255 (name "emacs-default-text-scale")
15256 (version (string-append "0.1" "-" revision "."
15257 (string-take commit 7)))
15258 (source (origin
15259 (method git-fetch)
15260 (uri (git-reference
15261 (url "https://github.com/purcell/default-text-scale")
15262 (commit commit)))
15263 (file-name (git-file-name name version))
15264 (sha256
15265 (base32
15266 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
15267 (build-system emacs-build-system)
15268 (home-page "https://github.com/purcell/default-text-scale")
15269 (synopsis "Adjust the font size in all Emacs frames")
15270 (description "This package provides commands for increasing or
15271 decreasing the default font size in all GUI Emacs frames.")
15272 (license license:gpl3+))))
15273
15274 (define-public emacs-mixed-pitch
15275 (package
15276 (name "emacs-mixed-pitch")
15277 (version "1.0.1")
15278 (source
15279 (origin
15280 (method git-fetch)
15281 (uri (git-reference
15282 (url "https://gitlab.com/jabranham/mixed-pitch.git")
15283 (commit version)))
15284 (file-name (git-file-name name version))
15285 (sha256
15286 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
15287 (build-system emacs-build-system)
15288 (home-page "https://gitlab.com/jabranham/mixed-pitch")
15289 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
15290 (description
15291 "@code{mixed-pitch-mode} is a minor mode that enables mixing
15292 variable-pitch and fixed-pitch fonts in the same buffer. The list
15293 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
15294 fixed-pitch,everything else becomes variable-pitch.")
15295 (license license:gpl3+)))
15296
15297 (define-public emacs-visual-regexp
15298 (package
15299 (name "emacs-visual-regexp")
15300 (version "1.1.1")
15301 (source
15302 (origin
15303 (method git-fetch)
15304 (uri (git-reference
15305 (url "https://github.com/benma/visual-regexp.el.git")
15306 (commit (string-append "v" version))))
15307 (file-name (git-file-name name version))
15308 (sha256
15309 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
15310 (build-system emacs-build-system)
15311 (home-page "https://github.com/benma/visual-regexp.el/")
15312 (synopsis "Regexp command with interactive visual feedback")
15313 (description "This package provides an Emacs regexp command with
15314 interactive visual feedback.")
15315 (license license:gpl3+)))
15316
15317 (define-public emacs-faceup
15318 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
15319 (revision "1"))
15320 (package
15321 (name "emacs-faceup")
15322 (version (string-append "0.0.1" "-" revision "."
15323 (string-take commit 7)))
15324 (source
15325 (origin
15326 (method git-fetch)
15327 (uri (git-reference
15328 (url "https://github.com/Lindydancer/faceup.git")
15329 (commit commit)))
15330 (file-name (git-file-name name version))
15331 (sha256
15332 (base32
15333 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
15334 (build-system emacs-build-system)
15335 (home-page "https://github.com/Lindydancer/faceup")
15336 (synopsis "Markup language for faces and font-lock regression testing")
15337 (description "Emacs is capable of highlighting buffers based on
15338 language-specific @code{font-lock} rules. This package makes it possible to
15339 perform regression test for packages that provide font-lock rules.")
15340 (license license:gpl3+))))
15341
15342 (define-public emacs-racket-mode
15343 (let ((commit "5f396fa91fc22310f5c519aa658436a1a5251846")
15344 (revision "5"))
15345 (package
15346 (name "emacs-racket-mode")
15347 (version (git-version "0.0.2" revision commit))
15348 (source
15349 (origin
15350 (method git-fetch)
15351 (uri (git-reference
15352 (url "https://github.com/greghendershott/racket-mode")
15353 (commit commit)))
15354 (file-name (git-file-name name version))
15355 (sha256
15356 (base32
15357 "1214y08i0c51d1vzw9jzyf79vyfqizdy6m0980qs13qbdwsj32v0"))))
15358 (build-system emacs-build-system)
15359 (arguments
15360 `(#:include '("\\.el$" "\\.rkt$")))
15361 (propagated-inputs
15362 `(("emacs-faceup" ,emacs-faceup)
15363 ("emacs-s" ,emacs-s)))
15364 (home-page "https://www.racket-mode.com/")
15365 (synopsis "Major mode for the Racket language")
15366 (description "@code{racket-mode} provides:
15367
15368 @itemize
15369 @item Focus on Racket (not various Schemes).
15370 @item Follow DrRacket concepts where applicable.
15371 @item Thorough font-lock and indent.
15372 @end itemize\n")
15373 (license license:gpl3+))))
15374
15375 (define-public emacs-grep-context
15376 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
15377 (revision "1"))
15378 (package
15379 (name "emacs-grep-context")
15380 (version (git-version "0.1.0" revision commit))
15381 (source
15382 (origin
15383 (method git-fetch)
15384 (uri (git-reference
15385 (url "https://github.com/mkcms/grep-context.git")
15386 (commit commit)))
15387 (file-name (git-file-name name version))
15388 (sha256
15389 (base32
15390 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
15391 (build-system emacs-build-system)
15392 (propagated-inputs
15393 `(("emacs-dash" ,emacs-dash)))
15394 (home-page "https://github.com/mkcms/grep-context")
15395 (synopsis "Increase context in compilation and grep buffers")
15396 (description
15397 "This package provides an Emacs package for more context in
15398 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
15399 @code{ivy}.")
15400 (license license:gpl3+))))
15401
15402 (define-public emacs-helm-firefox
15403 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
15404 (revision "1"))
15405 (package
15406 (name "emacs-helm-firefox")
15407 (version (string-append "0.0.1" "-" revision "."
15408 (string-take commit 7)))
15409 (source
15410 (origin
15411 (method git-fetch)
15412 (uri (git-reference
15413 (url "https://github.com/emacs-helm/helm-firefox.git")
15414 (commit commit)))
15415 (file-name (git-file-name name version))
15416 (sha256
15417 (base32
15418 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
15419 (propagated-inputs
15420 `(("emacs-helm" ,emacs-helm)))
15421 (build-system emacs-build-system)
15422 (home-page "https://github.com/emacs-helm/helm-firefox")
15423 (synopsis "Display firefox bookmarks with Emacs Helm interface")
15424 (description "Display firefox bookmarks with Emacs Helm interface")
15425 (license license:gpl3+))))
15426
15427 (define-public emacs-interactive-align
15428 (package
15429 (name "emacs-interactive-align")
15430 (version "0.4.2")
15431 (source
15432 (origin
15433 (method git-fetch)
15434 (uri (git-reference
15435 (url "https://github.com/mkcms/interactive-align.git")
15436 (commit (string-append "v" version))))
15437 (file-name (git-file-name name version))
15438 (sha256
15439 (base32
15440 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
15441 (build-system emacs-build-system)
15442 (home-page "https://github.com/mkcms/interactive-align/")
15443 (synopsis "Interactive align-regexp command in Emacs")
15444 (description "Interactive align-regexp command in Emacs")
15445 (license license:gpl3+)))
15446
15447 (define-public emacs-shift-number
15448 (package
15449 (name "emacs-shift-number")
15450 (version "0.1")
15451 (source
15452 (origin
15453 (method git-fetch)
15454 (uri (git-reference
15455 (url "https://github.com/alezost/shift-number.el")
15456 (commit (string-append "v" version))))
15457 (file-name (git-file-name name version))
15458 (sha256
15459 (base32
15460 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
15461 (build-system emacs-build-system)
15462 (home-page "https://github.com/alezost/shift-number.el")
15463 (synopsis "Increase or decrease the number at point")
15464 (description "@code{emacs-shift-number} provides commands
15465 @code{shift-number-up} to increase and @code{shift-number-down} to
15466 decrease the number at point.")
15467 (license license:gpl3+)))
15468
15469 (define-public emacs-highlight-defined
15470 (package
15471 (name "emacs-highlight-defined")
15472 (version "0.1.5")
15473 (source
15474 (origin
15475 (method git-fetch)
15476 (uri (git-reference
15477 (url "https://github.com/Fanael/highlight-defined.git")
15478 (commit version)))
15479 (file-name (git-file-name name version))
15480 (sha256
15481 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
15482 (build-system emacs-build-system)
15483 (home-page "https://github.com/Fanael/highlight-defined")
15484 (synopsis "Syntax highlighting of known Elisp symbols")
15485 (description "Minor mode providing syntax highlighting of known Emacs Lisp
15486 symbols. Currently the code distinguishes Lisp functions, built-in functions,
15487 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
15488 (license license:gpl3+)))
15489
15490 (define-public emacs-parinfer-mode
15491 (package
15492 (name "emacs-parinfer-mode")
15493 (version "0.4.10")
15494 (source
15495 (origin
15496 (method git-fetch)
15497 (uri (git-reference
15498 (url "https://github.com/DogLooksGood/parinfer-mode.git")
15499 (commit (string-append "v" version))))
15500 (file-name (git-file-name name version))
15501 (sha256
15502 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
15503 (propagated-inputs
15504 `(("emacs-dash" ,emacs-dash)
15505 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
15506 ("emacs-company" ,emacs-company)))
15507 (build-system emacs-build-system)
15508 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
15509 (synopsis "Lisp structure editing mode")
15510 (description "@code{parinfer-mode} is a proof-of-concept editor
15511 mode for Lisp programming languages. It will infer some changes to
15512 keep Parens and Indentation inline with one another.")
15513 (license license:gpl3+)))
15514
15515 (define-public emacs-helm-eww
15516 (package
15517 (name "emacs-helm-eww")
15518 (version "1.2")
15519 (source (origin
15520 (method git-fetch)
15521 (uri (git-reference
15522 (url "https://github.com/emacs-helm/helm-eww.git")
15523 (commit version)))
15524 (file-name (git-file-name name version))
15525 (sha256
15526 (base32
15527 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
15528 (propagated-inputs
15529 `(("emacs-helm" ,emacs-helm)))
15530 (build-system emacs-build-system)
15531 (home-page "https://github.com/emacs-helm/helm-eww/")
15532 (synopsis "Helm interface to EWW")
15533 (description "This package provides a Helm interface for EWW buffers,
15534 bookmarks and history.")
15535 (license license:gpl3+)))
15536
15537 (define-public emacs-stumpwm-mode
15538 (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
15539 (revision "3"))
15540 (package
15541 (name "emacs-stumpwm-mode")
15542 (version (git-version "0.0.1" revision commit))
15543 (source (origin
15544 (method git-fetch)
15545 (uri (git-reference
15546 (url "https://github.com/stumpwm/stumpwm-contrib.git")
15547 (commit commit)))
15548 (file-name (git-file-name name version))
15549 (sha256
15550 (base32
15551 "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml"))))
15552 (build-system emacs-build-system)
15553 (arguments
15554 `(#:phases
15555 (modify-phases %standard-phases
15556 (add-after 'unpack 'chdir-elisp
15557 ;; Elisp directory is not in root of the source.
15558 (lambda _
15559 (chdir "util/swm-emacs"))))))
15560 (home-page "https://github.com/stumpwm/stumpwm-contrib")
15561 (synopsis "Emacs minor-mode for Stumpwm")
15562 (description "Emacs minor-mode for Stumpwm")
15563 (license license:gpl3+))))
15564
15565 (define-public emacs-irfc
15566 (package
15567 (name "emacs-irfc")
15568 (version "20130824.507-1")
15569 (source
15570 (origin
15571 (method url-fetch)
15572 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
15573 (file-name (string-append "irfc-" version ".el"))
15574 (sha256
15575 (base32
15576 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
15577 (build-system emacs-build-system)
15578 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
15579 (synopsis "Interface for IETF RFC document")
15580 (description
15581 "This package provides an Emacs interface for IETF RFC document.")
15582 (license license:gpl3+)))
15583
15584 (define-public emacs-ido-vertical-mode
15585 (package
15586 (name "emacs-ido-vertical-mode")
15587 (version "0.1.6")
15588 (source
15589 (origin
15590 (method git-fetch)
15591 (uri (git-reference
15592 (url "https://github.com/creichert/ido-vertical-mode.el.git")
15593 (commit (string-append "v" version))))
15594 (file-name (git-file-name name version))
15595 (sha256
15596 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
15597 (build-system emacs-build-system)
15598 (home-page "https://github.com/creichert/ido-vertical-mode.el")
15599 (synopsis "Makes ido-mode display vertically")
15600 (description "Makes ido-mode display prospects vertically.")
15601 (license license:gpl3+)))
15602
15603 (define-public emacs-wordgen
15604 (package
15605 (name "emacs-wordgen")
15606 (version "0.1.4")
15607 (source
15608 (origin
15609 (method git-fetch)
15610 (uri (git-reference
15611 (url "https://github.com/Fanael/wordgen.el.git")
15612 (commit version)))
15613 (file-name (git-file-name name version))
15614 (sha256
15615 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
15616 (build-system emacs-build-system)
15617 (home-page "https://github.com/Fanael/wordgen.el")
15618 (synopsis "Random word generator")
15619 (description "This package provides functions to generate random words
15620 using user-provided rules.")
15621 (license license:gpl3+)))
15622
15623 (define-public emacs-on-screen
15624 (package
15625 (name "emacs-on-screen")
15626 (version "1.3.3")
15627 (source
15628 (origin
15629 (method url-fetch)
15630 (uri (string-append
15631 "https://elpa.gnu.org/packages/on-screen-" version ".el"))
15632 (file-name (string-append name "-" version ".el"))
15633 (sha256
15634 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
15635 (build-system emacs-build-system)
15636 (home-page "https://github.com/michael-heerdegen/on-screen.el")
15637 (synopsis "Guide your eyes while scrolling")
15638 (description
15639 "Scrolling can be distracting because your eyes may lose
15640 orientation. This library implements a minor mode that highlights
15641 the previously visible buffer part after each scroll.")
15642 (license license:gpl3+)))
15643
15644 (define-public emacs-highlight-escape-sequences
15645 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
15646 (revision "1"))
15647 (package
15648 (name "emacs-highlight-escape-sequences")
15649 (version (string-append "0.0.1" "-" revision "."
15650 (string-take commit 7)))
15651 (source
15652 (origin
15653 (method git-fetch)
15654 (uri (git-reference
15655 (url "https://github.com/dgutov/highlight-escape-sequences.git")
15656 (commit commit)))
15657 (file-name (git-file-name name version))
15658 (sha256
15659 (base32
15660 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
15661 (build-system emacs-build-system)
15662 (home-page "https://github.com/dgutov/highlight-escape-sequences")
15663 (synopsis "Highlight escape sequences in Emacs")
15664 (description "@code{highlight-escape-sequences} provides an
15665 Emacs minor mode to escape sequences in code.")
15666 (license license:gpl3+))))
15667
15668 (define-public emacs-dashboard
15669 (package
15670 (name "emacs-dashboard")
15671 (version "1.6.0")
15672 (source
15673 (origin
15674 (method git-fetch)
15675 (uri (git-reference
15676 (url "https://github.com/rakanalh/emacs-dashboard.git")
15677 (commit version)))
15678 (file-name (git-file-name name version))
15679 (sha256
15680 (base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591"))))
15681 (build-system emacs-build-system)
15682 (propagated-inputs
15683 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
15684 (arguments
15685 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
15686 #:phases
15687 (modify-phases %standard-phases
15688 (add-after 'unpack 'patch-dashboard-widgets
15689 ;; This phase fixes compilation error.
15690 (lambda _
15691 (chmod "dashboard-widgets.el" #o666)
15692 (emacs-substitute-variables "dashboard-widgets.el"
15693 ("dashboard-init-info"
15694 '(format "Loaded in %s" (emacs-init-time))))
15695 #t)))))
15696 (home-page "https://github.com/rakanalh/emacs-dashboard")
15697 (synopsis "Startup screen extracted from Spacemacs")
15698 (description "This package provides an extensible Emacs dashboard, with
15699 sections for bookmarks, projectil projects, org-agenda and more. ")
15700 (license license:gpl3+)))
15701
15702 (define-public emacs-slime-company
15703 (package
15704 (name "emacs-slime-company")
15705 (version "1.1")
15706 (source
15707 (origin
15708 (method git-fetch)
15709 (uri (git-reference
15710 (url "https://github.com/anwyn/slime-company.git")
15711 (commit (string-append "v" version))))
15712 (file-name (git-file-name name version))
15713 (sha256
15714 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
15715 (build-system emacs-build-system)
15716 (propagated-inputs
15717 `(("emacs-slime" ,emacs-slime)
15718 ("emacs-company" ,emacs-company)))
15719 (home-page "https://company-mode.github.io")
15720 (synopsis "SLIME completion backend for @code{company-mode}")
15721 (description
15722 "This is a backend implementation for the completion package
15723 @code{company-mode} which supports the normal and the fuzzy completion
15724 modes of SLIME.")
15725 (license license:gpl3+)))
15726
15727 (define-public emacs-sml-mode
15728 (package
15729 (name "emacs-sml-mode")
15730 (version "6.10")
15731 (source
15732 (origin
15733 (method url-fetch)
15734 (uri (string-append "https://elpa.gnu.org/packages/sml-mode-"
15735 version ".el"))
15736 (sha256
15737 (base32 "01yf0s474r9xhj6nbs14ljn9ccxb5yy758i17c8nmgmqvm8fx7sb"))))
15738 (build-system emacs-build-system)
15739 (home-page "https://elpa.gnu.org/packages/sml-mode.html")
15740 (synopsis "Major mode for editing (Standard) ML")
15741 (description "SML-MODE is a major Emacs mode for editing Standard ML.
15742 It provides syntax highlighting and automatic indentation and
15743 comes with sml-proc which allows interaction with an inferior SML
15744 interactive loop.")
15745 (license license:gpl3+)))
15746
15747 (define-public emacs-eros
15748 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
15749 (revision "2"))
15750 (package
15751 (name "emacs-eros")
15752 (version (git-version "0.0.1" revision commit))
15753 (source
15754 (origin
15755 (method git-fetch)
15756 (uri (git-reference
15757 (url "https://github.com/xiongtx/eros.git")
15758 (commit commit)))
15759 (file-name (git-file-name name version))
15760 (sha256
15761 (base32
15762 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
15763 (build-system emacs-build-system)
15764 (home-page "https://github.com/xiongtx/eros")
15765 (synopsis "Evaluation result overlays")
15766 (description "@code{eros} provides evaluation result overlays.")
15767 (license license:gpl3+))))
15768
15769 (define-public emacs-stickyfunc-enhance
15770 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
15771 (revision "1"))
15772 (package
15773 (name "emacs-stickyfunc-enhance")
15774 (version "0.1")
15775 (source
15776 (origin
15777 (method git-fetch)
15778 (uri (git-reference
15779 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
15780 (commit commit)))
15781 (file-name (git-file-name name version))
15782 (sha256
15783 (base32
15784 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
15785 (build-system emacs-build-system)
15786 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
15787 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
15788 (description
15789 "@code{semantic-stickyfunc-mode} shows the function point is currently
15790 in at the first line of the current buffer. This is useful when you have a
15791 very long function that spreads more than a screen, and you don't have to
15792 scroll up to read the function name and then scroll down to original position.")
15793 (license license:gpl3+))))
15794
15795 (define-public emacs-git-auto-commit-mode
15796 (package
15797 (name "emacs-git-auto-commit-mode")
15798 (version "4.5.0")
15799 (source
15800 (origin
15801 (method git-fetch)
15802 (uri (git-reference
15803 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
15804 (commit version)))
15805 (file-name (git-file-name name version))
15806 (sha256
15807 (base32 "1w3v9pmlmdxl4pglsb6j0igp13lbzg5bhbr1rv2vll93m6zxmyma"))))
15808 (build-system emacs-build-system)
15809 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
15810 (synopsis "Emacs Minor mode to automatically commit and push")
15811 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
15812 tries to commit changes to a file after every save.
15813
15814 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
15815 the current upstream.")
15816 (license license:gpl3+)))
15817
15818 (define-public emacs-scroll-on-drag
15819 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
15820 (revision "1"))
15821 (package
15822 (name "emacs-scroll-on-drag")
15823 (version (git-version "0.1" revision commit))
15824 (source
15825 (origin
15826 (method git-fetch)
15827 (uri (git-reference
15828 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
15829 (commit commit)))
15830 (file-name (git-file-name name version))
15831 (sha256
15832 (base32
15833 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
15834 (build-system emacs-build-system)
15835 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
15836 (synopsis "Interactive scrolling")
15837 (description "This package permits scrolling at increasing speeds based
15838 on drag distance.")
15839 (license license:gpl3+))))
15840
15841 (define-public emacs-company-restclient
15842 (package
15843 (name "emacs-company-restclient")
15844 (version "0.3.0")
15845 (source
15846 (origin
15847 (method git-fetch)
15848 (uri (git-reference
15849 (url "https://github.com/iquiw/company-restclient.git")
15850 (commit (string-append "v" version))))
15851 (file-name (git-file-name name version))
15852 (sha256
15853 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
15854 (build-system emacs-build-system)
15855 (propagated-inputs
15856 `(("emacs-company" ,emacs-company)
15857 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
15858 ("emacs-restclient" ,emacs-restclient)))
15859 (home-page "https://github.com/iquiw/company-restclient")
15860 (synopsis "Company-mode completion back-end for restclient-mode")
15861 (description "@code{company-mode} back-end for
15862 @code{restclient-mode}.
15863
15864 It provides auto-completion for HTTP methods and headers in
15865 @code{restclient-mode}. Completion source is given by
15866 @code{know-your-http-well}.")
15867 (license license:gpl3+)))
15868
15869 (define-public emacs-noflet
15870 (let ((version "20170629")
15871 (revision "1")
15872 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
15873 (package
15874 (name "emacs-noflet")
15875 (version (git-version version revision commit))
15876 (source
15877 (origin
15878 (method git-fetch)
15879 (uri (git-reference
15880 (url "https://github.com/nicferrier/emacs-noflet")
15881 (commit commit)))
15882 (file-name (git-file-name name version))
15883 (sha256
15884 (base32
15885 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
15886 (build-system emacs-build-system)
15887 (arguments
15888 `(#:phases
15889 (modify-phases %standard-phases
15890 (add-after 'unpack 'require-dash
15891 ;; noflet.el uses -map from dash, but (require 'dash) is
15892 ;; missing. So, add it.
15893 (lambda _
15894 (substitute* "noflet.el"
15895 ((";;; Code:") ";;; Code:\n(require 'dash)"))
15896 #t)))))
15897 (propagated-inputs
15898 `(("emacs-dash" ,emacs-dash)))
15899 (home-page "https://github.com/nicferrier/emacs-noflet")
15900 (synopsis "Locally override functions")
15901 (description "@code{emacs-noflet} lets you locally override functions,
15902 in the manner of @command{flet}, but with access to the original function
15903 through the symbol: @command{this-fn}.")
15904 (license license:gpl3+))))
15905
15906 (define-public emacs-dumb-jump
15907 (package
15908 (name "emacs-dumb-jump")
15909 (version "0.5.3")
15910 (source
15911 (origin
15912 (method git-fetch)
15913 (uri (git-reference
15914 (url "https://github.com/jacktasia/dumb-jump.git")
15915 (commit (string-append "v" version))))
15916 (file-name (git-file-name name version))
15917 (sha256
15918 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
15919 (build-system emacs-build-system)
15920 (arguments
15921 `(#:tests? #f ; FIXME: Tests freeze when run.
15922 #:test-command '("ert-runner")
15923 #:phases
15924 (modify-phases %standard-phases
15925 (add-after 'unpack 'set-shell
15926 (lambda _
15927 ;; Setting the SHELL environment variable is required for the
15928 ;; tests to find sh.
15929 (setenv "SHELL" (which "sh"))
15930 #t)))))
15931 (native-inputs
15932 `(("emacs-el-mock" ,emacs-el-mock)
15933 ("emacs-noflet" ,emacs-noflet)
15934 ("emacs-undercover" ,emacs-undercover)
15935 ("ert-runner" ,emacs-ert-runner)))
15936 (propagated-inputs
15937 `(("emacs-f" ,emacs-f)
15938 ("emacs-popup" ,emacs-popup)))
15939 (home-page "https://github.com/jacktasia/dumb-jump")
15940 (synopsis "Jump to definition for multiple languages without configuration")
15941 (description "Dumb Jump is an Emacs \"jump to definition\" package with
15942 support for multiple programming languages that favors \"just working\" over
15943 speed or accuracy. This means minimal --- and ideally zero --- configuration
15944 with absolutely no stored indexes (tags) or persistent background processes.
15945 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
15946 @command{rg} installed.")
15947 (license license:gpl3+)))
15948
15949 (define-public emacs-dts-mode
15950 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
15951 (revision "1"))
15952 (package
15953 (name "emacs-dts-mode")
15954 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
15955 (source
15956 (origin
15957 (method git-fetch)
15958 (uri (git-reference
15959 (url "https://github.com/bgamari/dts-mode.git")
15960 (commit commit)))
15961 (file-name (git-file-name name version))
15962 (sha256
15963 (base32
15964 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
15965 (build-system emacs-build-system)
15966 (home-page "https://github.com/bgamari/dts-mode.git")
15967 (synopsis "Emacs minor mode for editing device tree files")
15968 (description
15969 "This package provides an Emacs minor mode for highlighting
15970 device tree files.")
15971 (license license:gpl3+))))
15972
15973 (define-public emacs-daemons
15974 (package
15975 (name "emacs-daemons")
15976 (version "2.0.0")
15977 (source
15978 (origin
15979 (method git-fetch)
15980 (uri (git-reference
15981 (url "https://github.com/cbowdon/daemons.el")
15982 (commit version)))
15983 (file-name (git-file-name name version))
15984 (sha256
15985 (base32
15986 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
15987 (build-system emacs-build-system)
15988 (home-page "https://github.com/cbowdon/daemons.el")
15989 (synopsis "Emacs UI for managing init system services")
15990 (description
15991 "This is an Emacs mode to give you a UI for managing init system
15992 daemons (services) for those getting tired of typing out @code{sudo service
15993 my_thing reload} all the time. It offers a consistent UI over different init
15994 systems.")
15995 (license license:gpl3+)))
15996
15997 (define-public emacs-isearch+
15998 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
15999 (revision "2"))
16000 (package
16001 (name "emacs-isearch+")
16002 (version (git-version "0" revision commit))
16003 (source
16004 (origin
16005 (method git-fetch)
16006 (uri (git-reference
16007 (url "https://github.com/emacsmirror/isearch-plus.git")
16008 (commit commit)))
16009 (file-name (git-file-name name version))
16010 (sha256
16011 (base32
16012 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
16013 (build-system emacs-build-system)
16014 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
16015 (synopsis "Extensions to @code{isearch.el}")
16016 (description "This package extends @code{isearch} with advice, dynamic
16017 filters, highlighting of regexp group levels, and more.")
16018 (license license:gpl2+))))
16019
16020 (define-public emacs-eshell-bookmark
16021 (package
16022 (name "emacs-eshell-bookmark")
16023 (version "2.0.0")
16024 (source
16025 (origin
16026 (method git-fetch)
16027 (uri (git-reference
16028 (url "https://github.com/Fuco1/eshell-bookmark")
16029 (commit version)))
16030 (file-name (git-file-name name version))
16031 (sha256
16032 (base32
16033 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
16034 (build-system emacs-build-system)
16035 (home-page "https://github.com/Fuco1/eshell-bookmark")
16036 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
16037 (description
16038 "This package allows for bookmarking @code{eshell} buffers. Upon
16039 visiting the bookmark, a new @code{eshell} session will be opened in the
16040 appropriate directory if no @code{eshell} session is active.")
16041 (license license:gpl3+)))
16042
16043 (define-public emacs-eshell-z
16044 (package
16045 (name "emacs-eshell-z")
16046 (version "0.4")
16047 (source
16048 (origin
16049 (method git-fetch)
16050 (uri (git-reference
16051 (url "https://github.com/xuchunyang/eshell-z")
16052 (commit (string-append "v" version))))
16053 (file-name (git-file-name name version))
16054 (sha256
16055 (base32
16056 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
16057 (build-system emacs-build-system)
16058 (home-page "https://github.com/xuchunyang/eshell-z")
16059 (synopsis "Quick navigation to frequently visited directories")
16060 (description
16061 "This package is a port of @code{z}, and keeps track of visited directories
16062 and commands invoked within them in order to enable navigation via input of
16063 matching regexps.")
16064 (license license:gpl3+)))
16065
16066 (define-public emacs-esh-autosuggest
16067 (package
16068 (name "emacs-esh-autosuggest")
16069 (version "2.0.0")
16070 (source
16071 (origin
16072 (method git-fetch)
16073 (uri (git-reference
16074 (url "https://github.com/dieggsy/esh-autosuggest")
16075 (commit version)))
16076 (file-name (git-file-name name version))
16077 (sha256
16078 (base32
16079 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
16080 (build-system emacs-build-system)
16081 (propagated-inputs `(("emacs-company" ,emacs-company)))
16082 (home-page "https://github.com/dieggsy/esh-autosuggest")
16083 (synopsis "Fish-like autosuggestions in Eshell")
16084 (description
16085 "This package assumes you use something other than company for eshell
16086 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
16087 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
16088 for history autosuggestions.
16089
16090 Unless you're using @code{use-package}'s hook keyword, you can enable the
16091 autosuggestions with:
16092 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
16093 (license license:gpl3+)))
16094
16095 (define-public emacs-desktop-environment
16096 (package
16097 (name "emacs-desktop-environment")
16098 (version "0.3.0")
16099 (source
16100 (origin
16101 (method git-fetch)
16102 (uri (git-reference
16103 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
16104 (commit (string-append "v" version))))
16105 (file-name (git-file-name name version))
16106 (sha256
16107 (base32
16108 "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"))))
16109 (build-system emacs-build-system)
16110 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
16111 (synopsis "Control your GNU/Linux desktop environment from Emacs")
16112 (description
16113 "This package helps you control your GNU/Linux desktop from Emacs.
16114 With @code{desktop-environment}, you can control the brightness and volume as
16115 well as take screenshots and lock your screen. The package depends on the
16116 availability of shell commands to do the hard work for us. These commands can
16117 be changed by customizing the appropriate variables.")
16118 (license license:gpl3+)))
16119
16120 (define-public emacs-org-caldav
16121 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
16122 (package
16123 (name "emacs-org-caldav")
16124 (version (git-version "0.0.0" "1" commit))
16125 (source
16126 (origin
16127 (method git-fetch)
16128 (uri (git-reference
16129 (url "https://github.com/dengste/org-caldav.git")
16130 (commit commit)))
16131 (file-name (git-file-name name version))
16132 (sha256
16133 (base32
16134 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
16135 (build-system emacs-build-system)
16136 (arguments
16137 ;; Tests require to have two specific calendars on a test server.
16138 `(#:exclude '("^org-caldav-testsuite\\.el")))
16139 (propagated-inputs
16140 `(("emacs-org" ,emacs-org)))
16141 (home-page "https://github.com/dengste/org-caldav")
16142 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
16143 (description "Synchronize between events in Org files and a CalDAV
16144 calendar.")
16145 (license license:gpl3+))))
16146
16147 (define-public emacs-zotxt
16148 (package
16149 (name "emacs-zotxt")
16150 (version "20180518")
16151 (source
16152 (origin
16153 (method git-fetch)
16154 (uri (git-reference
16155 (url "https://github.com/egh/zotxt-emacs.git")
16156 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
16157 (file-name (git-file-name name version))
16158 (sha256
16159 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
16160 (build-system emacs-build-system)
16161 (propagated-inputs
16162 `(("emacs-deferred" ,emacs-deferred)
16163 ("emacs-request" ,emacs-request)))
16164 (home-page "https://github.com/egh/zotxt-emacs")
16165 (synopsis "Integrate Emacs with Zotero")
16166 (description "This package provides two integration features between Emacs
16167 and the Zotero research assistant: Insertion of links to Zotero items into an
16168 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
16169 (license license:gpl3+)))
16170
16171 (define-public emacs-evil-magit
16172 (let ((commit "253c644807013fe92429acdef418748794b8f254")
16173 (revision "4"))
16174 (package
16175 (name "emacs-evil-magit")
16176 (version (git-version "0.4.2" revision commit))
16177 (source
16178 (origin
16179 (method git-fetch)
16180 (uri (git-reference
16181 (url "https://github.com/emacs-evil/evil-magit")
16182 (commit commit)))
16183 (file-name (git-file-name name version))
16184 (sha256
16185 (base32
16186 "08mh7phxsdb9w4dfs0pmr4l4fdzzr2rm88z2s8karfi5j5ik2ag5"))))
16187 (build-system emacs-build-system)
16188 (propagated-inputs
16189 `(("emacs-evil" ,emacs-evil)
16190 ("magit" ,emacs-magit)))
16191 (arguments
16192 `(#:tests? #t
16193 #:test-command '("emacs" "-Q" "-batch"
16194 "-L" "."
16195 "-l" "evil-magit-tests"
16196 "-f" "ert-run-tests-batch-and-exit")))
16197 (home-page
16198 "https://github.com/emacs-evil/evil-magit")
16199 (synopsis "Evil-based key bindings for Magit")
16200 (description
16201 "This Emacs library configures Magit and Evil to play well with each other.
16202 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
16203 See the README at @url{https://github.com/justbur/evil-magit} for a table
16204 describing the key binding changes.")
16205 (license license:gpl3+))))
16206
16207 (define-public emacs-evil-multiedit
16208 (package
16209 (name "emacs-evil-multiedit")
16210 (version "1.3.9")
16211 (source
16212 (origin
16213 (method git-fetch)
16214 (uri (git-reference
16215 (url "https://github.com/hlissner/evil-multiedit")
16216 (commit (string-append "v" version))))
16217 (file-name (git-file-name name version))
16218 (sha256
16219 (base32
16220 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
16221 (build-system emacs-build-system)
16222 (propagated-inputs
16223 `(("emacs-evil" ,emacs-evil)
16224 ("emacs-iedit" ,emacs-iedit)))
16225 (native-inputs
16226 `(("emacs-ert-runner" ,emacs-ert-runner)))
16227 (arguments
16228 `(#:phases
16229 (modify-phases %standard-phases
16230 (add-before 'check 'fix-makefile
16231 (lambda _
16232 (substitute* "Makefile"
16233 (("@cask exec ") ""))
16234 #t)))
16235 #:tests? #t
16236 #:test-command '("make" "test")))
16237 (home-page
16238 "https://github.com/hlissner/evil-multiedit")
16239 (synopsis "Multiple cursors for Evil mode")
16240 (description
16241 "This plugin was an answer to the lack of proper multiple cursor support
16242 in Emacs+Evil. It allows you to select and edit matches interactively,
16243 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
16244 defaults.")
16245 (license license:gpl3+)))
16246
16247 (define-public emacs-evil-mc
16248 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
16249 (revision "2"))
16250 (package
16251 (name "emacs-evil-mc")
16252 (version (git-version "0.0.3" revision commit))
16253 (source
16254 (origin
16255 (method git-fetch)
16256 (uri (git-reference
16257 (url "https://github.com/gabesoft/evil-mc.git")
16258 (commit commit)))
16259 (file-name (git-file-name name version))
16260 (sha256
16261 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
16262 (build-system emacs-build-system)
16263 (propagated-inputs
16264 `(("emacs-evil" ,emacs-evil)))
16265 (native-inputs
16266 `(("emacs-espuds" ,emacs-espuds)))
16267 (home-page "https://github.com/gabesoft/evil-mc")
16268 (synopsis "Interactive search compatible with @code{multiple-cursors}")
16269 (description "This package can be used with @code{multiple-cursors} to
16270 provide an incremental search that moves all fake cursors in sync.")
16271 (license license:expat))))
16272
16273 (define-public emacs-evil-org
16274 (let ((commit "9d4be14118bf27094a30dbff349b815f098aacbf"))
16275 (package
16276 (name "emacs-evil-org")
16277 (version (git-version "1.0.2" "1" commit))
16278 (source
16279 (origin
16280 (method git-fetch)
16281 (uri (git-reference
16282 (url "https://github.com/Somelauw/evil-org-mode")
16283 (commit commit)))
16284 (file-name (git-file-name name version))
16285 (sha256
16286 (base32
16287 "1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn"))))
16288 (build-system emacs-build-system)
16289 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
16290 (home-page
16291 "https://github.com/Somelauw/evil-org-mode")
16292 (synopsis "Evil keybindings for Org mode")
16293 (description
16294 "This package adds supplemental Evil mode key-bindings to Emacs
16295 Org-mode. It features:
16296 @itemize
16297 @item normal, visual and insert mode bindings;
16298 @item key bindings organised in key themes;
16299 @item operators like > and < to work on headings;
16300 @item text objects;
16301 @item table support;
16302 @item calendar (date selection) support;
16303 @item agenda support.
16304 @end itemize\n")
16305 (license license:gpl3+))))
16306
16307 (define-public emacs-debpaste
16308 (package
16309 (name "emacs-debpaste")
16310 (version "0.1.5")
16311 (home-page "https://github.com/alezost/debpaste.el")
16312 (source
16313 (origin
16314 (method git-fetch)
16315 (uri (git-reference (url home-page)
16316 (commit (string-append "v" version))))
16317 (file-name (git-file-name name version))
16318 (sha256
16319 (base32
16320 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
16321 (build-system emacs-build-system)
16322 (propagated-inputs
16323 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
16324 (synopsis "Manipulate pastes from the Debian Pastezone")
16325 (description "Debpaste is an Emacs interface for the Debian Pastezone,
16326 allowing you to receive, post, and delete pastes. It communicates with the
16327 server using XML-RPC.")
16328 (license license:gpl3+)))
16329
16330 (define-public emacs-xml-rpc
16331 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
16332 (revision "1"))
16333 (package
16334 (name "emacs-xml-rpc")
16335 (version (git-version "1.6.12" revision commit))
16336 (source
16337 (origin
16338 (method git-fetch)
16339 (uri (git-reference
16340 (url "https://github.com/hexmode/xml-rpc-el")
16341 (commit commit)))
16342 (file-name (git-file-name name version))
16343 (sha256
16344 (base32
16345 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
16346 (build-system emacs-build-system)
16347 (home-page "https://github.com/hexmode/xml-rpc-el")
16348 (synopsis "XML-RPC client for Emacs")
16349 (description "This package provides an XML-RPC client for Emacs capable
16350 of both synchronous and asynchronous method calls using the @code{url}
16351 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
16352 datatypes as Lisp values, automatically converting to and from the XML
16353 datastructures as needed, both for method parameters and return values, making
16354 using XML-RPC methods fairly transparent to the Lisp code.")
16355 (license license:gpl3+))))
16356
16357 (define-public emacs-xpm
16358 (package
16359 (name "emacs-xpm")
16360 (version "1.0.4")
16361 (source
16362 (origin
16363 (method url-fetch)
16364 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
16365 version ".tar"))
16366 (sha256
16367 (base32
16368 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
16369 (build-system emacs-build-system)
16370 (home-page "https://elpa.gnu.org/packages/xpm.html")
16371 (synopsis "XPM image editing mode for Emacs")
16372 (description "This Emacs package makes editing XPM images easy (and maybe
16373 fun). Editing is done directly on the (textual) image format, for maximal
16374 cohesion with the Emacs Way.")
16375 (license license:gpl3+)))
16376
16377 (define-public emacs-fish-completion
16378 (package
16379 (name "emacs-fish-completion")
16380 (version "1.2")
16381 (source
16382 (origin
16383 (method git-fetch)
16384 (uri (git-reference
16385 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
16386 (commit version)))
16387 (file-name (git-file-name name version))
16388 (sha256
16389 (base32
16390 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
16391 (build-system emacs-build-system)
16392 (inputs `(("fish" ,fish)))
16393 (arguments
16394 `(#:phases
16395 (modify-phases %standard-phases
16396 (add-after 'unpack 'configure
16397 (lambda* (#:key inputs outputs #:allow-other-keys)
16398 (let ((fish (assoc-ref inputs "fish")))
16399 ;; Specify the absolute file names of the various
16400 ;; programs so that everything works out-of-the-box.
16401 (make-file-writable "fish-completion.el")
16402 (emacs-substitute-variables
16403 "fish-completion.el"
16404 ("fish-completion-command"
16405 (string-append fish "/bin/fish")))))))))
16406 (home-page
16407 "https://gitlab.com/Ambrevar/emacs-fish-completion")
16408 (synopsis "Fish completion for Emacs pcomplete")
16409 (description
16410 "This package provides completion for the Fish shell to pcomplete (used
16411 by shell and Eshell). You can set it up globally with:
16412
16413 @example
16414 (when (and (executable-find \"fish\")
16415 (require 'fish-completion nil t))
16416 (global-fish-completion-mode))
16417 @end example
16418
16419 Alternatively, you can call the @code{fish-completion-mode} manually or in
16420 shell/Eshell mode hook.
16421
16422 The package @code{emacs-bash-completion} is an optional dependency: if available,
16423 @code{fish-completion-complete} can be configured to fall back on bash to further
16424 try completing. See @code{fish-completion-fallback-on-bash-p}.")
16425 (license license:gpl3+)))
16426
16427 (define-public emacs-gif-screencast
16428 (package
16429 (name "emacs-gif-screencast")
16430 (version "1.1")
16431 (source
16432 (origin
16433 (method git-fetch)
16434 (uri (git-reference
16435 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
16436 (commit version)))
16437 (file-name (git-file-name name version))
16438 (sha256
16439 (base32
16440 "1g1by8lvf8c9vzm4wwsi5kp285kaj0ahsl54048ympin4pi0njw9"))))
16441 (build-system emacs-build-system)
16442 (inputs
16443 `(("scrot" ,scrot)
16444 ("imagemagick" ,imagemagick)
16445 ("gifsicle" ,gifsicle)))
16446 (arguments
16447 `(#:phases
16448 (modify-phases %standard-phases
16449 (add-after 'unpack 'configure
16450 (lambda* (#:key inputs outputs #:allow-other-keys)
16451 (let ((scrot (assoc-ref inputs "scrot"))
16452 (imagemagick (assoc-ref inputs "imagemagick"))
16453 (gifsicle (assoc-ref inputs "gifsicle")))
16454 (make-file-writable "gif-screencast.el")
16455 ;; Specify the absolute file names of the various
16456 ;; programs so that everything works out-of-the-box.
16457 (emacs-substitute-variables
16458 "gif-screencast.el"
16459 ("gif-screencast-program"
16460 (string-append scrot "/bin/scrot"))
16461 ("gif-screencast-convert-program"
16462 (string-append imagemagick "/bin/convert"))
16463 ("gif-screencast-cropping-program"
16464 (string-append imagemagick "/bin/mogrify"))
16465 ("gif-screencast-optimize-program"
16466 (string-append gifsicle "/bin/gifsicle")))))))))
16467 (home-page
16468 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
16469 (synopsis "One-frame-per-action GIF recording")
16470 (description
16471 "Call @code{gif-screencast} to start a recording.
16472 A screenshot is taken for every user action. Call
16473 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
16474 the GIF result.")
16475 (license license:gpl3+)))
16476
16477 (define-public emacs-google-translate
16478 (package
16479 (name "emacs-google-translate")
16480 (version "0.11.18")
16481 (source
16482 (origin
16483 (method git-fetch)
16484 (uri (git-reference
16485 (url "https://github.com/atykhonov/google-translate/")
16486 (commit (string-append "v" version))))
16487 (file-name (git-file-name name version))
16488 (sha256
16489 (base32
16490 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
16491 (build-system emacs-build-system)
16492 (home-page "https://github.com/atykhonov/google-translate")
16493 (synopsis "Emacs interface to Google Translate")
16494 (description
16495 "This package provides an Emacs interface to the Google Translate
16496 on-line service.")
16497 (license license:gpl3+)))
16498
16499 (define-public emacs-helm-company
16500 (package
16501 (name "emacs-helm-company")
16502 (version "0.2.5")
16503 (source
16504 (origin
16505 (method git-fetch)
16506 (uri (git-reference
16507 (url "https://github.com/Sodel-the-Vociferous/helm-company")
16508 (commit (string-append "v" version))))
16509 (file-name (git-file-name name version))
16510 (sha256
16511 (base32
16512 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
16513 (build-system emacs-build-system)
16514 (propagated-inputs
16515 `(("emacs-helm" ,emacs-helm)
16516 ("emacs-company" ,emacs-company)))
16517 (native-inputs
16518 `(("emacs-ert-runner" ,emacs-ert-runner)))
16519 (arguments
16520 `(#:tests? #t
16521 #:test-command '("ert-runner")))
16522 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
16523 (synopsis "Helm interface for company-mode")
16524 (description
16525 "This is a Helm interface to company-mode, a text completion
16526 framework.")
16527 (license license:gpl3+)))
16528
16529 (define-public emacs-helm-descbinds
16530 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
16531 (package
16532 (name "emacs-helm-descbinds")
16533 (version (git-version "1.13" "1" commit))
16534 (source
16535 (origin
16536 (method git-fetch)
16537 (uri (git-reference
16538 (url "https://github.com/emacs-helm/helm-descbinds")
16539 (commit commit)))
16540 (file-name (git-file-name name version))
16541 (sha256
16542 (base32
16543 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
16544 (build-system emacs-build-system)
16545 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
16546 (home-page "https://github.com/emacs-helm/helm-descbinds")
16547 (synopsis "Convenient @code{describe-bindings} with Helm")
16548 (description
16549 "This package is a replacement of @code{describe-bindings} for Helm.
16550 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
16551 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
16552 @code{helm-descbinds}. The bindings are presented in a similar way as
16553 @code{describe-bindings} does, but you can use completion to find the command
16554 you searched for and execute it, or view its documentation.")
16555 (license license:gpl3+))))
16556
16557 (define-public emacs-helm-emms
16558 (let ((commit "37e5aa029abfa5a5c48636314de8157142944fa2"))
16559 (package
16560 (name "emacs-helm-emms")
16561 (version (git-version "1.3" "3" commit))
16562 (source
16563 (origin
16564 (method git-fetch)
16565 (uri (git-reference
16566 (url "https://github.com/emacs-helm/helm-emms")
16567 (commit commit)))
16568 (file-name (git-file-name name version))
16569 (sha256
16570 (base32
16571 "0r1ai6xhzayyik30w2sx9n62bxxwm12vfmjspv0daqif9az8y3vg"))))
16572 (build-system emacs-build-system)
16573 (propagated-inputs
16574 `(("emacs-helm" ,emacs-helm)
16575 ("emacs-emms" ,emacs-emms)))
16576 (home-page
16577 "https://github.com/emacs-helm/helm-emms")
16578 (synopsis "Emms for Helm")
16579 (description "Helm interface for Emms to browse all tracks and all folders
16580 from @code{emms-source-file-default-directory}.")
16581 (license license:gpl3+))))
16582
16583 (define-public emacs-helm-exwm
16584 (package
16585 (name "emacs-helm-exwm")
16586 (version "0.0.2")
16587 (source
16588 (origin
16589 (method git-fetch)
16590 (uri (git-reference
16591 (url "https://github.com/emacs-helm/helm-exwm.git")
16592 (commit version)))
16593 (file-name (git-file-name name version))
16594 (sha256
16595 (base32 "0g4k01ps14bp2az8v6dcag9llg045k2b4kdis81xx4lvw76znr9v"))))
16596 (build-system emacs-build-system)
16597 (propagated-inputs
16598 `(("emacs-helm" ,emacs-helm)
16599 ("emacs-exwm" ,emacs-exwm)))
16600 (home-page
16601 "https://github.com/emacs-helm/helm-exwm")
16602 (synopsis "Helm for EXWM buffers")
16603 (description
16604 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
16605 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
16606 switch between the various windows of one or several specific applications.
16607 See @code{helm-exwm-switch-browser} for an example.")
16608 (license license:gpl3+)))
16609
16610 (define-public emacs-helm-flycheck
16611 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
16612 (package
16613 (name "emacs-helm-flycheck")
16614 (version (git-version "0.4" "1" commit))
16615 (source
16616 (origin
16617 (method git-fetch)
16618 (uri (git-reference
16619 (url "https://github.com/yasuyk/helm-flycheck")
16620 (commit commit)))
16621 (file-name (git-file-name name version))
16622 (sha256
16623 (base32
16624 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
16625 (build-system emacs-build-system)
16626 (propagated-inputs
16627 `(("emacs-dash" ,emacs-dash)
16628 ("emacs-flycheck" ,emacs-flycheck)
16629 ("emacs-helm" ,emacs-helm)))
16630 (home-page "https://github.com/yasuyk/helm-flycheck")
16631 (synopsis "Show Flycheck errors with Helm")
16632 (description
16633 "This integrates Flycheck with Helm.")
16634 (license license:gpl3+))))
16635
16636 (define-public emacs-helm-ls-git
16637 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
16638 (package
16639 (name "emacs-helm-ls-git")
16640 (version (git-version "1.9.1" "1" commit))
16641 (source
16642 (origin
16643 (method git-fetch)
16644 (uri (git-reference
16645 (url "https://github.com/emacs-helm/helm-ls-git")
16646 (commit commit)))
16647 (file-name (git-file-name name version))
16648 (sha256
16649 (base32
16650 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
16651 (build-system emacs-build-system)
16652 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
16653 (home-page "https://github.com/emacs-helm/helm-ls-git")
16654 (synopsis "Helm interface for listing the files in a Git repository")
16655 (description
16656 "This package provides a Helm interface for Git files.
16657 @itemize
16658 @item Display the open buffers in project.
16659 @item Display a status source showing state of project (modified files etc.).
16660 @item Display a list of all files in project under git control.
16661 @item Quickly look at diffs of modified files.
16662 @item Allow switching to @code{git status} with your preferred frontend
16663 (vc-dir, Magit,etc.).
16664 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
16665 can use ack-grep instead of grep).
16666 @item Integrate usage of gid from id-utils.
16667 @item Full integration with @code{helm-find-files}, allow you to browse
16668 projects unrelated to current-buffer.
16669 @item In addition, all actions of type files and buffers are provided.
16670 @end itemize\n")
16671 (license license:gpl3+))))
16672
16673 (define-public emacs-helm-mu
16674 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
16675 (package
16676 (name "emacs-helm-mu")
16677 (version (git-version "20180513" "1" commit))
16678 (source
16679 (origin
16680 (method git-fetch)
16681 (uri (git-reference
16682 (url "https://github.com/emacs-helm/helm-mu.git")
16683 (commit commit)))
16684 (file-name (git-file-name name version))
16685 (sha256
16686 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
16687 (build-system emacs-build-system)
16688 (propagated-inputs
16689 `(("emacs-helm" ,emacs-helm)
16690 ("mu" ,mu)))
16691 (home-page
16692 "https://github.com/emacs-helm/helm-mu")
16693 (synopsis
16694 "Helm sources for searching emails and contacts")
16695 (description
16696 "Helm sources for searching emails and contacts using @code{mu} and
16697 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
16698 Emacs build on top of mu. Mu is highly efficient making it possible to get
16699 instant results even for huge maildirs. It also provides search operators,
16700 e.g: @code{from:Peter to:Anne flag:attach search term}.")
16701 (license license:gpl3+))))
16702
16703 (define-public emacs-helm-pass
16704 (package
16705 (name "emacs-helm-pass")
16706 (version "0.3")
16707 (source
16708 (origin
16709 (method git-fetch)
16710 (uri (git-reference
16711 (url "https://github.com/emacs-helm/helm-pass")
16712 (commit version)))
16713 (file-name (git-file-name name version))
16714 (sha256
16715 (base32
16716 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
16717 (build-system emacs-build-system)
16718 (propagated-inputs
16719 `(("emacs-helm" ,emacs-helm)
16720 ("emacs-password-store" ,emacs-password-store)))
16721 (home-page "https://github.com/emacs-helm/helm-pass")
16722 (synopsis "Helm interface to pass, the standard Unix password manager")
16723 (description
16724 "Users of @code{helm-pass} may also be interested in functionality
16725 provided by other Emacs packages dealing with pass:
16726 @itemize
16727 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
16728 @item @code{emacs-pass}, a major mode for @code{pass}.
16729 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
16730 @code{pass}, included in Emacs 26+).
16731 @end itemize\n")
16732 (license license:gpl3+)))
16733
16734 (define-public emacs-image+
16735 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
16736 (package
16737 (name "emacs-image+")
16738 (version (git-version "0.6.2" "1" commit))
16739 (source
16740 (origin
16741 (method git-fetch)
16742 (uri (git-reference
16743 (url "https://github.com/mhayashi1120/Emacs-imagex")
16744 (commit commit)))
16745 (file-name (git-file-name name version))
16746 (sha256
16747 (base32
16748 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
16749 (build-system emacs-build-system)
16750 (inputs `(("imagemagick" ,imagemagick)))
16751 (arguments
16752 `(#:phases
16753 (modify-phases %standard-phases
16754 (add-after 'unpack 'configure
16755 (lambda* (#:key inputs outputs #:allow-other-keys)
16756 (let ((imagemagick (assoc-ref inputs "imagemagick")))
16757 ;; Specify the absolute file names of the various
16758 ;; programs so that everything works out-of-the-box.
16759 (chmod "image+.el" #o666)
16760 (emacs-substitute-variables
16761 "image+.el"
16762 ("imagex-convert-command"
16763 (string-append imagemagick "/bin/convert"))
16764 ("imagex-identify-command"
16765 (string-append imagemagick "/bin/identify")))))))))
16766 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
16767 (synopsis "Image manipulation extensions for Emacs")
16768 (description
16769 "Image+ provides keybindings allowing you to zoom in or zoom out of an
16770 image, rotate it, save modified images, and more.")
16771 (license license:gpl3+))))
16772
16773 (define-public emacs-package-lint
16774 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
16775 (package
16776 (name "emacs-package-lint")
16777 (version (git-version "0.5" "1" commit))
16778 (source
16779 (origin
16780 (method git-fetch)
16781 (uri (git-reference
16782 (url "https://github.com/purcell/package-lint")
16783 (commit commit)))
16784 (file-name (git-file-name name version))
16785 (sha256
16786 (base32
16787 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
16788 (build-system emacs-build-system)
16789 (home-page "https://github.com/purcell/package-lint")
16790 (synopsis "Linting library for elisp package authors")
16791 (description
16792 "This provides a list of issues with the Emacs package metadata of a file,
16793 e.g. the package dependencies it requires. See function
16794 @code{package-lint-buffer}. Checks will currently be enabled only if a
16795 \"Package-Requires:\" or \"Package-Version:\" header is present in the
16796 file.")
16797 (license license:gpl3+))))
16798
16799 (define-public emacs-picpocket
16800 (let ((version "40")
16801 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
16802 (package
16803 (name "emacs-picpocket")
16804 (version version)
16805 (source
16806 (origin
16807 (method git-fetch)
16808 (uri (git-reference
16809 (url "https://github.com/johanclaesson/picpocket")
16810 (commit commit)))
16811 (file-name (git-file-name name version))
16812 (sha256
16813 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
16814 (build-system emacs-build-system)
16815 (arguments ; needed for running tests
16816 `(#:tests? #t
16817 #:emacs ,emacs
16818 #:test-command '("emacs" "--batch"
16819 "-l" "picpocket-test.el"
16820 "-f" "ert-run-tests-batch-and-exit")))
16821 (home-page "https://github.com/johanclaesson/picpocket")
16822 (synopsis "Image viewer for Emacs")
16823 (description
16824 "Picpocket is an image viewer for GNU Emacs. It has commands for:
16825
16826 @itemize
16827 @item File operations on the picture files (delete, move, copy, hardlink).
16828 @item Scale and rotate the picture.
16829 @item Associate pictures with tags which are saved to disk.
16830 @item Filter pictures according to tags.
16831 @item Customizing keystrokes for quick tagging and file operations.
16832 @item Undo and browse history of undoable commands.
16833 @end itemize")
16834 (license license:gpl3+))))
16835
16836 (define-public emacs-mu4e-conversation
16837 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
16838 (revision "5"))
16839 (package
16840 (name "emacs-mu4e-conversation")
16841 (version (git-version "0.0.1" revision commit))
16842 (source
16843 (origin
16844 (method git-fetch)
16845 (uri (git-reference
16846 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
16847 (commit commit)))
16848 (file-name (git-file-name name version))
16849 (sha256
16850 (base32
16851 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
16852 (build-system emacs-build-system)
16853 (propagated-inputs
16854 `(("mu" ,mu)))
16855 (home-page
16856 "https://gitlab.com/Ambrevar/mu4e-conversation")
16857 (synopsis
16858 "Show a complete thread in a single buffer")
16859 (description
16860 "This package offers an alternate view to mu4e's e-mail display. It
16861 shows all e-mails of a thread in a single view, where each correspondent has
16862 their own face. Threads can be displayed linearly (in which case e-mails are
16863 displayed in chronological order) or as an Org document where the node tree
16864 maps the thread tree.")
16865 (license license:gpl3+))))
16866
16867 (define-public emacs-pinentry
16868 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
16869 (revision "1"))
16870 (package
16871 (name "emacs-pinentry")
16872 (version (git-version "0.1" revision commit))
16873 (source
16874 (origin
16875 (method url-fetch)
16876 (uri (string-append
16877 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
16878 "/packages/pinentry/pinentry.el?id=" commit))
16879 (file-name (string-append "pinentry.el"))
16880 (sha256
16881 (base32
16882 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
16883 (build-system emacs-build-system)
16884 (propagated-inputs
16885 `(("gnupg" ,gnupg)))
16886 (home-page "https://elpa.gnu.org/packages/pinentry.html")
16887 (synopsis "GnuPG Pinentry server implementation")
16888 (description
16889 "This package allows GnuPG passphrase to be prompted through the
16890 minibuffer instead of graphical dialog.
16891
16892 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
16893 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
16894 server with @code{M-x pinentry-start}.")
16895 (license license:gpl3+))))
16896
16897 (define-public emacs-so-long
16898 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
16899 (revision "2"))
16900 (package
16901 (name "emacs-so-long")
16902 (version (git-version "1.0" revision commit))
16903 (source
16904 (origin
16905 (method git-fetch)
16906 (uri (git-reference
16907 (url "https://git.savannah.gnu.org/git/so-long.git")
16908 (commit commit)))
16909 (file-name (git-file-name name version))
16910 (sha256
16911 (base32
16912 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
16913 (build-system emacs-build-system)
16914 (home-page "https://www.emacswiki.org/emacs/SoLong")
16915 (synopsis "Improve performance in files with long lines")
16916 (description "This package improves the performance of Emacs when
16917 viewing files with long lines.")
16918 (license license:gpl3+))))
16919
16920 (define-public emacs-github-review
16921 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
16922 (revision "2"))
16923 (package
16924 (name "emacs-github-review")
16925 (version (git-version "0.1" revision commit))
16926 (source
16927 (origin
16928 (method git-fetch)
16929 (uri (git-reference
16930 (url "https://github.com/charignon/github-review")
16931 (commit commit)))
16932 (file-name (git-file-name name version))
16933 (sha256
16934 (base32
16935 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
16936 (build-system emacs-build-system)
16937 (inputs
16938 `(("emacs-dash" ,emacs-dash)
16939 ("emacs-s" ,emacs-s)
16940 ("emacs-ghub" ,emacs-ghub)))
16941 (native-inputs
16942 `(("emacs-buttercup" ,emacs-buttercup)
16943 ("emacs-undercover" ,emacs-undercover)))
16944 (arguments
16945 `(#:tests? #t
16946 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
16947 (home-page "https://github.com/charignon/github-review")
16948 (synopsis "Review GitHub pull requests within Emacs")
16949 (description "This package provides commands to pull in, comment on, and
16950 accept and reject GitHub pull requests.")
16951 (license license:gpl3+))))
16952
16953 (define-public emacs-deadgrep
16954 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
16955 (revision "2"))
16956 (package
16957 (name "emacs-deadgrep")
16958 (version (git-version "0.8" revision commit))
16959 (source
16960 (origin
16961 (method git-fetch)
16962 (uri (git-reference
16963 (url "https://github.com/Wilfred/deadgrep")
16964 (commit commit)))
16965 (file-name (git-file-name name version))
16966 (sha256
16967 (base32
16968 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
16969 (build-system emacs-build-system)
16970 (inputs
16971 `(("emacs-dash" ,emacs-dash)
16972 ("emacs-s" ,emacs-s)
16973 ("emacs-spinner" ,emacs-spinner)))
16974 (home-page "https://github.com/Wilfred/deadgrep")
16975 (synopsis "Frontend for @code{ripgrep}")
16976 (description "This package provides an Emacs interface for performing
16977 searches with @code{ripgrep}.")
16978 (license license:gpl3+))))
16979
16980 (define-public emacs-focus
16981 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
16982 (version "0.1.1")
16983 (revision "1"))
16984 (package
16985 (name "emacs-focus")
16986 (version (git-version version revision commit))
16987 (source
16988 (origin
16989 (method git-fetch)
16990 (uri (git-reference
16991 (url "https://github.com/larstvei/Focus")
16992 (commit commit)))
16993 (file-name (git-file-name name version))
16994 (sha256
16995 (base32
16996 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
16997 (build-system emacs-build-system)
16998 (home-page "https://github.com/larstvei/Focus")
16999 (synopsis "Minor mode for focusing in on relevant text")
17000 (description "This package provides a minor mode that dims the color of
17001 text in neighboring sections.")
17002 (license license:gpl3+))))
17003
17004 (define-public emacs-pandoc-mode
17005 (package
17006 (name "emacs-pandoc-mode")
17007 (version "2.27.2")
17008 (source
17009 (origin
17010 (method git-fetch)
17011 (uri (git-reference
17012 (url "https://github.com/joostkremers/pandoc-mode")
17013 (commit version)))
17014 (file-name (git-file-name name version))
17015 (sha256
17016 (base32
17017 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
17018 (build-system emacs-build-system)
17019 (propagated-inputs
17020 `(("emacs-dash" ,emacs-dash)
17021 ("emacs-hydra" ,emacs-hydra)))
17022 (home-page "https://github.com/joostkremers/pandoc-mode")
17023 (synopsis "Minor mode for interacting with Pandoc")
17024 (description "This package provides a Hydra menu for interacting with the
17025 Pandoc, the document-conversion tool.")
17026 (license license:bsd-3)))
17027
17028 (define-public emacs-hlint-refactor-mode
17029 (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
17030 (revision "1"))
17031 (package
17032 (name "emacs-hlint-refactor-mode")
17033 (version (git-version "0.0.1" revision commit))
17034 (source
17035 (origin
17036 (method git-fetch)
17037 (uri (git-reference
17038 (url "https://github.com/mpickering/hlint-refactor-mode")
17039 (commit commit)))
17040 (file-name (git-file-name name version))
17041 (sha256
17042 (base32
17043 "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"))))
17044 (build-system emacs-build-system)
17045 (propagated-inputs
17046 `(("apply-refact" ,apply-refact)
17047 ("hlint" ,hlint)))
17048 (home-page "https://github.com/mpickering/hlint-refactor-mode")
17049 (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option")
17050 (description "This package applies refactoring suggestions from
17051 @code{hlint}.")
17052 (license license:expat))))
17053
17054 (define-public emacs-ccls
17055 (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0")
17056 (revision "4"))
17057 (package
17058 (name "emacs-ccls")
17059 (version (git-version "0.1" revision commit))
17060 (source
17061 (origin
17062 (method git-fetch)
17063 (uri (git-reference
17064 (url "https://github.com/MaskRay/emacs-ccls")
17065 (commit commit)))
17066 (file-name (git-file-name name version))
17067 (sha256
17068 (base32
17069 "1ykgw21ypyhwlyflppjcgqrj1xw4d9rld4z65qvwhk3f12cv113j"))))
17070 (build-system emacs-build-system)
17071 (propagated-inputs
17072 `(("ccls" ,ccls)
17073 ("emacs-dash" ,emacs-dash)
17074 ("emacs-projectile" ,emacs-projectile)
17075 ("emacs-lsp-mode" ,emacs-lsp-mode)))
17076 (home-page "https://github.com/MaskRay/emacs-ccls")
17077 (synopsis "Emacs support for the @code{ccls} language server")
17078 (description "This package extends @code{lsp-mode} to work with @code{C}
17079 and @code{C++} files through the @code{ccls} language server.")
17080 (license license:expat))))
17081
17082 (define-public emacs-org-brain
17083 (package
17084 (name "emacs-org-brain")
17085 (version "0.5")
17086 (source
17087 (origin
17088 (method git-fetch)
17089 (uri (git-reference
17090 (url "https://github.com/Kungsgeten/org-brain.git")
17091 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
17092 (file-name (git-file-name name version))
17093 (sha256
17094 (base32
17095 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
17096 (build-system emacs-build-system)
17097 (home-page "https://github.com/Kungsgeten/org-brain")
17098 (synopsis "Org-mode wiki and concept-mapping for Emacs")
17099 (description "@code{emacs-org-brain} implements a variant of concept
17100 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
17101 org-mode entries, where each entry is a file or a headline, and you can get a
17102 visual overview of the relationships between the entries: parents, children,
17103 siblings and friends. This visual overview can also be used to browse your
17104 entries. You can think of entries as nodes in a mind map, or pages in a
17105 wiki.")
17106 (license license:expat)))
17107
17108 (define-public emacs-recent-addresses
17109 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
17110 (revision "1"))
17111 (package
17112 (name "emacs-recent-addresses")
17113 (home-page "https://nschum.de/src/emacs/recent-addresses/")
17114 (version (git-version "0.1" revision commit))
17115 (source (origin
17116 (method git-fetch)
17117 (uri (git-reference
17118 ;; Note: Use a branch that works with Helm. Submitted
17119 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
17120 (url "https://github.com/civodul/recent-addresses.el")
17121 (commit commit)))
17122 (sha256
17123 (base32
17124 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
17125 (file-name (git-file-name name version))))
17126 (build-system emacs-build-system)
17127 (synopsis "Record recently-used email addressed and auto-complete them")
17128 (description
17129 "@code{recent-addresses} is an Emacs package that allows you to quickly
17130 look up previously used email addresses. It can be used alongside the Gnus
17131 email client.")
17132 (license license:gpl2+))))
17133
17134 (define-public emacs-fold-dwim
17135 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
17136 (revision "0"))
17137 (package
17138 (name "emacs-fold-dwim")
17139 (version (git-version "1.2" revision commit))
17140 (home-page "https://github.com/emacsattic/fold-dwim")
17141 (source (origin
17142 (method git-fetch)
17143 (uri (git-reference (url home-page) (commit commit)))
17144 (sha256
17145 (base32
17146 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
17147 (file-name (git-file-name name version))))
17148 (build-system emacs-build-system)
17149 (synopsis "Unified user interface for Emacs folding modes")
17150 (description
17151 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
17152 can do different things depending on the context. In this package, it means
17153 that, if the cursor is in a currently hidden folded construction, we want to
17154 show it; if it's not, we want to hide whatever fold the cursor is in.")
17155 (license license:gpl2+))))
17156
17157 (define-public emacs-markup-faces
17158 (package
17159 (name "emacs-markup-faces")
17160 (version "1.0.0")
17161 (source
17162 (origin
17163 (method url-fetch)
17164 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
17165 version ".el"))
17166 (sha256
17167 (base32
17168 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
17169 (build-system emacs-build-system)
17170 (home-page "https://github.com/sensorflo/markup-faces")
17171 (synopsis "Collection of Emacs faces for markup language modes")
17172 (description "emacs-markup-faces is like font-lock-faces, but tailored for
17173 markup languages instead programming languages. The sub group markup-faces-text
17174 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
17175 common look and feel, or let's say theme, across different markup language modes
17176 and 'text viewing modes' respectively.")
17177 (license license:gpl3+)))
17178
17179 (define-public emacs-adoc-mode
17180 (package
17181 (name "emacs-adoc-mode")
17182 (version "0.6.6")
17183 (source
17184 (origin
17185 (method git-fetch)
17186 (uri (git-reference
17187 (url "https://github.com/sensorflo/adoc-mode.git")
17188 (commit (string-append "V" version))))
17189 (file-name (git-file-name name version))
17190 (sha256
17191 (base32
17192 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
17193 (build-system emacs-build-system)
17194 (arguments
17195 `(#:phases
17196 (modify-phases %standard-phases
17197 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
17198 (add-after 'unpack 'disable-failing-tests
17199 (lambda _
17200 (let-syntax
17201 ((disable-tests
17202 (syntax-rules ()
17203 ((_ file ())
17204 (syntax-error "test names list must not be empty"))
17205 ((_ file (test-name ...))
17206 (substitute* file
17207 (((string-append "^\\(ert-deftest " test-name ".*") all)
17208 (string-append all "(skip-unless nil)\n")) ...)))))
17209 (disable-tests "adoc-mode-test.el"
17210 ("adoctest-test-tempo-delimited-blocks"
17211 "adoctest-test-tempo-macros"
17212 "adoctest-test-tempo-paragraphs"
17213 "adoctest-test-tempo-passthroug-macros"
17214 "adoctest-test-tempo-quotes")))
17215 #t)))
17216 #:tests? #t
17217 #:test-command '("emacs" "-Q" "-batch"
17218 "-l" "adoc-mode-test.el"
17219 "-f" "ert-run-tests-batch-and-exit")))
17220 (propagated-inputs
17221 `(("emacs-markup-faces" ,emacs-markup-faces)))
17222 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
17223 (synopsis "AsciiDoc mode for Emacs")
17224 (description "This package provides an Emacs major mode for editing AsciiDoc
17225 files. It focuses on highlighting the document to improve readability.")
17226 (license license:gpl2+)))
17227
17228 (define-public emacs-racer
17229 (package
17230 (name "emacs-racer")
17231 (version "1.2")
17232 (source
17233 (origin
17234 (method git-fetch)
17235 (uri
17236 (git-reference
17237 (url "https://github.com/racer-rust/emacs-racer")
17238 (commit version)))
17239 (file-name (git-file-name name version))
17240 (sha256
17241 (base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6"))))
17242 (arguments
17243 `(#:tests? #t
17244 #:test-command '("make" "test")
17245 #:phases
17246 (modify-phases %standard-phases
17247 (add-before 'check 'fix-makefile
17248 (lambda _
17249 (substitute* "Makefile"
17250 (("\\$\\{CASK\\} exec ") ""))
17251 #t)))))
17252 (native-inputs
17253 `(("emacs-ert-runner" ,emacs-ert-runner)
17254 ("emacs-undercover" ,emacs-undercover)))
17255 (propagated-inputs
17256 `(("emacs-dash" ,emacs-dash)
17257 ("emacs-f" ,emacs-f)
17258 ("emacs-pos-tip" ,emacs-pos-tip)
17259 ("emacs-rust-mode" ,emacs-rust-mode)
17260 ("emacs-s" ,emacs-s)))
17261 (build-system emacs-build-system)
17262 (home-page "https://github.com/racer-rust/emacs-racer")
17263 (synopsis "Racer support for Emacs")
17264 (description
17265 "This is the official Emacs package for Racer. It supports code
17266 completion of variables, functions and modules. It can also jump to
17267 definition of functions and types, and show a help buffer based on the
17268 docstring of the thing at point.")
17269 (license license:expat)))
17270
17271 (define-public emacs-rust-mode
17272 (package
17273 (name "emacs-rust-mode")
17274 (version "0.4.0")
17275 (source (origin
17276 (method git-fetch)
17277 (uri (git-reference
17278 (url "https://github.com/rust-lang/rust-mode")
17279 (commit version)))
17280 (file-name (git-file-name name version))
17281 (sha256
17282 (base32
17283 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
17284 (build-system emacs-build-system)
17285 (arguments
17286 `(#:phases
17287 (modify-phases %standard-phases
17288 (replace 'check
17289 (lambda _
17290 (invoke "sh" "run_rust_emacs_tests.sh"))))))
17291 (home-page "https://github.com/rust-lang/rust-mode")
17292 (synopsis "Major Emacs mode for editing Rust source code")
17293 (description "This package provides a major Emacs mode for editing Rust
17294 source code.")
17295 (license (list license:expat
17296 license:asl2.0))))
17297
17298 (define-public emacs-ztree
17299 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
17300 (package
17301 (name "emacs-ztree")
17302 (version (git-version "1.0.5" "1" commit))
17303 (source
17304 (origin
17305 (method git-fetch)
17306 (uri (git-reference
17307 (url "https://github.com/fourier/ztree")
17308 (commit commit)))
17309 (file-name (git-file-name name version))
17310 (sha256
17311 (base32
17312 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
17313 (build-system emacs-build-system)
17314 (home-page "https://github.com/fourier/ztree")
17315 (synopsis "Directory tree comparison mode for Emacs")
17316 (description "Ztree is a project dedicated to implementation of several
17317 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
17318 @command{ztree-diff} and @command{ztree-dir} (the basis of
17319 @command{ztree-diff}).")
17320 (license license:gpl3))))
17321
17322 (define-public emacs-helm-org-contacts
17323 (let ((commit "e7f11615802df55bb8b679450b5a5ef82a9081f9"))
17324 (package
17325 (name "emacs-helm-org-contacts")
17326 (version (git-version "20200310" "1" commit))
17327 (source
17328 (origin
17329 (method git-fetch)
17330 (uri (git-reference
17331 (url "https://github.com/tmalsburg/helm-org-contacts")
17332 (commit commit)))
17333 (file-name (git-file-name name version))
17334 (sha256
17335 (base32
17336 "06a1gbrq3qcfsn0kyv4i24x1xxfrrwqa3kgfj4xa4va88q2vqyb5"))))
17337 (build-system emacs-build-system)
17338 (propagated-inputs
17339 `(("emacs-dash" ,emacs-dash)
17340 ("emacs-helm" ,emacs-helm)
17341 ("emacs-s" ,emacs-s)))
17342 (home-page "https://github.com/tmalsburg/helm-org-contacts")
17343 (synopsis "Helm source for org-contacts")
17344 (description "This Helm source can be used to search contacts stored in
17345 org-contacts format. There are actions for inserting postal addresses, email
17346 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
17347 was called.")
17348 (license license:gpl3))))
17349
17350 (define-public emacs-dired-du
17351 (package
17352 (name "emacs-dired-du")
17353 (version "0.5.2")
17354 (source
17355 (origin
17356 (method url-fetch)
17357 (uri (string-append
17358 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
17359 (sha256
17360 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
17361 (build-system emacs-build-system)
17362 (home-page "https://elpa.gnu.org/packages/dired-du.html")
17363 (synopsis "Dired with recursive directory sizes")
17364 (description
17365 "Display the recursive size of directories in Dired.
17366 This file defines a minor mode @command{dired-du-mode} to show the recursive
17367 size of directories in Dired buffers. If @command{du} program is available,
17368 then the directory sizes are obtained with it. Otherwise, the directory sizes
17369 are obtained with Lisp. The former is faster and provide a more precise
17370 value. For directories where the user doesn't have read permission, the
17371 recursive size is not obtained. Once this mode is enabled, every new Dired
17372 buffer displays recursive dir sizes.")
17373 (license license:gpl3+)))
17374
17375 (define-public emacs-dired-rsync
17376 (package
17377 (name "emacs-dired-rsync")
17378 (version "0.4")
17379 (source (origin
17380 (method git-fetch)
17381 (uri (git-reference
17382 (url "https://github.com/stsquad/dired-rsync.git")
17383 (commit version)))
17384 (file-name (git-file-name name version))
17385 (sha256
17386 (base32
17387 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
17388 (build-system emacs-build-system)
17389 (propagated-inputs
17390 `(("emacs-s" ,emacs-s)
17391 ("emacs-dash" ,emacs-dash)))
17392 (home-page "https://github.com/stsquad/dired-rsync/")
17393 (synopsis "Support for rsync from Emacs dired buffers")
17394 (description "This package adds a single command @code{dired-rsync} which
17395 allows the user to copy marked files in a dired buffer via @code{rsync}. This
17396 is useful, especially for large files, because the copy happens in the
17397 background and doesn’t lock up Emacs. It is also more efficient than using
17398 tramps own encoding methods for moving data between systems.")
17399 (license license:gpl3+)))
17400
17401 (define-public emacs-pcre2el
17402 ;; Last release is very old so we get the latest commit.
17403 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
17404 (package
17405 (name "emacs-pcre2el")
17406 (version (git-version "1.8" "1" commit))
17407 (source
17408 (origin
17409 (method git-fetch)
17410 (uri (git-reference
17411 (url "https://github.com/joddie/pcre2el")
17412 (commit commit)))
17413 (file-name (git-file-name name version))
17414 (sha256
17415 (base32
17416 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
17417 (build-system emacs-build-system)
17418 (home-page "https://github.com/joddie/pcre2el")
17419 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
17420 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
17421 Tools) is a utility for working with regular expressions in Emacs, based on a
17422 recursive-descent parser for regexp syntax. In addition to converting (a
17423 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
17424
17425 @itemize
17426 @item convert Emacs syntax to PCRE
17427 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
17428 @item untangle complex regexps by showing the parse tree in @code{rx} form and
17429 highlighting the corresponding chunks of code
17430 @item show the complete list of strings (productions) matching a regexp,
17431 provided the list is finite
17432 @item provide live font-locking of regexp syntax (so far only for Elisp
17433 buffers – other modes on the TODO list).
17434 @end itemize\n")
17435 (license license:gpl3))))
17436
17437 (define-public emacs-magit-todos
17438 (package
17439 (name "emacs-magit-todos")
17440 (version "1.4.1")
17441 (source
17442 (origin
17443 (method git-fetch)
17444 (uri (git-reference
17445 (url "https://github.com/alphapapa/magit-todos")
17446 (commit version)))
17447 (file-name (git-file-name name version))
17448 (sha256
17449 (base32
17450 "1rcl6j53yabxqk3jzgaxvm3wqq7rayf1hdib2v2fapw5b0layym6"))))
17451 (build-system emacs-build-system)
17452 (propagated-inputs
17453 `(("emacs-async" ,emacs-async)
17454 ("emacs-dash" ,emacs-dash)
17455 ("emacs-f" ,emacs-f)
17456 ("emacs-hl-todo" ,emacs-hl-todo)
17457 ("magit" ,emacs-magit)
17458 ("emacs-pcre2el" ,emacs-pcre2el)
17459 ("emacs-s" ,emacs-s)))
17460 (home-page "https://github.com/alphapapa/magit-todos")
17461 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
17462 (description "This package displays keyword entries from source code
17463 comments and Org files in the Magit status buffer. Activating an item jumps
17464 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
17465 few (like NOTE).")
17466 (license license:gpl3)))
17467
17468 (define-public emacs-git-annex
17469 ;; Unreleased version has a fontification fix.
17470 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
17471 (revision "2"))
17472 (package
17473 (name "emacs-git-annex")
17474 (version (git-version "1.1" revision commit))
17475 (source
17476 (origin
17477 (method git-fetch)
17478 (uri (git-reference
17479 (url "https://github.com/jwiegley/git-annex-el")
17480 (commit commit)))
17481 (file-name (git-file-name name version))
17482 (sha256
17483 (base32
17484 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
17485 (build-system emacs-build-system)
17486 (home-page "https://github.com/jwiegley/git-annex-el")
17487 (synopsis "Emacs integration for git-annex")
17488 (description "Enhances Dired and buffers visiting annex files with
17489 git-annex functionality. In Dired, the names of annex files are shortened by
17490 hiding the symbolic links and fontified based on whether content is present.
17491 Commands for performing some common operations (e.g., unlocking and adding
17492 files) are provided.")
17493 (license license:gpl2+))))
17494
17495 (define-public emacs-hackernews
17496 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
17497 (revision "2"))
17498 (package
17499 (name "emacs-hackernews")
17500 (version (git-version "0.5.0" revision commit))
17501 (source
17502 (origin
17503 (method git-fetch)
17504 (uri (git-reference
17505 (url "https://github.com/clarete/hackernews.el")
17506 (commit commit)))
17507 (file-name (git-file-name name version))
17508 (sha256
17509 (base32
17510 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
17511 (build-system emacs-build-system)
17512 (home-page "https://github.com/clarete/hackernews.el")
17513 (synopsis "Hacker News client for Emacs")
17514 (description "The @command{hackernews} package is able to fetch stories
17515 from six different Hacker News feeds, namely top, new, best, ask, show and job
17516 stories. The default feed is top stories, which corresponds to the Hacker
17517 News homepage.")
17518 (license license:gpl3))))
17519
17520 (define-public emacs-youtube-dl
17521 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
17522 (revision "2"))
17523 (package
17524 (name "emacs-youtube-dl")
17525 (version (git-version "1.0" "2" commit))
17526 (source
17527 (origin
17528 (method git-fetch)
17529 (uri (git-reference
17530 (url "https://github.com/skeeto/youtube-dl-emacs/")
17531 (commit commit)))
17532 (file-name (git-file-name name version))
17533 (sha256
17534 (base32
17535 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
17536 (build-system emacs-build-system)
17537 (inputs
17538 `(("youtube-dl" ,youtube-dl)))
17539 (arguments
17540 `(#:phases
17541 (modify-phases %standard-phases
17542 (add-after 'unpack 'configure
17543 (lambda* (#:key inputs #:allow-other-keys)
17544 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
17545 ;; .el is read-only in git.
17546 (chmod "youtube-dl.el" #o644)
17547 ;; Specify the absolute file names of the various
17548 ;; programs so that everything works out-of-the-box.
17549 (emacs-substitute-variables
17550 "youtube-dl.el"
17551 ("youtube-dl-program"
17552 (string-append youtube-dl "/bin/youtube-dl")))))))))
17553 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
17554 (synopsis "Emacs youtube-dl download manager")
17555 (description "This package manages a video download queue for
17556 @command{youtube-dl}, which serves as the back end. It manages a single
17557 @command{youtube-dl} subprocess, downloading one video at a time. New videos
17558 can be queued at any time.")
17559 (license license:unlicense))))
17560
17561 (define-public emacs-org-web-tools
17562 (package
17563 (name "emacs-org-web-tools")
17564 (version "1.0")
17565 (source
17566 (origin
17567 (method git-fetch)
17568 (uri (git-reference
17569 (url "https://github.com/alphapapa/org-web-tools")
17570 (commit version)))
17571 (file-name (git-file-name name version))
17572 (sha256
17573 (base32
17574 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
17575 (build-system emacs-build-system)
17576 (propagated-inputs
17577 `(("emacs-dash" ,emacs-dash)
17578 ("emacs-esxml" ,emacs-esxml)
17579 ("emacs-s" ,emacs-s)))
17580 (inputs
17581 `(("pandoc" ,ghc-pandoc)))
17582 (arguments
17583 `(#:phases
17584 (modify-phases %standard-phases
17585 (add-after 'unpack 'patch-exec-paths
17586 (lambda* (#:key inputs #:allow-other-keys)
17587 (let ((pandoc (assoc-ref inputs "pandoc")))
17588 (substitute* "org-web-tools.el"
17589 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
17590 #t))))))
17591 (home-page "https://github.com/alphapapa/org-web-tools")
17592 (synopsis "Display/Process web page as Org-mode content")
17593 (description "This package contains library functions and commands useful
17594 for retrieving web page content and processing it into Org-mode content.
17595
17596 For example, you can copy a URL to the clipboard or kill-ring, then run a
17597 command that downloads the page, isolates the “readable” content with
17598 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
17599 displays it in an Org-mode buffer. Another command does all of that but
17600 inserts it as an Org entry instead of displaying it in a new buffer.")
17601 (license license:gpl3+)))
17602
17603 (define-public emacs-blimp
17604 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
17605 (package
17606 (name "emacs-blimp")
17607 (version (git-version "0.0.0" "1" commit))
17608 (source
17609 (origin
17610 (method git-fetch)
17611 (uri (git-reference
17612 (url "https://github.com/walseb/blimp")
17613 (commit commit)))
17614 (file-name (git-file-name name version))
17615 (sha256
17616 (base32
17617 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
17618 (build-system emacs-build-system)
17619 (propagated-inputs
17620 `(("emacs-eimp" ,emacs-eimp)))
17621 (home-page "https://github.com/walseb/blimp")
17622 (synopsis "Emacs wrapper around all Imagemagick commands")
17623 (description "Blimp (Bustling Image Manipulation Package) is a complete
17624 wrapper around all Imagemagick commands with descriptions, autocompletion (for
17625 some commands) and hints displayed in prompt using @command{eimp.el} to
17626 execute its commands and resize images.")
17627 (license license:gpl3+))))
17628
17629 (define-public emacs-synosaurus
17630 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
17631 (package
17632 (name "emacs-synosaurus")
17633 (version (git-version "0.1.0" "1" commit))
17634 (source
17635 (origin
17636 (method git-fetch)
17637 (uri (git-reference
17638 (url "https://github.com/hpdeifel/synosaurus")
17639 (commit commit)))
17640 (file-name (git-file-name name version))
17641 (sha256
17642 (base32
17643 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
17644 (build-system emacs-build-system)
17645 (propagated-inputs
17646 `(("wordnet" ,wordnet)))
17647 (arguments
17648 `(#:phases
17649 (modify-phases %standard-phases
17650 (add-after 'unpack 'configure
17651 (lambda* (#:key inputs outputs #:allow-other-keys)
17652 (let ((wn (assoc-ref inputs "wordnet")))
17653 ;; .el is read-only in git.
17654 (chmod "synosaurus-wordnet.el" #o644)
17655 ;; Specify the absolute file names of the various
17656 ;; programs so that everything works out-of-the-box.
17657 (emacs-substitute-variables
17658 "synosaurus-wordnet.el"
17659 ("wordnet-command"
17660 (string-append wn "/bin/wn")))))))))
17661 (home-page "https://github.com/hpdeifel/synosaurus")
17662 (synopsis "Extensible thesaurus mode for Emacs")
17663 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
17664 backends, including the @command{wordnet} offline backend.")
17665 (license license:gpl3+))))
17666
17667 (define-public emacs-editorconfig
17668 (package
17669 (name "emacs-editorconfig")
17670 (version "0.8.1")
17671 (source
17672 (origin
17673 (method git-fetch)
17674 (uri (git-reference
17675 (url "https://github.com/editorconfig/editorconfig-emacs")
17676 (commit (string-append "v" version))))
17677 (file-name (git-file-name name version))
17678 (sha256
17679 (base32
17680 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
17681 (build-system emacs-build-system)
17682 (home-page "https://github.com/editorconfig/editorconfig-emacs")
17683 (synopsis "Define and maintain consistent coding styles between different
17684 editors and IDEs")
17685 (description "The EditorConfig project consists of a file format for
17686 defining coding styles and a collection of text editor plugins that enable
17687 editors to read the file format and adhere to defined styles. EditorConfig
17688 files are easily readable and they work nicely with version control systems.")
17689 (license license:gpl3+)))
17690
17691 (define-public emacs-all-the-icons
17692 (package
17693 (name "emacs-all-the-icons")
17694 (version "4.0.1")
17695 (source
17696 (origin
17697 (method git-fetch)
17698 (uri (git-reference
17699 (url "https://github.com/domtronn/all-the-icons.el.git")
17700 (commit version)))
17701 (file-name (git-file-name name version))
17702 (sha256
17703 (base32 "0yh7gnv9xfqn8q4rzaa6wpyn9575vyfxy7d3afly2mqsb367fgm5"))))
17704 (build-system emacs-build-system)
17705 (arguments
17706 `(#:include '("\\.el$" "^data/" "^fonts/")
17707 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
17708 ;; all-the-icons--root-code". Ignoring tests.
17709 #:exclude '("^test/")
17710 #:tests? #f))
17711 (propagated-inputs
17712 `(("f" ,emacs-f)
17713 ("memoize" ,emacs-memoize)))
17714 (home-page "https://github.com/domtronn/all-the-icons.el")
17715 (synopsis "Collect icon fonts and propertize them within Emacs")
17716 (description
17717 "All-the-icons is a utility package to collect various icon fonts and
17718 propertize them within Emacs. Icon fonts allow you to propertize and format
17719 icons the same way you would normal text. This enables things such as better
17720 scaling of and anti aliasing of the icons.")
17721 ;; Package is released under Expat license. Elisp files are licensed
17722 ;; under GPL3+. Fonts come with various licenses: Expat for
17723 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
17724 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
17725 ;; "ocitcons.ttf" and "weathericons.ttf".
17726 (license
17727 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
17728
17729 (define-public emacs-wttrin
17730 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
17731 (revision "1"))
17732 (package
17733 (name "emacs-wttrin")
17734 (version (git-version "0.2.0" revision commit))
17735 (source (origin
17736 (method git-fetch)
17737 (uri (git-reference
17738 (url "https://github.com/bcbcarl/emacs-wttrin.git")
17739 (commit commit)))
17740 (file-name (git-file-name name version))
17741 (sha256
17742 (base32
17743 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
17744 (build-system emacs-build-system)
17745 (propagated-inputs
17746 `(("emacs-xterm-color" ,emacs-xterm-color)))
17747 (home-page "https://github.com/bcbcarl/emacs-wttrin")
17748 (synopsis "Frontend for weather web service @url{wttr.in}")
17749 (description "This package provides local weather information from
17750 @url{wttr.in}.")
17751 (license license:expat))))
17752
17753 (define-public emacs-powerline
17754 (package
17755 (name "emacs-powerline")
17756 (version "2.4")
17757 (source
17758 (origin
17759 (method git-fetch)
17760 (uri (git-reference
17761 (url "https://github.com/milkypostman/powerline.git")
17762 (commit version)))
17763 (file-name (git-file-name name version))
17764 (sha256
17765 (base32
17766 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
17767 (build-system emacs-build-system)
17768 (home-page "https://github.com/milkypostman/powerline/")
17769 (synopsis "Mode-line plugin for Emacs")
17770 (description "Powerline is a utility plugin which allows you to create
17771 a better-looking, more functional Emacs mode-line. A collection of predefined
17772 themes comes with the package.")
17773 (license license:gpl3+)))
17774
17775 (define-public emacs-spaceline
17776 (package
17777 (name "emacs-spaceline")
17778 (version "2.0.1")
17779 (source
17780 (origin
17781 (method git-fetch)
17782 (uri (git-reference
17783 (url "https://github.com/TheBB/spaceline.git")
17784 (commit (string-append "v" version))))
17785 (file-name (git-file-name name version))
17786 (sha256
17787 (base32
17788 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
17789 (build-system emacs-build-system)
17790 (propagated-inputs
17791 `(("dash" ,emacs-dash)
17792 ("powerline" ,emacs-powerline)
17793 ("s" ,emacs-s)))
17794 (home-page "https://github.com/TheBB/spaceline")
17795 (synopsis "Powerline theme from Spacemacs")
17796 (description "Spaceline provides Spacemacs' mode-line theme.
17797 This package provides features for three kinds of users.
17798
17799 @itemize
17800 @item You just want to use the Spacemacs mode-line theme and forget about it.
17801 @item You want to use something similar to the Spacemacs mode-line theme, but
17802 with a handful of easy tweaks.
17803 @item You want an easy-to-use library for building your own mode-line from
17804 scratch, and you think the Spacemacs theme looks good.
17805 @end itemize")
17806 (license license:gpl3+)))
17807
17808 (define-public emacs-column-marker
17809 (package
17810 (name "emacs-column-marker")
17811 (version "9")
17812 (source
17813 (origin
17814 (method url-fetch)
17815 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
17816 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
17817 (build-system emacs-build-system)
17818 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
17819 (synopsis "Emacs mode for highlighting columns")
17820 (description
17821 "With @code{column-marker.el} you can highlight any number of text columns.
17822 Three such highlight column markers are provided by default. This is
17823 especially useful for languages like COBOL or Fortran where certain columns
17824 have special meaning. It is also handy for aligning text across long vertical
17825 distances. Multi-column characters, such as @kbd{TAB} are treated
17826 correctly.")
17827 (license license:gpl2+)))
17828
17829 (define-public emacs-slime-repl-ansi-color
17830 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
17831 (package
17832 (name "emacs-slime-repl-ansi-color")
17833 (version (git-version "0.0.0" "1" commit))
17834 (source (origin
17835 (method git-fetch)
17836 (uri (git-reference
17837 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
17838 (commit commit)))
17839 (file-name (git-file-name name version))
17840 (sha256
17841 (base32
17842 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
17843 (build-system emacs-build-system)
17844 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
17845 (synopsis "Color ANSI codes in the REPL of SLIME")
17846 (description "Color ANSI codes in the REPL of SLIME")
17847 (license license:gpl2+))))
17848
17849 (define-public emacs-helm-slime
17850 (package
17851 (name "emacs-helm-slime")
17852 (version "0.4.0")
17853 (source (origin
17854 (method git-fetch)
17855 (uri (git-reference
17856 (url "https://github.com/emacs-helm/helm-slime")
17857 (commit version)))
17858 (file-name (git-file-name name version))
17859 (sha256
17860 (base32
17861 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
17862 (build-system emacs-build-system)
17863 (propagated-inputs
17864 `(("emacs-helm" ,emacs-helm)
17865 ("emacs-slime" ,emacs-slime)))
17866 (home-page "https://github.com/emacs-helm/helm-slime")
17867 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
17868 (description "Helm-SLIME defines a few new commands:
17869
17870 @itemize
17871 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
17872 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
17873 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
17874 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
17875 @end itemize\n")
17876 (license license:gpl3+)))
17877
17878 (define-public emacs-helm-sly
17879 (package
17880 (name "emacs-helm-sly")
17881 (version "0.4.1")
17882 (source (origin
17883 (method git-fetch)
17884 (uri (git-reference
17885 (url "https://github.com/emacs-helm/helm-sly")
17886 (commit version)))
17887 (file-name (git-file-name name version))
17888 (sha256
17889 (base32
17890 "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
17891 (build-system emacs-build-system)
17892 (propagated-inputs
17893 `(("emacs-helm" ,emacs-helm)
17894 ("emacs-sly" ,emacs-sly)))
17895 (home-page "https://github.com/emacs-helm/helm-sly")
17896 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
17897 (description "Helm-SLY defines a few new commands:
17898
17899 @itemize
17900 @item helm-sly-list-connections: Yet another Lisp connection list with Helm.
17901 @item: helm-sly-apropos: Yet another @command{apropos} with Helm.
17902 @item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
17903 extra source of Lisp-related buffers, like the events buffer or the scratch
17904 buffer.
17905 @end itemize\n")
17906 (license license:gpl3+)))
17907
17908 (define-public emacs-gtk-look
17909 (package
17910 (name "emacs-gtk-look")
17911 (version "29")
17912 (source (origin
17913 (method url-fetch)
17914 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
17915 (sha256
17916 (base32
17917 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
17918 (build-system emacs-build-system)
17919 (arguments
17920 `(#:phases
17921 (modify-phases %standard-phases
17922 (add-after 'unpack 'configure
17923 (lambda _
17924 ;; File is read-only.
17925 (chmod "gtk-look.el" #o644)
17926 (emacs-substitute-variables "gtk-look.el"
17927 ("gtk-lookup-devhelp-indices"
17928 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
17929 #t)))))
17930 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
17931 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
17932 (description "@command{gtk-look} finds and displays HTML documentation for
17933 GTK, GNOME and Glib functions and variables in Emacs, similar to what
17934 info-lookup-symbol does for info files (C-h S). The documentation is expected
17935 to be devhelp indexes with HTML files. The location of the indexes can be
17936 customized. In addition to C code development @command{gtk-look} is good for
17937
17938 @itemize
17939 @item @command{perl-gtk2}, recognising class funcs like
17940 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
17941 @item @command{guile-gnome}, recognising methods like @command{set-text} and
17942 classes like @command{<gtk-window>}.
17943 @end itemize\n")
17944 (license license:gpl3+)))
17945
17946 (define-public emacs-ov
17947 (package
17948 (name "emacs-ov")
17949 (version "1.0.6")
17950 (source (origin
17951 (method git-fetch)
17952 (uri (git-reference
17953 (url "https://github.com/ShingoFukuyama/ov.el.git")
17954 (commit version)))
17955 (file-name (git-file-name name version))
17956 (sha256
17957 (base32
17958 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
17959 (build-system emacs-build-system)
17960 (home-page "https://github.com/ShingoFukuyama/ov.el")
17961 (synopsis "Overlay library for Emacs Lisp")
17962 (description "@code{ov.el} provides a simple way to manipulate overlays in
17963 Emacs.")
17964 (license license:gpl3+)))
17965
17966 (define-public emacs-matrix-client
17967 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
17968 (package
17969 (name "emacs-matrix-client")
17970 (version (git-version "0.0.0" "4" commit))
17971 (source (origin
17972 (method git-fetch)
17973 (uri (git-reference
17974 (url "https://github.com/jgkamat/matrix-client-el.git")
17975 (commit commit)))
17976 (file-name (git-file-name name version))
17977 (sha256
17978 (base32
17979 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
17980 (build-system emacs-build-system)
17981 (arguments
17982 `(#:phases
17983 (modify-phases %standard-phases
17984 (add-after 'unpack 'add-missing-require
17985 ;; Fix a filter error at runtime due to a missing require.
17986 ;; Reported upstream:
17987 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
17988 (lambda _
17989 (substitute* "matrix-client-room.el"
17990 (("\\(require 'dash-functional\\)" all)
17991 (string-append all "\n" "(require 'anaphora)")))
17992 #t)))))
17993 (propagated-inputs
17994 `(("a" ,emacs-a)
17995 ("anaphora" ,emacs-anaphora)
17996 ("dash" ,emacs-dash)
17997 ("esxml" ,emacs-esxml)
17998 ("f" ,emacs-f)
17999 ("frame-purpose" ,emacs-frame-purpose)
18000 ("ht" ,emacs-ht)
18001 ("ov" ,emacs-ov)
18002 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
18003 ("request" ,emacs-request)
18004 ("s" ,emacs-s)
18005 ("tracking" ,emacs-tracking)))
18006 (home-page "https://github.com/jgkamat/matrix-client-el")
18007 (synopsis "Matrix client for Emacs")
18008 (description "@code{matrix-client} is a simple chat UI to Matrix.org
18009 rooms. It also provides an API which allows Emacs to seamlessly create
18010 RPC channels with users and other software.")
18011 (license license:gpl3+))))
18012
18013 (define-public emacs-sesman
18014 (package
18015 (name "emacs-sesman")
18016 (version "0.3.4")
18017 (source
18018 (origin
18019 (method git-fetch)
18020 (uri (git-reference
18021 (url "https://github.com/vspinu/sesman.git")
18022 (commit (string-append "v" version))))
18023 (file-name (git-file-name name version))
18024 (sha256
18025 (base32
18026 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
18027 (build-system emacs-build-system)
18028 (arguments
18029 `(#:phases
18030 (modify-phases %standard-phases
18031 (add-after 'unpack 'set-shell
18032 ;; Setting the SHELL environment variable is required for the tests
18033 ;; to find sh.
18034 (lambda _
18035 (setenv "SHELL" (which "sh"))
18036 #t)))
18037 #:tests? #t
18038 #:test-command '("make" "test")))
18039 (home-page "https://github.com/vspinu/sesman")
18040 (synopsis "Session manager for Emacs based IDEs")
18041 (description "Sesman provides facilities for session management and
18042 interactive session association with the current contexts (project, directory,
18043 buffers). While sesman can be used to manage arbitrary sessions, it primary
18044 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
18045 (license license:gpl3+)))
18046
18047 (define-public emacs-buttercup
18048 (package
18049 (name "emacs-buttercup")
18050 (version "1.16")
18051 (source
18052 (origin
18053 (method git-fetch)
18054 (uri (git-reference
18055 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
18056 (commit (string-append "v" version))))
18057 (file-name (git-file-name name version))
18058 (sha256
18059 (base32
18060 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
18061 (build-system emacs-build-system)
18062 (arguments
18063 `(#:tests? #t
18064 #:test-command '("make" "test")
18065 #:phases
18066 (modify-phases %standard-phases
18067 (add-after 'install 'install-bin
18068 (lambda* (#:key outputs #:allow-other-keys)
18069 (install-file "bin/buttercup"
18070 (string-append (assoc-ref outputs "out") "/bin"))
18071 #t)))))
18072 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
18073 (synopsis "Behavior driven emacs lisp testing framework")
18074 (description "Buttercup is a behavior-driven development framework for
18075 testing Emacs Lisp code. It groups related tests so they can share
18076 common set-up and tear-down code, and allows the programmer to \"spy\" on
18077 functions to ensure they are called with the right arguments during testing.")
18078 (license license:gpl3+)))
18079
18080 (define-public emacs-wordnut
18081 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
18082 (revision "0"))
18083 (package
18084 (name "emacs-wordnut")
18085 (version (git-version "0.1" revision commit))
18086 (home-page "https://github.com/gromnitsky/wordnut")
18087 (source (origin
18088 (method git-fetch)
18089 (uri (git-reference (url home-page) (commit commit)))
18090 (sha256
18091 (base32
18092 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
18093 (patches
18094 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
18095 (file-name (git-file-name name version))))
18096 (build-system emacs-build-system)
18097 (propagated-inputs
18098 `(("wordnet" ,wordnet)
18099 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
18100 (synopsis "Major mode for WordNet")
18101 (description "This Emacs package provides an interface for
18102 @code{wordnet}. Features include completion, if the query is not found
18103 too ambiguous and navigation in the result buffer.")
18104 (license license:gpl3+))))
18105
18106 (define-public emacs-frame-purpose
18107 (package
18108 (name "emacs-frame-purpose")
18109 (version "1.0")
18110 (source (origin
18111 (method git-fetch)
18112 (uri (git-reference
18113 (url "https://github.com/alphapapa/frame-purpose.el.git")
18114 (commit version)))
18115 (sha256
18116 (base32
18117 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
18118 (file-name (git-file-name name version))))
18119 (build-system emacs-build-system)
18120 (inputs
18121 `(("dash" ,emacs-dash)))
18122 (synopsis "Purpose-specific frames for Emacs")
18123 (description "@code{frame-purpose} makes it easy to open purpose-specific
18124 frames that only show certain buffers, e.g. by buffers’ major mode, their
18125 filename or directory, etc, with custom frame/X-window titles, icons, and
18126 other frame parameters.")
18127 (home-page "https://github.com/alphapapa/frame-purpose.el")
18128 (license license:gpl3+)))
18129
18130 (define-public emacs-arduino-mode
18131 (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b")
18132 (revision "1")) ;no release yet
18133 (package
18134 (name "emacs-arduino-mode")
18135 (version (git-version "0" revision commit))
18136 (source (origin
18137 (method git-fetch)
18138 (uri (git-reference
18139 (url "https://github.com/stardiviner/arduino-mode.git")
18140 (commit commit)))
18141 (sha256
18142 (base32
18143 "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx"))
18144 (file-name (git-file-name name version))))
18145 (build-system emacs-build-system)
18146 (inputs
18147 `(("spinner" ,emacs-spinner)
18148 ("flycheck" ,emacs-flycheck)))
18149 (arguments
18150 `(#:phases
18151 (modify-phases %standard-phases
18152 ;; Emacs complains that "defmethod" and "defgeneric" are obsolete
18153 ;; macros when compiling. Substitute them with the recommended
18154 ;; macros "cl-defmethod" and "cl-defgeneric", respectively.
18155 (add-after 'unpack 'fix-obsolete
18156 (lambda _
18157 (substitute* "ede-arduino.el"
18158 (("defmethod") "cl-defmethod")
18159 (("defgeneric") "cl-defgeneric"))
18160 #t)))))
18161 (synopsis "Emacs major mode for editing Arduino sketches")
18162 (description "Emacs major mode for editing Arduino sketches.")
18163 (home-page "https://github.com/stardiviner/arduino-mode")
18164 (license license:gpl3+))))
18165
18166 (define-public emacs-annalist
18167 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
18168 (revision "1"))
18169 (package
18170 (name "emacs-annalist")
18171 (version (git-version "1.0.0" revision commit))
18172 (source (origin
18173 (method git-fetch)
18174 (uri (git-reference
18175 (url "https://github.com/noctuid/annalist.el.git")
18176 (commit commit)))
18177 (sha256
18178 (base32
18179 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
18180 (file-name (git-file-name name version))))
18181 (build-system emacs-build-system)
18182 (native-inputs
18183 `(("emacs-buttercup" ,emacs-buttercup)
18184 ("emacs-lispy" ,emacs-lispy)
18185 ("emacs-evil" ,emacs-evil)))
18186 (arguments
18187 `(#:phases
18188 (modify-phases %standard-phases
18189 (add-before 'check 'fix-makefile
18190 (lambda _
18191 (substitute* "Makefile"
18192 (("cask exec ") ""))
18193 #t)))
18194 #:tests? #t
18195 #:test-command '("make" "test")))
18196 (home-page "https://github.com/noctuid/annalist.el")
18197 (synopsis "Record and display information with Org headings and tables")
18198 (description "This package allows for keybindings, settings, hooks, and
18199 advice to be recorded and displayed.")
18200 (license license:gpl3+))))
18201
18202 (define-public emacs-general
18203 (let ((commit "a0b17d207badf462311b2eef7c065b884462cb7c")
18204 (revision "4"))
18205 (package
18206 (name "emacs-general")
18207 (version (git-version "0" revision commit))
18208 (source
18209 (origin
18210 (method git-fetch)
18211 (uri (git-reference
18212 (url "https://github.com/noctuid/general.el.git")
18213 (commit commit)))
18214 (sha256
18215 (base32 "0wn5rk3gkimdklip392mnjrmkymgrb7q9skifi03cbpjam1anzvv"))
18216 (file-name (git-file-name name version))))
18217 (build-system emacs-build-system)
18218 (native-inputs
18219 `(("emacs-buttercup" ,emacs-buttercup)
18220 ("emacs-evil" ,emacs-evil)
18221 ("emacs-which-key" ,emacs-which-key)
18222 ("emacs-use-package" ,emacs-use-package)))
18223 (arguments
18224 `(#:tests? #t
18225 #:test-command '("buttercup" "-L" "test/test-general.el")))
18226 (home-page "https://github.com/noctuid/general.el")
18227 (synopsis "More convenient key definitions in emacs")
18228 (description "@code{general.el} provides a more convenient method for
18229 binding keys in emacs (for both evil and non-evil users). Like
18230 @code{use-package}, which provides a convenient, unified interface for
18231 managing packages, @code{general.el} is intended to provide a convenient,
18232 unified interface for key definitions. While this package does implement some
18233 completely new functionality (such as the ability to make vim-style
18234 keybindings under non-prefix keys with an optional timeout), its primary
18235 purpose is to build on existing functionality to make key definition more
18236 clear and concise. @code{general-define-key} is user-extensible and supports
18237 defining multiple keys in multiple keymaps at once, implicitly wrapping key
18238 strings with (@code{kbd ...}), using named prefix key sequences (like the
18239 leader key in vim), and much more.")
18240 (license license:gpl3+))))
18241
18242 (define-public emacs-tldr
18243 (let ((commit "7203d1be3dcbf12131846ffe06601933fa874d74"))
18244 (package
18245 (name "emacs-tldr")
18246 (version (git-version "0" "1" commit))
18247 (home-page "https://github.com/kuanyui/tldr.el")
18248 (source (origin
18249 (method git-fetch)
18250 (uri (git-reference
18251 (url (string-append home-page ".git"))
18252 (commit commit)))
18253 (sha256
18254 (base32
18255 "1bw6la463l2yfm7rp76ga4makfy4kpxgwi7ni5gxk31w11g26ryk"))
18256 (file-name (git-file-name name version))))
18257 (build-system emacs-build-system)
18258 (propagated-inputs
18259 `(("emacs-request" ,emacs-request)))
18260 (synopsis "Simplified and community-driven man pages for Emacs")
18261 (description "@code{emacs-tldr} allows the user to access tldr pages
18262 from within emacs. The @code{tldr} pages are a community effort to simplify
18263 the man pages with practical examples.")
18264 (license license:wtfpl2))))
18265
18266 (define-public emacs-window-layout
18267 (package
18268 (name "emacs-window-layout")
18269 (version "1.4")
18270 (home-page "https://github.com/kiwanami/emacs-window-layout")
18271 (source (origin
18272 (method git-fetch)
18273 (uri (git-reference
18274 (url home-page)
18275 (commit (string-append "v" version))))
18276 (sha256
18277 (base32
18278 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
18279 (file-name (git-file-name name version))))
18280 (build-system emacs-build-system)
18281 (synopsis "Simple window layout management framework for emacs")
18282 (description "A window-layout management library that can split a frame
18283 or a window into some windows according to a layout recipe.")
18284 (license license:gpl3+)))
18285
18286 (define-public emacs-e2wm
18287 (package
18288 (name "emacs-e2wm")
18289 (version "1.4")
18290 (home-page "https://github.com/kiwanami/emacs-window-manager")
18291 (source (origin
18292 (method git-fetch)
18293 (uri (git-reference
18294 (url home-page)
18295 (commit (string-append "v" version))))
18296 (sha256
18297 (base32
18298 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
18299 (file-name (git-file-name name version))))
18300 (build-system emacs-build-system)
18301 (propagated-inputs
18302 `(("emacs-window-layout" ,emacs-window-layout)))
18303 (synopsis "Equilibrium Emacs Window Manager")
18304 (description "E2WM is a window manager for Emacs. It enables to
18305 customize the place of pop-up window, how the windows are split, how the
18306 buffers are located in the windows, keybinds to manipulate windows and
18307 buffers, etc. It also has plug-ins to help your Emacs life.")
18308 (license license:gpl3+)))
18309
18310 (define-public emacs-ctable
18311 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
18312 (package
18313 (name "emacs-ctable")
18314 (version (git-version "0.1.2" "1" commit))
18315 (home-page "https://github.com/kiwanami/emacs-ctable")
18316 (source (origin
18317 (method git-fetch)
18318 (uri (git-reference
18319 (url home-page)
18320 (commit commit)))
18321 (sha256
18322 (base32
18323 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
18324 (file-name (git-file-name name version))))
18325 (build-system emacs-build-system)
18326 (synopsis "Table component for Emacs Lisp")
18327 (description "This program is a table component for Emacs Lisp. Other
18328 programs can use this table component for the application UI.")
18329 (license license:gpl3+))))
18330
18331 (define-public emacs-leetcode
18332 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
18333 (revision "1"))
18334 (package
18335 (name "emacs-leetcode")
18336 (version (git-version "0" "1" commit))
18337 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
18338 (source (origin
18339 (method git-fetch)
18340 (uri (git-reference
18341 (url "https://github.com/ginqi7/leetcode-emacs")
18342 (commit commit)))
18343 (sha256
18344 (base32
18345 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
18346 (file-name (git-file-name name version))))
18347 (build-system emacs-build-system)
18348 (propagated-inputs
18349 `(("emacs-names" ,emacs-names)
18350 ("emacs-ctable" ,emacs-ctable)))
18351 (synopsis "Solve and submit LeetCode problems from within Emacs")
18352 (description "This package provides an Emacs interface to LeetCode
18353 allowing users to log in and solve problems of their choice using Emacs.")
18354 (license license:unlicense))))
18355
18356 (define-public emacs-epc
18357 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
18358 (package
18359 (name "emacs-epc")
18360 (version (git-version "0.1.1" "1" commit))
18361 (home-page "https://github.com/kiwanami/emacs-epc")
18362 (source (origin
18363 (method git-fetch)
18364 (uri (git-reference
18365 (url home-page)
18366 (commit commit)))
18367 (sha256
18368 (base32
18369 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
18370 (file-name (git-file-name name version))))
18371 (build-system emacs-build-system)
18372 (propagated-inputs
18373 `(("emacs-deferred" ,emacs-deferred)
18374 ("emacs-ctable" ,emacs-ctable)))
18375 (synopsis "RPC stack for Emacs Lisp")
18376 (description "This program is an asynchronous RPC stack for Emacs.
18377 Using this RPC stack, Emacs can communicate with the peer process
18378 smoothly. Because the protocol employs S-expression encoding and consists of
18379 asynchronous communications, the RPC response is fairly good.")
18380 (license license:gpl3+))))
18381
18382 (define-public emacs-edbi
18383 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
18384 (package
18385 (name "emacs-edbi")
18386 (version (git-version "0.1.3" "1" commit))
18387 (home-page "https://github.com/kiwanami/emacs-edbi")
18388 (source (origin
18389 (method git-fetch)
18390 (uri (git-reference
18391 (url home-page)
18392 (commit commit)))
18393 (sha256
18394 (base32
18395 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
18396 (file-name (git-file-name name version))))
18397 (build-system emacs-build-system)
18398 (inputs
18399 `(("perl" ,perl)
18400 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
18401 ("perl-dbi" ,perl-dbi)
18402 ;; TODO: Adding support for perl-dbd-mysql and others would
18403 ;; dramatically increase the closure size. Make several packages?
18404 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
18405 (propagated-inputs
18406 `(("emacs-e2wm" ,emacs-e2wm)
18407 ("emacs-epc" ,emacs-epc)))
18408 (arguments
18409 `(#:include '("\\.el$" "\\.pl$")
18410 #:phases
18411 (modify-phases %standard-phases
18412 (add-after 'install 'patch-path
18413 (lambda* (#:key inputs outputs #:allow-other-keys)
18414 (let ((perl (assoc-ref inputs "perl"))
18415 (dir (string-append (assoc-ref outputs "out")
18416 "/share/emacs/site-lisp")))
18417 (substitute* (string-append dir "/edbi.el")
18418 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
18419 (chmod (string-append dir "/edbi-bridge.pl") #o555)
18420 (wrap-program (string-append dir "/edbi-bridge.pl")
18421 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
18422 #t))))))
18423 (synopsis "Database Interface for Emacs Lisp")
18424 (description "This program connects the database server through Perl's
18425 DBI, and provides DB-accessing API and the simple management UI.")
18426 (license license:gpl3+))))
18427
18428 (define-public emacs-edbi-sqlite
18429 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
18430 (package
18431 (name "emacs-edbi-sqlite")
18432 (version (git-version "0.1.1" "1" commit))
18433 (home-page "https://github.com/proofit404/edbi-sqlite")
18434 (source (origin
18435 (method git-fetch)
18436 (uri (git-reference
18437 (url home-page)
18438 (commit commit)))
18439 (sha256
18440 (base32
18441 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
18442 (file-name (git-file-name name version))))
18443 (build-system emacs-build-system)
18444 (propagated-inputs
18445 `(("emacs-edbi" ,emacs-edbi)))
18446 (synopsis "Open SQLite files in Emacs")
18447 (description "This package is a convenience wrapper for @command{edbi}
18448 to open SQLite databases.")
18449 (license license:gpl3+))))
18450
18451 (define-public emacs-nix-mode
18452 (package
18453 (name "emacs-nix-mode")
18454 (version "1.4.1")
18455 (source
18456 (origin
18457 (method git-fetch)
18458 (uri (git-reference
18459 (url "https://github.com/NixOS/nix-mode.git")
18460 (commit (string-append "v" version))))
18461 (file-name (git-file-name name version))
18462 (sha256
18463 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
18464 (build-system emacs-build-system)
18465 (inputs
18466 `(("emacs-company" ,emacs-company)
18467 ("emacs-json-mode" ,emacs-json-mode)
18468 ("emacs-mmm-mode" ,emacs-mmm-mode)))
18469 (home-page "https://github.com/NixOS/nix-mode")
18470 (synopsis "Emacs major mode for editing Nix expressions")
18471 (description "@code{nixos-mode} provides an Emacs major mode for editing
18472 Nix expressions. It supports syntax highlighting, indenting and refilling of
18473 comments.")
18474 (license license:lgpl2.1+)))
18475
18476 (define-public emacs-libmpdel
18477 (package
18478 (name "emacs-libmpdel")
18479 (version "1.1.2")
18480 (source (origin
18481 (method git-fetch)
18482 (uri (git-reference
18483 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
18484 (commit (string-append "v" version))))
18485 (file-name (git-file-name name version))
18486 (sha256
18487 (base32
18488 "0dnjndpv6bmz5blfs75ynmbm32g23l4slg5p3941b1i94a08qzpy"))))
18489 (build-system emacs-build-system)
18490 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
18491 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
18492 (description
18493 "An Emacs library client to communicate with Music Player Daemon (MPD), a
18494 flexible, powerful, server-side application for playing music.")
18495 (license license:gpl3+)))
18496
18497 (define-public emacs-mpdel
18498 (package
18499 (name "emacs-mpdel")
18500 (version "1.0.0")
18501 (source
18502 (origin
18503 (method git-fetch)
18504 (uri (git-reference
18505 (url "https://gitea.petton.fr/mpdel/mpdel.git")
18506 (commit (string-append "v" version))))
18507 (file-name (git-file-name name version))
18508 (sha256
18509 (base32
18510 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
18511 (build-system emacs-build-system)
18512 (inputs
18513 `(("emacs-libmpdel" ,emacs-libmpdel)))
18514 (home-page "https://gitea.petton.fr/mpdel/mpdel")
18515 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
18516 (description
18517 "MPDel provides an Emacs user interface to control playback (play, pause,
18518 next, volume) and display and control the current playlist as well as your
18519 stored playlists.")
18520 (license license:gpl3+)))
18521
18522 (define-public emacs-vterm
18523 (let ((version "0")
18524 (revision "1")
18525 (commit "e63bd65eece7c5de3a534b7e2fdbe58256ec2da0"))
18526 (package
18527 (name "emacs-vterm")
18528 (version (git-version version revision commit))
18529 (source (origin
18530 (method git-fetch)
18531 (uri (git-reference
18532 (url "https://github.com/akermu/emacs-libvterm.git")
18533 (commit commit)))
18534 (file-name (git-file-name name version))
18535 (sha256
18536 (base32
18537 "0iq857w54qmazxh23fipz85fb9i6dav3f63g0ghpmi6mybfp6i5v"))))
18538 (build-system emacs-build-system)
18539 (arguments
18540 `(#:modules ((guix build emacs-build-system)
18541 ((guix build cmake-build-system) #:prefix cmake:)
18542 (guix build emacs-utils)
18543 (guix build utils))
18544 #:imported-modules (,@%emacs-build-system-modules
18545 (guix build cmake-build-system))
18546 #:phases
18547 (modify-phases %standard-phases
18548 (add-before 'add-source-to-load-path 'substitute-vterm-module-path
18549 (lambda* (#:key outputs #:allow-other-keys)
18550 (chmod "vterm.el" #o644)
18551 (emacs-substitute-sexps "vterm.el"
18552 ("(require 'vterm-module nil t)"
18553 `(module-load
18554 ,(string-append (assoc-ref outputs "out")
18555 "/lib/vterm-module.so"))))
18556 #t))
18557 (add-after 'build 'configure
18558 ;; Run cmake.
18559 (lambda* (#:key outputs #:allow-other-keys)
18560 ((assoc-ref cmake:%standard-phases 'configure)
18561 #:outputs outputs
18562 #:out-of-source? #f
18563 #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
18564 #t))
18565 (add-after 'configure 'make
18566 ;; Run make.
18567 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
18568 ;; Compile the shared object file.
18569 (apply invoke "make" "all" make-flags)
18570 ;; Move the file into /lib.
18571 (install-file
18572 "vterm-module.so"
18573 (string-append (assoc-ref outputs "out") "/lib"))
18574 #t)))
18575 #:tests? #f))
18576 (native-inputs
18577 `(("cmake" ,cmake-minimal)
18578 ("libtool" ,libtool)
18579 ("libvterm" ,libvterm)))
18580 (home-page "https://github.com/akermu/emacs-libvterm")
18581 (synopsis "Emacs libvterm integration")
18582 (description "This package implements a bridge to @code{libvterm} to
18583 display a terminal in an Emacs buffer.")
18584 (license license:gpl3+))))
18585
18586 (define-public emacs-simple-mpc
18587 ;; There have been no releases.
18588 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
18589 (revision "1"))
18590 (package
18591 (name "emacs-simple-mpc")
18592 (version (git-version "0" revision commit))
18593 (source
18594 (origin
18595 (method git-fetch)
18596 (uri (git-reference
18597 (url "https://github.com/jorenvo/simple-mpc.git")
18598 (commit commit)))
18599 (file-name (git-file-name name version))
18600 (sha256
18601 (base32
18602 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
18603 (build-system emacs-build-system)
18604 (propagated-inputs `(("emacs-s" ,emacs-s)))
18605 (home-page "https://github.com/jorenvo/simple-mpc")
18606 (synopsis "Simple Emacs frontend to mpc")
18607 (description "This package provides an Emacs major mode which acts as a
18608 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
18609 (license license:gpl3+))))
18610
18611 (define-public emacs-mkmcc-gnuplot-mode
18612 (package
18613 (name "emacs-mkmcc-gnuplot-mode")
18614 (version "1.2.0")
18615 (source
18616 (origin
18617 (method git-fetch)
18618 (uri (git-reference
18619 (url "https://github.com/mkmcc/gnuplot-mode")
18620 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
18621 (file-name (git-file-name name version))
18622 (sha256
18623 (base32
18624 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
18625 (build-system emacs-build-system)
18626 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
18627 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
18628 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
18629 mode for editing gnuplot scripts. It provides syntax highlighting,
18630 indentation and a command to plot the file.")
18631 (license license:gpl3+)))
18632
18633 (define-public emacs-cmake-font-lock
18634 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
18635 (revision "1"))
18636 (package
18637 (name "emacs-cmake-font-lock")
18638 (version (git-version "0.1.5" revision commit))
18639 (source (origin
18640 (method git-fetch)
18641 (uri (git-reference
18642 (url "https://github.com/Lindydancer/cmake-font-lock.git")
18643 (commit commit)))
18644 (file-name (git-file-name name version))
18645 (sha256
18646 (base32
18647 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
18648 (build-system emacs-build-system)
18649 (native-inputs
18650 `(("emacs-faceup" ,emacs-faceup)))
18651 (arguments
18652 `(#:include (cons "^admin\\/" %default-include)))
18653 (home-page "https://github.com/Lindydancer/cmake-font-lock")
18654 (synopsis "Advanced type-aware syntax-highlighting for CMake")
18655 (description "This package highlights function arguments in CMake
18656 according to their use.")
18657 (license license:gpl3+))))
18658
18659 (define-public emacs-dtrt-indent
18660 (package
18661 (name "emacs-dtrt-indent")
18662 (version "0.8")
18663 (source (origin
18664 (method git-fetch)
18665 (uri (git-reference
18666 (url "https://github.com/jscheid/dtrt-indent")
18667 (commit version)))
18668 (file-name (git-file-name name version))
18669 (sha256
18670 (base32
18671 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
18672 (build-system emacs-build-system)
18673 (home-page "https://github.com/jscheid/dtrt-indent")
18674 (synopsis "Minor mode that guesses the indentation offset")
18675 (description "This package provides a minor mode that guesses the
18676 indentation offset originally used for creating source code files and
18677 transparently adjusts the corresponding settings in Emacs, making it more
18678 convenient to edit foreign files.")
18679 (license license:gpl2+)))
18680
18681 (define-public emacs-repo
18682 (package
18683 (name "emacs-repo")
18684 (version "0.1.3")
18685 (source (origin
18686 (method git-fetch)
18687 (uri (git-reference
18688 (url "https://github.com/canatella/repo-el")
18689 (commit version)))
18690 (file-name (git-file-name name version))
18691 (sha256
18692 (base32
18693 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
18694 (build-system emacs-build-system)
18695 (native-inputs
18696 `(("emacs-el-mock" ,emacs-el-mock)
18697 ("ert-runner" ,emacs-ert-runner)))
18698 (propagated-inputs
18699 `(("emacs-f" ,emacs-f)
18700 ("magit" ,emacs-magit)))
18701 (home-page "https://github.com/canatella/repo-el")
18702 (synopsis "Emacs interface for the Google Repo tool")
18703 (description "This package provides integration of the Google Repo tool
18704 with emacs. It displays the output of the @code{repo status} command in a
18705 buffer and launches Magit from the status buffer for the project at point.")
18706 (license license:gpl3+)))
18707
18708 (define-public emacs-alect-themes
18709 (package
18710 (name "emacs-alect-themes")
18711 (version "0.9")
18712 (source (origin
18713 (method git-fetch)
18714 (uri (git-reference
18715 (url "https://github.com/alezost/alect-themes")
18716 (commit (string-append "v" version))))
18717 (file-name (git-file-name name version))
18718 (sha256
18719 (base32
18720 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
18721 (build-system emacs-build-system)
18722 (home-page "https://github.com/alezost/alect-themes")
18723 (synopsis "Low contrast, light, dark and black color theme for Emacs")
18724 (description "@code{emacs-alect-themes} provides configurable light, dark
18725 and black color themes for Emacs. The themes are intended to be used with
18726 GUI.")
18727 (license license:gpl3+)))
18728
18729 (define-public emacs-google-c-style
18730 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
18731 (revision "0"))
18732 (package
18733 (name "emacs-google-c-style")
18734 (version (git-version "0.1" revision commit))
18735 (source (origin
18736 (method git-fetch)
18737 (uri (git-reference
18738 (url "https://github.com/google/styleguide")
18739 (commit commit)))
18740 (file-name (git-file-name name version))
18741 (sha256
18742 (base32
18743 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
18744 (build-system emacs-build-system)
18745 (home-page "https://github.com/google/styleguide")
18746 (synopsis "Emacs settings file for Google C/C++ style")
18747 (description "@code{emacs-google-c-style} provides an Emacs settings
18748 file for Google C and C++ style.")
18749 (license license:gpl1+))))
18750
18751 (define-public emacs-redshank
18752 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
18753 (revision "1"))
18754 (package
18755 (name "emacs-redshank")
18756 (version (git-version "0.1" revision commit))
18757 (source (origin
18758 (method git-fetch)
18759 (uri (git-reference
18760 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
18761 (commit commit)))
18762 (file-name (git-file-name name version))
18763 (sha256
18764 (base32
18765 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
18766 (build-system emacs-build-system)
18767 (propagated-inputs
18768 `(("emacs-paredit" ,emacs-paredit)))
18769 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
18770 (synopsis "Common Lisp Editing Extensions (for Emacs)")
18771 (description "Redshank is a collection of code-wrangling Emacs macros
18772 mostly geared towards Common Lisp, but some are useful for other Lisp
18773 dialects, too. Redshank's code transformations aim to be expression-based (as
18774 opposed to character-based).")
18775 (license license:gpl1+))))
18776
18777 (define-public emacs-disk-usage
18778 (package
18779 (name "emacs-disk-usage")
18780 (version "1.3.3")
18781 (source
18782 (origin
18783 (method git-fetch)
18784 (uri (git-reference
18785 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
18786 (commit version)))
18787 (file-name (git-file-name name version))
18788 (sha256
18789 (base32
18790 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
18791 (build-system emacs-build-system)
18792 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
18793 (synopsis "Sort and browse disk usage listings with Emacs")
18794 (description "Disk Usage is a file system analyzer: it offers a tabulated
18795 view of file listings sorted by size. Directory sizes are computed
18796 recursively. The results are cached for speed.")
18797 (license license:gpl3+)))
18798
18799 (define-public emacs-orgit
18800 (package
18801 (name "emacs-orgit")
18802 (version "1.5.3")
18803 (home-page "https://github.com/magit/orgit")
18804 (source (origin
18805 (method git-fetch)
18806 (uri (git-reference
18807 (url home-page)
18808 (commit (string-append "v" version))))
18809 (file-name (git-file-name name version))
18810 (sha256
18811 (base32
18812 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
18813 (build-system emacs-build-system)
18814 (propagated-inputs
18815 `(("emacs-dash" ,emacs-dash)
18816 ("emacs-magit" ,emacs-magit)))
18817 (synopsis "Support for Org links to Magit buffers")
18818 (description "This package defines several Org link types, which can be
18819 used to link to certain Magit buffers. Use the command
18820 @command{org-store-link} while such a buffer is current to store a link.
18821 Later you can insert it into an Org buffer using the command
18822 @code{org-insert-link}.")
18823 (license license:gpl3+)))
18824
18825 (define-public emacs-amx
18826 (package
18827 (name "emacs-amx")
18828 (version "3.3")
18829 (source
18830 (origin
18831 (method git-fetch)
18832 (uri (git-reference
18833 (url "https://github.com/DarwinAwardWinner/amx")
18834 (commit (string-append "v" version))))
18835 (file-name (git-file-name name version))
18836 (sha256
18837 (base32 "0ikjzs119g57cwh2v3jmy63lggqc0ib99q5gsl93slkk4y2ihavw"))))
18838 (build-system emacs-build-system)
18839 (propagated-inputs
18840 `(("emacs-s" ,emacs-s)))
18841 (home-page "https://github.com/DarwinAwardWinner/amx")
18842 (synopsis "Alternative M-x interface for Emacs")
18843 (description "Amx is an alternative interface for M-x in Emacs. It
18844 provides several enhancements over the ordinary
18845 @code{execute-extended-command}, such as prioritizing your most-used commands
18846 in the completion list and showing keyboard shortcuts, and it supports several
18847 completion systems for selecting commands, such as Ido and Ivy.")
18848 (license license:gpl3+)))
18849
18850 (define-public emacs-lorem-ipsum
18851 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
18852 (package
18853 (name "emacs-lorem-ipsum")
18854 (version (git-version "0.2" "1" commit))
18855 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
18856 (source (origin
18857 (method git-fetch)
18858 (uri (git-reference
18859 (url home-page)
18860 (commit commit)))
18861 (file-name (git-file-name name version))
18862 (sha256
18863 (base32
18864 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
18865 (build-system emacs-build-system)
18866 (synopsis "Insert dummy pseudo Latin text in Emacs")
18867 (description "This package provides convenience functions to insert
18868 dummy Latin text into a buffer. This can be useful if you need to produce
18869 paragraphs or pages of text for testing purposes.")
18870 (license license:gpl3+))))
18871
18872 (define-public emacs-lisp-extra-font-lock
18873 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
18874 (package
18875 (name "emacs-lisp-extra-font-lock")
18876 (version (git-version "0.0.6" "1" commit))
18877 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
18878 (source (origin
18879 (method git-fetch)
18880 (uri (git-reference
18881 (url home-page)
18882 (commit commit)))
18883 (file-name (git-file-name name version))
18884 (sha256
18885 (base32
18886 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
18887 (build-system emacs-build-system)
18888 (synopsis "Highlight bound variables and quoted expressions in Emacs")
18889 (description "This package highlight the location where local variables
18890 is created (bound, for example, by let) as well as quoted and backquoted
18891 constant expressions.")
18892 (license license:gpl3+))))
18893
18894 (define-public emacs-docker-tramp
18895 (package
18896 (name "emacs-docker-tramp")
18897 (version "0.1")
18898 (source
18899 (origin
18900 (method git-fetch)
18901 (uri (git-reference
18902 (url "https://github.com/emacs-pe/docker-tramp.el")
18903 (commit (string-append "v" version))))
18904 (file-name (git-file-name name version))
18905 (sha256
18906 (base32
18907 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
18908 (build-system emacs-build-system)
18909 (home-page "https://github.com/emacs-pe/docker-tramp.el")
18910 (synopsis "TRAMP integration for docker containers")
18911 (description
18912 "This package provides a TRAMP method for Docker containers.")
18913 (license license:gpl3+)))
18914
18915 (define-public emacs-docker
18916 (package
18917 (name "emacs-docker")
18918 (version "1.3.0")
18919 (source (origin
18920 (method git-fetch)
18921 (uri (git-reference
18922 (url "https://github.com/Silex/docker.el")
18923 (commit version)))
18924 (file-name (git-file-name name version))
18925 (sha256
18926 (base32
18927 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
18928 (inputs
18929 `(("emacs-undercover" ,emacs-undercover)))
18930 (propagated-inputs
18931 `(("emacs-dash" ,emacs-dash)
18932 ("emacs-docker-tramp" ,emacs-docker-tramp)
18933 ("emacs-magit-popup" ,emacs-magit-popup)
18934 ("emacs-s" ,emacs-s)
18935 ("emacs-tablist" ,emacs-tablist)
18936 ("emacs-json-mode" ,emacs-json-mode)))
18937 (arguments
18938 `(#:phases
18939 (modify-phases %standard-phases
18940 (delete 'check)))) ;no tests
18941 (build-system emacs-build-system)
18942 (home-page "https://github.com/Silex/docker.el")
18943 (synopsis "Manage docker from Emacs")
18944 (description "This package provides an Emacs interface for Docker.")
18945 (license license:gpl3+)))
18946
18947 (define-public emacs-dockerfile-mode
18948 ;; Latest upstream release is too old.
18949 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
18950 (package
18951 (name "emacs-dockerfile-mode")
18952 (version (git-version "1.2" "2" commit))
18953 (source
18954 (origin
18955 (method git-fetch)
18956 (uri (git-reference
18957 (url "https://github.com/spotify/dockerfile-mode.git")
18958 (commit commit)))
18959 (file-name (git-file-name name version))
18960 (sha256
18961 (base32
18962 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
18963 (build-system emacs-build-system)
18964 (propagated-inputs
18965 `(("emacs-s" ,emacs-s)))
18966 (home-page "https://github.com/spotify/dockerfile-mode")
18967 (synopsis "Major mode for editing Dockerfile")
18968 (description
18969 "This package provides a major mode @code{dockerfile-mode} for use with
18970 the standard @code{Dockerfile} file format.")
18971 (license license:asl2.0))))
18972
18973 (define-public emacs-lsp-mode
18974 (package
18975 (name "emacs-lsp-mode")
18976 (version "6.3.1")
18977 (source (origin
18978 (method git-fetch)
18979 (uri (git-reference
18980 (url "https://github.com/emacs-lsp/lsp-mode.git")
18981 (commit version)))
18982 (file-name (git-file-name name version))
18983 (sha256
18984 (base32
18985 "125rpmhlyd6wmq7p71j54x3rzmk07vn1hdcvvdjjip5481raxcwx"))))
18986 (build-system emacs-build-system)
18987 (propagated-inputs
18988 `(("emacs-dash" ,emacs-dash)
18989 ("emacs-f" ,emacs-f)
18990 ("emacs-ht" ,emacs-ht)
18991 ("emacs-markdown-mode" ,emacs-markdown-mode)
18992 ("emacs-spinner" ,emacs-spinner)
18993 ("emacs-hydra" ,emacs-hydra)))
18994 (home-page "https://github.com/emacs-lsp/lsp-mode")
18995 (synopsis "Emacs client and library for the Language Server Protocol")
18996 (description "@code{LSP-mode} is a client and library implementation for
18997 the Language Server Protocol. This mode aims to provide an IDE-like
18998 experience by providing optional integration with other popular Emacs packages
18999 like @code{company}, @code{flycheck}, and @code{projectile}.")
19000 (license license:gpl3+)))
19001
19002 (define-public emacs-pfuture
19003 (let ((commit "368254ee30692c709400db413c347e18e76a8a55"))
19004 (package
19005 (name "emacs-pfuture")
19006 (version (git-version "1.6" "1" commit))
19007 (source (origin
19008 (method git-fetch)
19009 (uri (git-reference
19010 (url "https://github.com/Alexander-Miller/pfuture.git")
19011 (commit commit)))
19012 (file-name (git-file-name name version))
19013 (sha256
19014 (base32
19015 "096raqpjx84njws85r7pqq1wi9w9bjwkr0ga1mbbhlna1mfn3mg4"))))
19016 (build-system emacs-build-system)
19017 (home-page
19018 "https://github.com/Alexander-Miller/pfuture")
19019 (synopsis "Simple wrapper around asynchronous processes for Emacs")
19020 (description "This package provides a simple wrapper around asynchronous
19021 processes for Emacs")
19022 (license license:gpl3+))))
19023
19024 (define-public emacs-treemacs
19025 (package
19026 (name "emacs-treemacs")
19027 (version "2.8")
19028 (source (origin
19029 (method git-fetch)
19030 (uri (git-reference
19031 (url "https://github.com/Alexander-Miller/treemacs.git")
19032 (commit version)))
19033 (file-name (git-file-name name version))
19034 (sha256
19035 (base32
19036 "0m083g3pg0n4ymi1w0jx34awr7cqbm4r561adij9kklblxsz7sc2"))))
19037 (build-system emacs-build-system)
19038 (propagated-inputs
19039 `(("emacs-dash" ,emacs-dash)
19040 ("emacs-s" ,emacs-s)
19041 ("emacs-f" ,emacs-f)
19042 ("emacs-ace-window" ,emacs-ace-window)
19043 ("emacs-pfuture" ,emacs-pfuture)
19044 ("emacs-hydra" ,emacs-hydra)
19045 ("emacs-ht" ,emacs-ht)))
19046 (native-inputs
19047 `(("emacs-buttercup" ,emacs-buttercup)
19048 ("emacs-el-mock" ,emacs-el-mock)))
19049 (inputs
19050 `(("python" ,python)))
19051 (arguments
19052 `(#:tests? #t ;TODO: Investigate ‘treemacs--parse-collapsed-dirs’ test failure.
19053 #:phases
19054 (modify-phases %standard-phases
19055 (add-after 'unpack 'fix-makefile
19056 (lambda _
19057 (substitute* "Makefile"
19058 (("@\\$\\(CASK\\) exec ") "")
19059 ;; Guix does not need to prepare dependencies before testing.
19060 (("test: prepare") "test:"))
19061 #t))
19062 (add-after 'fix-makefile 'chdir-elisp
19063 ;; Elisp directory is not in root of the source.
19064 (lambda _
19065 (chdir "src/elisp")))
19066 (replace 'check
19067 (lambda _
19068 (with-directory-excursion "../.." ;treemacs root
19069 (chmod "test/test-treemacs.el" #o644)
19070 (emacs-substitute-sexps "test/test-treemacs.el"
19071 ("(describe \"treemacs--parse-collapsed-dirs\""
19072 ""))
19073 (invoke "make" "test"))))
19074 (add-before 'install 'patch-paths
19075 (lambda* (#:key inputs outputs #:allow-other-keys)
19076 (with-directory-excursion "../.." ;treemacs root
19077 (chmod "src/elisp/treemacs-core-utils.el" #o644)
19078 (emacs-substitute-variables "src/elisp/treemacs-core-utils.el"
19079 ("treemacs-dir"
19080 (string-append (assoc-ref outputs "out") "/")))
19081 (chmod "src/elisp/treemacs-icons.el" #o644)
19082 (substitute* "src/elisp/treemacs-icons.el"
19083 (("icons/default") "share/emacs-treemacs/images"))
19084 (chmod "src/elisp/treemacs-customization.el" #o644)
19085 (emacs-substitute-variables "src/elisp/treemacs-customization.el"
19086 ("treemacs-python-executable"
19087 (string-append (assoc-ref inputs "python") "/bin/python3")))
19088 (chmod "src/elisp/treemacs-async.el" #o644)
19089 (substitute* "src/elisp/treemacs-async.el"
19090 (("src/scripts") (string-append "share/" ,name "/scripts"))))
19091 #t))
19092 (add-after 'install 'install-data
19093 (lambda* (#:key outputs #:allow-other-keys)
19094 (let ((out (assoc-ref outputs "out")))
19095 (with-directory-excursion "../.." ;treemacs root
19096 (copy-recursively "icons/default"
19097 (string-append out "/share/" ,name "/images"))
19098 (copy-recursively
19099 "src/scripts"
19100 (string-append out "/share/" ,name "/scripts"))
19101 #t)))))))
19102 (home-page "https://github.com/Alexander-Miller/treemacs")
19103 (synopsis "Emacs tree style file explorer")
19104 (description "Powerful and flexible file tree project explorer.")
19105 (license license:gpl3+)))
19106
19107 (define-public emacs-treemacs-extra
19108 (package
19109 (inherit emacs-treemacs)
19110 (name "emacs-treemacs-extra")
19111 (propagated-inputs
19112 `(,@(package-propagated-inputs emacs-treemacs)
19113 ("emacs-evil" ,emacs-evil)
19114 ("emacs-magit" ,emacs-magit)
19115 ("emacs-projectile" ,emacs-projectile)))
19116 (arguments
19117 (substitute-keyword-arguments
19118 (package-arguments emacs-treemacs)
19119 ((#:phases phases)
19120 `(modify-phases ,phases
19121 (add-after 'chdir-elisp 'copy-extra
19122 (lambda _
19123 (copy-recursively "../extra" ".")))))))))
19124
19125 (define-public emacs-lsp-java
19126 (package
19127 (name "emacs-lsp-java")
19128 (version "2.2")
19129 (source (origin
19130 (method git-fetch)
19131 (uri (git-reference
19132 (url "https://github.com/emacs-lsp/lsp-java.git")
19133 (commit version)))
19134 (file-name (git-file-name name version))
19135 (sha256
19136 (base32
19137 "0hcnvbyaqyypgby1bfj4zbrbq97amk8hfx0sj4w73rl46yf4jk3j"))))
19138 (build-system emacs-build-system)
19139 (propagated-inputs
19140 `(("emacs-lsp-mode" ,emacs-lsp-mode)
19141 ("emacs-markdown-mode" ,emacs-markdown-mode)
19142 ("emacs-dash" ,emacs-dash)
19143 ("emacs-f" ,emacs-f)
19144 ("emacs-ht" ,emacs-ht)
19145 ("emacs-request" ,emacs-request)
19146 ("emacs-treemacs" ,emacs-treemacs)))
19147 (home-page "https://github.com/emacs-lsp/lsp-java/")
19148 (synopsis "Java support for lsp-mode")
19149 (description "Emacs Java IDE using Eclipse JDT Language Server.")
19150 (license license:gpl3+)))
19151
19152 (define-public emacs-lsp-ui
19153 (package
19154 (name "emacs-lsp-ui")
19155 (version "6.2")
19156 (source (origin
19157 (method git-fetch)
19158 (uri (git-reference
19159 (url "https://github.com/emacs-lsp/lsp-ui.git")
19160 (commit version)))
19161 (file-name (git-file-name name version))
19162 (sha256
19163 (base32
19164 "024753bi0p1jyjhw7wk8k6s16kbwab5ar4cfasvbn8g08acf293b"))))
19165 (build-system emacs-build-system)
19166 (propagated-inputs
19167 `(("emacs-dash" ,emacs-dash)
19168 ("emacs-lsp-mode" ,emacs-lsp-mode)
19169 ("emacs-markdown-mode" ,emacs-markdown-mode)
19170 ("emacs-flycheck" ,emacs-flycheck)))
19171 (home-page "https://github.com/emacs-lsp/lsp-ui")
19172 (synopsis "User interface extensions for @code{lsp-mode}")
19173 (description
19174 "@code{LSP-ui} contains several enhancements and integrations for
19175 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
19176 and code peeking.")
19177 (license license:gpl3+)))
19178
19179 (define-public emacs-lsp-lua-emmy
19180 (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
19181 (package
19182 (name "emacs-lsp-lua-emmy")
19183 (version (git-version "0.1.0" "1" commit))
19184 (source (origin
19185 (method git-fetch)
19186 (uri (git-reference
19187 (url "https://github.com/phenix3443/lsp-lua-emmy.git")
19188 (commit commit)))
19189 (file-name (git-file-name name version))
19190 (sha256
19191 (base32
19192 "0rbizis73n1w5ig07fj1han74chbc1zpbp5bn37rj0gz608aqka8"))))
19193 (build-system emacs-build-system)
19194 (propagated-inputs
19195 `(("emacs-lsp-mode" ,emacs-lsp-mode)))
19196 (home-page "https://github.com/phenix3443/lsp-lua-emmy/")
19197 (synopsis "Lua support in @code{lsp-mode} client for Emacs")
19198 (description "This package provides a Lua language support in
19199 @code{lsp-mode} client for Emacs.")
19200 (license license:gpl3+))))
19201
19202 (define-public emacs-lsp-ivy
19203 (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
19204 (revision "2"))
19205 (package
19206 (name "emacs-lsp-ivy")
19207 (version (git-version "0.1" revision commit))
19208 (source (origin
19209 (method git-fetch)
19210 (uri (git-reference
19211 (url "https://github.com/emacs-lsp/lsp-ivy.git")
19212 (commit commit)))
19213 (file-name (git-file-name name version))
19214 (sha256
19215 (base32
19216 "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
19217 (build-system emacs-build-system)
19218 (propagated-inputs
19219 `(("emacs-ivy" ,emacs-ivy)
19220 ("emacs-lsp-mode" ,emacs-lsp-mode)
19221 ("emacs-dash" ,emacs-dash)))
19222 (home-page "https://github.com/emacs-lsp/lsp-ivy")
19223 (synopsis "Provide LSP-enhanced completion for symbols")
19224 (description
19225 "This package enhances @code{ivy} with completion for symbols from
19226 workspaces with a LSP-compliant server running.")
19227 (license license:gpl3+))))
19228
19229 (define-public emacs-helm-lsp
19230 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
19231 (revision "1"))
19232 (package
19233 (name "emacs-helm-lsp")
19234 (version (git-version "0.1" revision commit))
19235 (source (origin
19236 (method git-fetch)
19237 (uri (git-reference
19238 (url "https://github.com/emacs-lsp/helm-lsp.git")
19239 (commit commit)))
19240 (file-name (git-file-name name version))
19241 (sha256
19242 (base32
19243 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
19244 (build-system emacs-build-system)
19245 (propagated-inputs
19246 `(("emacs-helm" ,emacs-helm)
19247 ("emacs-lsp-mode" ,emacs-lsp-mode)
19248 ("emacs-dash" ,emacs-dash)))
19249 (home-page "https://github.com/emacs-lsp/helm-lsp")
19250 (synopsis "Provide LSP-enhanced completion for symbols")
19251 (description
19252 "This package enhances @code{helm} with completion for symbols from
19253 workspaces with a LSP-compliant server running.")
19254 (license license:gpl3+))))
19255
19256 (define-public emacs-helm-notmuch
19257 (package
19258 (name "emacs-helm-notmuch")
19259 (version "1.2")
19260 (home-page "https://github.com/emacs-helm/helm-notmuch/")
19261 (source (origin
19262 (method git-fetch)
19263 (uri (git-reference
19264 (url home-page)
19265 (commit version)))
19266 (file-name (git-file-name name version))
19267 (sha256
19268 (base32
19269 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
19270 (build-system emacs-build-system)
19271 (propagated-inputs
19272 `(("emacs-helm" ,emacs-helm)
19273 ("notmuch" ,notmuch)))
19274 (synopsis "Search emails with Emacs Notmuch and Helm")
19275 (description
19276 "This package can be used to search emails in Emacs, searching result
19277 displays as you type thanks to Helm, though @command{notmuch-search} does the
19278 real search.")
19279 (license license:gpl3+)))
19280
19281 (define-public emacs-elmacro
19282 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
19283 (package
19284 (name "emacs-elmacro")
19285 (version (git-version "1.1.0" "1" commit))
19286 (home-page "https://github.com/Silex/elmacro")
19287 (source (origin
19288 (method git-fetch)
19289 (uri (git-reference
19290 (url home-page)
19291 (commit commit)))
19292 (file-name (git-file-name name version))
19293 (sha256
19294 (base32
19295 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
19296 (build-system emacs-build-system)
19297 (propagated-inputs
19298 `(("emacs-s" ,emacs-s)
19299 ("emacs-dash" ,emacs-dash)))
19300 (synopsis "Convert keyboard macros to Emacs Lisp")
19301 (description
19302 "This package displays keyboard macros or latest interactive commands
19303 as Emacs Lisp.")
19304 (license license:gpl3+))))
19305
19306 (define-public emacs-transient
19307 (let ((revision "1")
19308 (commit "a6e4cced303b3febd59412b24a97eaf1e855e6d7"))
19309 (package
19310 (name "emacs-transient")
19311 (version (git-version "0.2.0" revision commit))
19312 (source (origin
19313 (method git-fetch)
19314 (uri (git-reference
19315 (url "https://github.com/magit/transient")
19316 (commit commit)))
19317 (file-name (git-file-name name version))
19318 (sha256
19319 (base32
19320 "01xsw9sxr50valc2q590ngy3ra2ll01p39l9cbzvqqz6mxyymxmd"))))
19321 (build-system emacs-build-system)
19322 (arguments
19323 `(#:tests? #f ;no test suite
19324 #:phases
19325 (modify-phases %standard-phases
19326 (add-after 'unpack 'build-info-manual
19327 (lambda _
19328 (invoke "make" "info")
19329 ;; Move the info file to lisp so that it gets installed by the
19330 ;; emacs-build-system.
19331 (rename-file "docs/transient.info" "lisp/transient.info")))
19332 (add-after 'build-info-manual 'enter-lisp-directory
19333 (lambda _
19334 (chdir "lisp")
19335 #t)))))
19336 (native-inputs
19337 `(("texinfo" ,texinfo)))
19338 (propagated-inputs
19339 `(("dash" ,emacs-dash)))
19340 (home-page "https://magit.vc/manual/transient")
19341 (synopsis "Transient commands in Emacs")
19342 (description "Taking inspiration from prefix keys and prefix arguments
19343 in Emacs, Transient implements a similar abstraction involving a prefix
19344 command, infix arguments and suffix commands. We could call this abstraction
19345 a \"transient command\", but because it always involves at least two
19346 commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
19347 (license license:gpl3+))))
19348
19349 (define-public emacs-forge
19350 (let ((commit "09bf8adc9c9afb492632e612f51f39e1cc15fca0"))
19351 (package
19352 (name "emacs-forge")
19353 (version (git-version "0.1.0" "4" commit))
19354 (source
19355 (origin
19356 (method git-fetch)
19357 (uri (git-reference
19358 (url "https://github.com/magit/forge.git")
19359 (commit commit)))
19360 (file-name (git-file-name name version))
19361 (sha256
19362 (base32
19363 "148h1rvmfmxyrfy2q5l0vzblr7lpsyw1si30hfwhzsj8fvj21qcr"))))
19364 (build-system emacs-build-system)
19365 (native-inputs
19366 `(("texinfo" ,texinfo)))
19367 (propagated-inputs
19368 `(("emacs-closql" ,emacs-closql)
19369 ("emacs-dash" ,emacs-dash)
19370 ("emacs-emacsql-sqlite" ,emacs-emacsql)
19371 ("emacs-ghub" ,emacs-ghub)
19372 ("emacs-let-alist" ,emacs-let-alist)
19373 ("emacs-magit" ,emacs-magit)
19374 ("emacs-markdown-mode" ,emacs-markdown-mode)
19375 ("emacs-transient" ,emacs-transient)))
19376 (arguments
19377 `(#:tests? #f ;no tests
19378 #:phases
19379 (modify-phases %standard-phases
19380 (add-after 'unpack 'build-info-manual
19381 (lambda _
19382 (invoke "make" "info")
19383 ;; Move the info file to lisp so that it gets installed by the
19384 ;; emacs-build-system.
19385 (rename-file "docs/forge.info" "lisp/forge.info")))
19386 (add-after 'build-info-manual 'chdir-lisp
19387 (lambda _
19388 (chdir "lisp")
19389 #t)))))
19390 (home-page "https://github.com/magit/forge/")
19391 (synopsis "Access Git forges from Magit")
19392 (description "Work with Git forges, such as Github and Gitlab, from the
19393 comfort of Magit and the rest of Emacs.")
19394 (license license:gpl3+))))
19395
19396 (define-public emacs-matcha
19397 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
19398 (package
19399 (name "emacs-matcha")
19400 (version (git-version "0.0.1" "1" commit)) ;no upstream release
19401 (source (origin
19402 (method git-fetch)
19403 (uri (git-reference
19404 (url "https://github.com/jojojames/matcha.git")
19405 (commit commit)))
19406 (file-name (git-file-name name version))
19407 (sha256
19408 (base32
19409 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
19410 (propagated-inputs
19411 `(("emacs-hydra" ,emacs-hydra)
19412 ("emacs-transient" ,emacs-transient)))
19413 (build-system emacs-build-system)
19414 (home-page "https://github.com/jojojames/matcha/")
19415 (synopsis "Collection of hydras with a generic interface to launch them")
19416 (description "Matcha provides a collection of transients for various
19417 packages with a consistent way to use them.")
19418 (license license:gpl3+))))
19419
19420 (define-public emacs-undo-propose-el
19421 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
19422 (revision "3"))
19423 (package
19424 (name "emacs-undo-propose-el")
19425 (version (git-version "3.0.0" revision commit))
19426 (source
19427 (origin
19428 (method git-fetch)
19429 (uri (git-reference
19430 (url "https://github.com/jackkamm/undo-propose-el")
19431 (commit commit)))
19432 (file-name (git-file-name name version))
19433 (sha256
19434 (base32
19435 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
19436 (build-system emacs-build-system)
19437 (arguments
19438 `(#:tests? #t
19439 #:test-command '("make" "test")))
19440 (home-page "https://github.com/jackkamm/undo-propose-el")
19441 (synopsis "Simple and safe navigation of @code{undo} history")
19442 (description "This package permits navigation of @code{undo} history in a
19443 temporary buffer, which is read-only save for @code{undo} commands, and
19444 subsequent committal of a chain of @code{undo} commands as a single edit in
19445 the @code{undo} history.")
19446 (license license:gpl3+))))
19447
19448 (define-public emacs-elisp-docstring-mode
19449 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
19450 (version "0.0.1")
19451 (revision "1"))
19452 (package
19453 (name "emacs-elisp-docstring-mode")
19454 (version (git-version version revision commit))
19455 (source
19456 (origin
19457 (method git-fetch)
19458 (uri (git-reference
19459 (url "https://github.com/Fuco1/elisp-docstring-mode")
19460 (commit commit)))
19461 (file-name (git-file-name name version))
19462 (sha256
19463 (base32
19464 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
19465 (build-system emacs-build-system)
19466 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
19467 (synopsis "Major mode for editing Emacs Lisp docstrings")
19468 (description "This package provides font lock and automatic escaping and
19469 unescaping of quotes.")
19470 (license license:gpl3+))))
19471
19472 (define-public emacs-vimrc-mode
19473 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
19474 (version "0.3.1")
19475 (revision "1"))
19476 (package
19477 (name "emacs-vimrc-mode")
19478 (version (git-version version revision commit))
19479 (source
19480 (origin
19481 (method git-fetch)
19482 (uri (git-reference
19483 (url "https://github.com/mcandre/vimrc-mode")
19484 (commit commit)))
19485 (file-name (git-file-name name version))
19486 (sha256
19487 (base32
19488 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
19489 (build-system emacs-build-system)
19490 (home-page "https://github.com/mcandre/vimrc-mode")
19491 (synopsis "Major mode for Vimscript")
19492 (description "This package provides font lock and @code{beginning-} and
19493 @code{end-of-defun} functions for Vimscript files.")
19494 (license license:gpl3+))))
19495
19496 (define-public emacs-flycheck-elm
19497 (let ((revision "0")
19498 (commit "1b60050efd4729bfba548f3e5adbcb58436667cb"))
19499 (package
19500 (name "emacs-flycheck-elm")
19501 (version (git-version "0" revision commit))
19502 (source
19503 (origin
19504 (method git-fetch)
19505 (uri
19506 (git-reference
19507 (url "https://github.com/bsermons/flycheck-elm")
19508 (commit commit)))
19509 (file-name (git-file-name name version))
19510 (sha256
19511 (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms"))))
19512 (build-system emacs-build-system)
19513 (propagated-inputs
19514 `(("emacs-flycheck" ,emacs-flycheck)
19515 ("emacs-let-alist" ,emacs-let-alist)))
19516 (home-page "https://github.com/bsermons/flycheck-elm")
19517 (synopsis "Flycheck support for the Elm language")
19518 (description "Flycheck Elm adds Flycheck support for Elm language.")
19519 (license license:gpl3+))))
19520
19521 (define-public emacs-flycheck-haskell
19522 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
19523 (revision "2"))
19524 (package
19525 (name "emacs-flycheck-haskell")
19526 (version (git-version "0.8" revision commit))
19527 (source
19528 (origin
19529 (method git-fetch)
19530 (uri (git-reference
19531 (url "https://github.com/flycheck/flycheck-haskell")
19532 (commit commit)))
19533 (file-name (git-file-name name version))
19534 (sha256
19535 (base32
19536 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
19537 (build-system emacs-build-system)
19538 (propagated-inputs
19539 `(("emacs-dash" ,emacs-dash)
19540 ("emacs-seq" ,emacs-seq)
19541 ("emacs-flycheck" ,emacs-flycheck)
19542 ("emacs-haskell-mode" ,emacs-haskell-mode)
19543 ("emacs-let-alist" ,emacs-let-alist)))
19544 (arguments
19545 `(#:include '("\\.el$" "\\.hs$")))
19546 (home-page "https://github.com/flycheck/flycheck-haskell")
19547 (synopsis "Flycheck for Haskell")
19548 (description "This package configures syntax-checking for Haskell
19549 buffers.")
19550 (license license:gpl3+))))
19551
19552 (define-public emacs-js2-refactor-el
19553 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
19554 (revision "2"))
19555 (package
19556 (name "emacs-js2-refactor-el")
19557 (version (git-version "0.9.0" revision commit))
19558 (source
19559 (origin
19560 (method git-fetch)
19561 (uri (git-reference
19562 (url "https://github.com/magnars/js2-refactor.el")
19563 (commit commit)))
19564 (file-name (git-file-name name version))
19565 (sha256
19566 (base32
19567 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
19568 (build-system emacs-build-system)
19569 (propagated-inputs
19570 `(("emacs-dash" ,emacs-dash)
19571 ("emacs-s" ,emacs-s)
19572 ("emacs-js2-mode" ,emacs-js2-mode)
19573 ("emacs-yasnippet" ,emacs-yasnippet)
19574 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
19575 (native-inputs
19576 `(("emacs-buttercup" ,emacs-buttercup)
19577 ("emacs-espuds" ,emacs-espuds)))
19578 (home-page "https://github.com/magnars/js2-refactor.el")
19579 (synopsis "JavaScript refactoring in Emacs")
19580 (description "This package provides various refactoring functions for
19581 JavaScript.")
19582 (license license:gpl3+))))
19583
19584 (define-public emacs-prettier
19585 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
19586 (version "0.1.0")
19587 (revision "1"))
19588 (package
19589 (name "emacs-prettier")
19590 (version (git-version version revision commit))
19591 (source
19592 (origin
19593 (method git-fetch)
19594 (uri (git-reference
19595 (url "https://github.com/prettier/prettier-emacs")
19596 (commit commit)))
19597 (file-name (git-file-name name version))
19598 (sha256
19599 (base32
19600 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
19601 (build-system emacs-build-system)
19602 (home-page "https://github.com/prettier/prettier-emacs")
19603 (synopsis "Automatic formatting of JavaScript code")
19604 (description "This package integrates Prettier with Emacs, and
19605 provides a minor mode that autoformats the buffer upon saving.")
19606 (license license:expat))))
19607
19608 (define-public emacs-fish-mode
19609 (package
19610 (name "emacs-fish-mode")
19611 (version "0.1.4")
19612 (source
19613 (origin
19614 (method git-fetch)
19615 (uri (git-reference
19616 (url "https://github.com/wwwjfy/emacs-fish")
19617 (commit version)))
19618 (file-name (git-file-name name version))
19619 (sha256
19620 (base32
19621 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
19622 (build-system emacs-build-system)
19623 (home-page "https://github.com/wwwjfy/emacs-fish")
19624 (synopsis "Major mode for Fish shell scripts")
19625 (description "This package provides syntax highlighting and indentation
19626 functions for Fish shell scripts.")
19627 (license license:gpl3+)))
19628
19629 (define-public emacs-eshell-up
19630 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
19631 (version "0.0.3")
19632 (revision "12"))
19633 (package
19634 (name "emacs-eshell-up")
19635 (version (git-version version revision commit))
19636 (source
19637 (origin
19638 (method git-fetch)
19639 (uri (git-reference
19640 (url "https://github.com/peterwvj/eshell-up")
19641 (commit commit)))
19642 (file-name (git-file-name name version))
19643 (sha256
19644 (base32
19645 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
19646 (build-system emacs-build-system)
19647 (home-page "https://github.com/peterwvj/eshell-up")
19648 (synopsis "Quickly go to a parent directory in @code{Eshell}")
19649 (description "This package provides quick navigation to a specific
19650 parent directory using @code{Eshell}.")
19651 (license license:gpl3+))))
19652
19653 (define-public emacs-tco-el
19654 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
19655 (revision "1"))
19656 (package
19657 (name "emacs-tco-el")
19658 (version (git-version "0.3" revision commit))
19659 (source
19660 (origin
19661 (method git-fetch)
19662 (uri (git-reference
19663 (url "https://github.com/Wilfred/tco.el")
19664 (commit commit)))
19665 (file-name (git-file-name name version))
19666 (sha256
19667 (base32
19668 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
19669 (build-system emacs-build-system)
19670 (propagated-inputs
19671 `(("emacs-dash" ,emacs-dash)))
19672 (native-inputs
19673 `(("emacs-ert-runner" ,emacs-ert-runner)
19674 ("emacs-undercover" ,emacs-undercover)))
19675 (arguments
19676 `(#:tests? #t
19677 #:test-command '("ert-runner")))
19678 (home-page "https://github.com/Wilfred/tco.el")
19679 (synopsis "Tail-call optimization for Emacs Lisp")
19680 (description "This package provides tail-call optimization for Emacs
19681 Lisp functions that call themselves in tail position.")
19682 (license license:gpl3+))))
19683
19684 (define-public emacs-equake
19685 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
19686 (revision "2"))
19687 (package
19688 (name "emacs-equake")
19689 (version (git-version "0.85" revision commit))
19690 (source
19691 (origin
19692 (method git-fetch)
19693 (uri (git-reference
19694 (url "https://gitlab.com/emacsomancer/equake/")
19695 (commit commit)))
19696 (file-name (git-file-name name version))
19697 (sha256
19698 (base32
19699 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
19700 (build-system emacs-build-system)
19701 (propagated-inputs
19702 `(("emacs-dash" ,emacs-dash)
19703 ("emacs-tco-el" ,emacs-tco-el)))
19704 (home-page "https://gitlab.com/emacsomancer/equake/")
19705 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
19706 (description "This package provides a Quake-style drop-down console
19707 compatible with Emacs' shell modes.")
19708 (license license:gpl3+))))
19709
19710 (define-public emacs-vdiff
19711 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
19712 (revision "1"))
19713 (package
19714 (name "emacs-vdiff")
19715 (version (git-version "0.2.3" revision commit))
19716 (source
19717 (origin
19718 (method git-fetch)
19719 (uri (git-reference
19720 (url "https://github.com/justbur/emacs-vdiff.git")
19721 (commit commit)))
19722 (file-name (git-file-name name version))
19723 (sha256
19724 (base32
19725 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
19726 (build-system emacs-build-system)
19727 (propagated-inputs
19728 `(("emacs-hydra" ,emacs-hydra)))
19729 (arguments
19730 `(#:tests? #t
19731 #:test-command '("emacs" "-Q" "-batch" "-L" "."
19732 "-l" "vdiff-test.el"
19733 "-f" "ert-run-tests-batch-and-exit")))
19734 (home-page "https://github.com/justbur/emacs-vdiff/")
19735 (synopsis "Frontend for diffing based on vimdiff")
19736 (description "This package permits comparisons of two or three buffers
19737 based on diff output.")
19738 (license license:gpl3+))))
19739
19740 (define-public emacs-vdiff-magit
19741 ;; Need to use a more recent commit than the latest release version because
19742 ;; of Magit and Transient
19743 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
19744 (version "0.3.2")
19745 (revision "8"))
19746 (package
19747 (name "emacs-vdiff-magit")
19748 (version (git-version version revision commit))
19749 (source
19750 (origin
19751 (method git-fetch)
19752 (uri (git-reference
19753 (url "https://github.com/justbur/emacs-vdiff-magit/")
19754 (commit commit)))
19755 (file-name (git-file-name name version))
19756 (sha256
19757 (base32
19758 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
19759 (build-system emacs-build-system)
19760 (propagated-inputs
19761 `(("emacs-vdiff" ,emacs-vdiff)
19762 ("emacs-magit" ,emacs-magit)
19763 ("emacs-transient" ,emacs-transient)))
19764 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
19765 (synopsis "Frontend for diffing based on vimdiff")
19766 (description "This package permits comparisons of two or three buffers
19767 based on diff output.")
19768 (license license:gpl3+))))
19769
19770 (define-public emacs-all-the-icons-dired
19771 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
19772 (version "1.0")
19773 (revision "1"))
19774 (package
19775 (name "emacs-all-the-icons-dired")
19776 (version (git-version version revision commit))
19777 (source
19778 (origin
19779 (method git-fetch)
19780 (uri (git-reference
19781 (url "https://github.com/jtbm37/all-the-icons-dired/")
19782 (commit commit)))
19783 (file-name (git-file-name name version))
19784 (sha256
19785 (base32
19786 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
19787 (build-system emacs-build-system)
19788 (propagated-inputs
19789 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
19790 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
19791 (synopsis "Show icons for each file in @code{dired-mode}")
19792 (description "This package allows icons from @file{all-the-icons.el} to
19793 be used in @code{dired-mode}.")
19794 (license license:gpl3+))))
19795
19796 (define-public emacs-exwm-edit
19797 (let ((commit "bc25ba094b383be3c650ca0b7e1534efe2bb154f")
19798 (version "0.0.1")
19799 (revision "2"))
19800 (package
19801 (name "emacs-exwm-edit")
19802 (version (git-version version revision commit))
19803 (source
19804 (origin
19805 (method git-fetch)
19806 (uri (git-reference
19807 (url "https://github.com/agzam/exwm-edit/")
19808 (commit commit)))
19809 (file-name (git-file-name name version))
19810 (sha256
19811 (base32
19812 "1z1ya9xgknka3dy3b3x8zzfkxdx5jqsi8q5aqkvxjxa6n7mmqdwv"))))
19813 (build-system emacs-build-system)
19814 (propagated-inputs
19815 `(("emacs-exwm" ,emacs-exwm)))
19816 (home-page "https://github.com/agzam/exwm-edit/")
19817 (synopsis "Open temp buffers for editing text from EXWM buffers")
19818 (description "This package facilitates editing text from EXWM buffers by
19819 generating a temp buffer in which any useful Emacs utilities and modes can be
19820 invoked.")
19821 (license license:gpl3+))))
19822
19823 (define-public emacs-ert-async
19824 (package
19825 (name "emacs-ert-async")
19826 (version "0.1.2")
19827 (source
19828 (origin
19829 (method git-fetch)
19830 (uri (git-reference
19831 (url "https://github.com/rejeep/ert-async.el")
19832 (commit (string-append "v" version))))
19833 (file-name (git-file-name name version))
19834 (sha256
19835 (base32
19836 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
19837 (build-system emacs-build-system)
19838 (home-page "https://github.com/rejeep/ert-async.el")
19839 (synopsis "Async support for ERT")
19840 (description "This package allows ERT to work with asynchronous tests.")
19841 (license license:gpl3+)))
19842
19843 (define-public emacs-prodigy-el
19844 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
19845 (revision "2"))
19846 (package
19847 (name "emacs-prodigy-el")
19848 (version (git-version "0.7.0" revision commit))
19849 (source
19850 (origin
19851 (method git-fetch)
19852 (uri (git-reference
19853 (url "https://github.com/rejeep/prodigy.el")
19854 (commit commit)))
19855 (file-name (git-file-name name version))
19856 (sha256
19857 (base32
19858 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
19859 (build-system emacs-build-system)
19860 (propagated-inputs
19861 `(("emacs-dash" ,emacs-dash)
19862 ("emacs-s" ,emacs-s)
19863 ("emacs-f" ,emacs-f)))
19864 (native-inputs
19865 `(("emacs-el-mock" ,emacs-el-mock)
19866 ("emacs-ert-async" ,emacs-ert-async)))
19867 (home-page "https://github.com/rejeep/prodigy.el")
19868 (synopsis "Manage external services from within Emacs")
19869 (description "This package provides a GUI for defining and monitoring services.")
19870 (license license:gpl3+))))
19871
19872 (define-public emacs-web-server
19873 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
19874 (revision "1"))
19875 (package
19876 (name "emacs-web-server")
19877 (version (git-version "0.1.0" revision commit))
19878 (source
19879 (origin
19880 (method git-fetch)
19881 (uri (git-reference
19882 (url "https://github.com/eschulte/emacs-web-server/")
19883 (commit commit)))
19884 (file-name (git-file-name name version))
19885 (sha256
19886 (base32
19887 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
19888 (build-system emacs-build-system)
19889 (native-inputs
19890 `(("curl" ,curl)))
19891 (arguments
19892 `(#:phases
19893 (modify-phases %standard-phases
19894 (add-after 'unpack 'set-shell
19895 ;; Setting the SHELL environment variable is required for the tests
19896 ;; to find sh.
19897 (lambda _
19898 (setenv "SHELL" (which "sh"))
19899 #t)))
19900 #:tests? #t
19901 #:test-command '("make" "check")))
19902 (home-page "https://github.com/eschulte/emacs-web-server/")
19903 (synopsis "Web server with handlers in Emacs Lisp")
19904 (description "This package supports HTTP GET and POST requests with
19905 url-encoded parameters, as well as web sockets.")
19906 (license license:gpl3+))))
19907
19908 (define-public emacs-markdown-preview-mode
19909 (package
19910 (name "emacs-markdown-preview-mode")
19911 (version "0.9.2")
19912 (source
19913 (origin
19914 (method git-fetch)
19915 (uri (git-reference
19916 (url "https://github.com/ancane/markdown-preview-mode")
19917 (commit (string-append "v" version))))
19918 (file-name (git-file-name name version))
19919 (sha256
19920 (base32
19921 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
19922 (build-system emacs-build-system)
19923 (propagated-inputs
19924 `(("emacs-markdown-mode" ,emacs-markdown-mode)
19925 ("emacs-websocket" ,emacs-websocket)
19926 ("emacs-web-server" ,emacs-web-server)))
19927 (arguments '(#:include '("\\.el$" "\\.html$")))
19928 (home-page "https://github.com/ancane/markdown-preview-mode")
19929 (synopsis "Preview Markdown files")
19930 (description "This package provides a minor mode for preview of Markdown
19931 files, and sends rendered Markdown to a web browser.")
19932 (license license:gpl3+)))
19933
19934 (define-public emacs-dotenv-mode
19935 (package
19936 (name "emacs-dotenv-mode")
19937 (version "0.2.4")
19938 (source
19939 (origin
19940 (method git-fetch)
19941 (uri (git-reference
19942 (url "https://github.com/preetpalS/emacs-dotenv-mode")
19943 (commit (string-append "v" version))))
19944 (file-name (git-file-name name version))
19945 (sha256
19946 (base32
19947 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
19948 (build-system emacs-build-system)
19949 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
19950 (synopsis "Major mode for @file{.env} files")
19951 (description "This package provides syntax highlighting for @file{.env}
19952 files.")
19953 (license license:gpl3+)))
19954
19955 (define-public emacs-add-node-modules-path
19956 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
19957 (version "1.2.0")
19958 (revision "10"))
19959 (package
19960 (name "emacs-add-node-modules-path")
19961 (version (git-version version revision commit))
19962 (source
19963 (origin
19964 (method git-fetch)
19965 (uri (git-reference
19966 (url "https://github.com/codesuki/add-node-modules-path")
19967 (commit commit)))
19968 (file-name (git-file-name name version))
19969 (sha256
19970 (base32
19971 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
19972 (build-system emacs-build-system)
19973 (home-page "https://github.com/codesuki/add-node-modules-path")
19974 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
19975 (description "This package searches the parent directories of the
19976 current file for the project's @file{node_modules/.bin/} directory, allowing
19977 Emacs to find project-specific installations of packages.")
19978 (license license:expat))))
19979
19980 (define-public emacs-flow-minor-mode
19981 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
19982 (version "0.3")
19983 (revision "4"))
19984 (package
19985 (name "emacs-flow-minor-mode")
19986 (version (git-version version revision commit))
19987 (source
19988 (origin
19989 (method git-fetch)
19990 (uri (git-reference
19991 (url "https://github.com/an-sh/flow-minor-mode")
19992 (commit commit)))
19993 (file-name (git-file-name name version))
19994 (sha256
19995 (base32
19996 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
19997 (build-system emacs-build-system)
19998 (home-page "https://github.com/an-sh/flow-minor-mode")
19999 (synopsis "Minor mode for JavaScript Flow files")
20000 (description "This package integrates Flow with Emacs, allowing for
20001 definition-jumping and type-checking on demand.")
20002 (license license:bsd-3))))
20003
20004 (define-public emacs-rjsx-mode
20005 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
20006 (revision "2"))
20007 (package
20008 (name "emacs-rjsx-mode")
20009 (version (git-version "0.4" revision commit))
20010 (source
20011 (origin
20012 (method git-fetch)
20013 (uri (git-reference
20014 (url "https://github.com/felipeochoa/rjsx-mode")
20015 (commit commit)))
20016 (file-name (git-file-name name version))
20017 (sha256
20018 (base32
20019 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
20020 (build-system emacs-build-system)
20021 (propagated-inputs
20022 `(("emacs-js2-mode" ,emacs-js2-mode)))
20023 (arguments
20024 `(#:tests? #t
20025 #:test-command '("make" "test")))
20026 (home-page "https://github.com/felipeochoa/rjsx-mode")
20027 (synopsis "Major mode for JSX files")
20028 (description "This package extends the parser of @code{js2-mode} to
20029 support JSX syntax.")
20030 (license license:expat))))
20031
20032 (define-public emacs-origami-el
20033 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
20034 (version "1.0")
20035 (revision "1"))
20036 (package
20037 (name "emacs-origami-el")
20038 (version (git-version version revision commit))
20039 (source
20040 (origin
20041 (method git-fetch)
20042 (uri (git-reference
20043 (url "https://github.com/gregsexton/origami.el")
20044 (commit commit)))
20045 (file-name (git-file-name name version))
20046 (sha256
20047 (base32
20048 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
20049 (build-system emacs-build-system)
20050 (propagated-inputs
20051 `(("emacs-dash" ,emacs-dash)
20052 ("emacs-s" ,emacs-s)))
20053 (home-page "https://github.com/gregsexton/origami.el")
20054 (synopsis "Flexible text-folding")
20055 (description "This package provides a minor mode for collapsing and
20056 expanding regions of text without modifying the actual contents.")
20057 (license license:expat))))
20058
20059 (define-public emacs-peep-dired
20060 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
20061 (version "0")
20062 (revision "1"))
20063 (package
20064 (name "emacs-peep-dired")
20065 (version (git-version version revision commit))
20066 (source
20067 (origin
20068 (method git-fetch)
20069 (uri (git-reference
20070 (url "https://github.com/asok/peep-dired")
20071 (commit commit)))
20072 (file-name (git-file-name name version))
20073 (sha256
20074 (base32
20075 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
20076 (build-system emacs-build-system)
20077 (home-page "https://github.com/asok/peep-dired")
20078 (synopsis "Preview files in another window")
20079 (description "This package provides a minor mode that allows files to be
20080 previewed by scrolling up and down within a @code{dired} buffer.")
20081 (license license:gpl3+))))
20082
20083 (define-public emacs-counsel-etags
20084 (package
20085 (name "emacs-counsel-etags")
20086 (version "1.8.9")
20087 (source
20088 (origin
20089 (method git-fetch)
20090 (uri (git-reference
20091 (url "https://github.com/redguardtoo/counsel-etags")
20092 (commit version)))
20093 (file-name (git-file-name name version))
20094 (sha256
20095 (base32
20096 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
20097 (build-system emacs-build-system)
20098 (propagated-inputs
20099 `(("emacs-ivy" ,emacs-ivy)))
20100 (arguments
20101 `(#:tests? #t
20102 #:test-command '("make" "test")))
20103 (home-page "https://github.com/redguardtoo/counsel-etags")
20104 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
20105 (description "This package uses @code{ivy-mode} to facilitate navigating
20106 and searching through @code{Ctags} files.")
20107 (license license:gpl3+)))
20108
20109 (define-public emacs-ivy-clipmenu
20110 (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
20111 (package
20112 (name "emacs-ivy-clipmenu")
20113 (version (git-version "0.0.1" "1" commit))
20114 (source (origin
20115 (method git-fetch)
20116 (uri (git-reference
20117 (url "https://github.com/wpcarro/ivy-clipmenu.el.git")
20118 (commit commit)))
20119 (file-name (git-file-name name version))
20120 (sha256
20121 (base32
20122 "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
20123 (propagated-inputs
20124 `(("emacs-f" ,emacs-f)
20125 ("emacs-ivy" ,emacs-ivy)))
20126 (build-system emacs-build-system)
20127 (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
20128 (synopsis "Ivy integration with clipmenu")
20129 (description "Ivy integration with the clipboard manager, clipmenu.")
20130 (license license:expat))))
20131
20132 (define-public emacs-org-download
20133 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
20134 (revision "2"))
20135 (package
20136 (name "emacs-org-download")
20137 (version (git-version "0.1.0" revision commit))
20138 (source (origin
20139 (method git-fetch)
20140 (uri (git-reference
20141 (url "https://github.com/abo-abo/org-download")
20142 (commit commit)))
20143 (sha256
20144 (base32
20145 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
20146 (file-name (git-file-name name version))))
20147 (build-system emacs-build-system)
20148 (propagated-inputs
20149 `(("emacs-org" ,emacs-org)
20150 ("emacs-async" ,emacs-async)))
20151 (home-page "https://github.com/abo-abo/org-download")
20152 (synopsis "Facilitate moving images")
20153 (description "This package provides utilities for managing image files
20154 copied into @code{org-mode} buffers.")
20155 (license license:gpl3+))))
20156
20157 (define-public emacs-dash-docs
20158 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
20159 (revision "1"))
20160 (package
20161 (name "emacs-dash-docs")
20162 (version (git-version "1.4.0" revision commit))
20163 (source
20164 (origin
20165 (method git-fetch)
20166 (uri (git-reference
20167 (url "https://github.com/dash-docs-el/dash-docs.git")
20168 (commit commit)))
20169 (file-name (git-file-name name version))
20170 (sha256
20171 (base32
20172 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
20173 (build-system emacs-build-system)
20174 (propagated-inputs
20175 `(("emacs-async" ,emacs-async)))
20176 (native-inputs
20177 `(("emacs-undercover" ,emacs-undercover)
20178 ("emacs-ert-runner" ,emacs-ert-runner)))
20179 (arguments
20180 `(#:tests? #t
20181 #:test-command '("ert-runner")
20182 #:phases
20183 ;; this test requires network access, so remove it
20184 (modify-phases %standard-phases
20185 (add-before 'check 'make-tests-writable
20186 (lambda _
20187 (make-file-writable "test/dash-docs-test.el")
20188 #t))
20189 (add-before 'check 'delete-test
20190 (lambda _
20191 (emacs-batch-edit-file "test/dash-docs-test.el"
20192 `(progn (progn
20193 (goto-char (point-min))
20194 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
20195 (beginning-of-line)
20196 (kill-sexp))
20197 (basic-save-buffer)))
20198 #t)))))
20199 (home-page "https://github.com/dash-docs-el/dash-docs")
20200 (synopsis "Offline documentation browser for APIs using Dash docsets")
20201 (description "This package exposes functionality to work with Dash docsets.")
20202 (license license:gpl3+))))
20203
20204 (define-public emacs-helm-dash
20205 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
20206 (revision "2"))
20207 (package
20208 (name "emacs-helm-dash")
20209 (version (git-version "1.3.0" revision commit))
20210 (source
20211 (origin
20212 (method git-fetch)
20213 (uri (git-reference
20214 (url "https://github.com/areina/helm-dash.git")
20215 (commit commit)))
20216 (file-name (git-file-name name version))
20217 (sha256
20218 (base32
20219 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
20220 (build-system emacs-build-system)
20221 (propagated-inputs
20222 `(("emacs-helm" ,emacs-helm)
20223 ("emacs-dash-docs" ,emacs-dash-docs)))
20224 (home-page "https://github.com/areina/helm-dash")
20225 (synopsis "Offline documentation browser for APIs using Dash docsets")
20226 (description "This package uses Helm to install and navigate through
20227 Dash docsets.")
20228 (license license:gpl3+))))
20229
20230 (define-public emacs-counsel-dash
20231 (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
20232 (revision "3"))
20233 (package
20234 (name "emacs-counsel-dash")
20235 (version (git-version "0.1.3" revision commit))
20236 (source
20237 (origin
20238 (method git-fetch)
20239 (uri (git-reference
20240 (url "https://github.com/dash-docs-el/counsel-dash.git")
20241 (commit commit)))
20242 (file-name (git-file-name name version))
20243 (sha256
20244 (base32
20245 "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
20246 (build-system emacs-build-system)
20247 (propagated-inputs
20248 `(("emacs-dash-docs" ,emacs-dash-docs)
20249 ("emacs-ivy" ,emacs-ivy)))
20250 (arguments
20251 `(#:phases
20252 (modify-phases %standard-phases
20253 (add-after 'unpack 'require-ivy
20254 (lambda _
20255 (substitute* "counsel-dash.el"
20256 (("^\\(require 'cl-lib\\)")
20257 "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
20258 #t)))))
20259 (home-page "https://github.com/dash-docs-el/counsel-dash")
20260 (synopsis "Offline documentation browser for APIs using Dash docsets")
20261 (description "This package uses @code{ivy-mode} to install and navigate
20262 through Dash docsets.")
20263 (license license:expat))))
20264
20265 (define-public emacs-el-patch
20266 (package
20267 (name "emacs-el-patch")
20268 (version "2.2.3")
20269 (source
20270 (origin
20271 (method git-fetch)
20272 (uri (git-reference
20273 (url "https://github.com/raxod502/el-patch")
20274 (commit version)))
20275 (file-name (git-file-name name version))
20276 (sha256
20277 (base32
20278 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
20279 (build-system emacs-build-system)
20280 (home-page "https://github.com/raxod502/el-patch")
20281 (synopsis "Future-proof your Emacs customizations")
20282 (description "This package allows for an alternate definition of an Elisp
20283 function to be specified and for any differences from the original definition
20284 to be examined using Ediff.")
20285 (license license:expat)))
20286
20287 (define-public emacs-info-plus
20288 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
20289 (revision "2"))
20290 (package
20291 (name "emacs-info-plus")
20292 (version (git-version "0" revision commit))
20293 (source
20294 (origin
20295 (method git-fetch)
20296 (uri (git-reference
20297 (url "https://github.com/emacsmirror/info-plus")
20298 (commit commit)))
20299 (file-name (git-file-name name version))
20300 (sha256
20301 (base32
20302 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
20303 (build-system emacs-build-system)
20304 (home-page "https://github.com/emacsmirror/info-plus")
20305 (synopsis "Extensions to @file{info.el}")
20306 (description "This package extends Emacs' @file{info.el} by allowing
20307 outline-enabled table of contents, additional metadata association for Info
20308 nodes, and more.")
20309 (license license:gpl2+))))
20310
20311 (define-public emacs-eval-sexp-fu-el
20312 (package
20313 (name "emacs-eval-sexp-fu-el")
20314 (version "0.5.0")
20315 (source
20316 (origin
20317 (method git-fetch)
20318 (uri (git-reference
20319 (url "https://github.com/hchbaw/eval-sexp-fu.el")
20320 (commit (string-append "v" version))))
20321 (file-name (git-file-name name version))
20322 (sha256
20323 (base32
20324 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
20325 (build-system emacs-build-system)
20326 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
20327 (synopsis "Enhancements for evaluating s-expressions")
20328 (description "This package provides provides variants of
20329 @code{eval-last-sexp} that work on the containing list or s-expression, as
20330 well as an option for visually flashing evaluated s-expressions.")
20331 (license license:gpl3+)))
20332
20333 (define-public emacs-counsel-tramp
20334 (package
20335 (name "emacs-counsel-tramp")
20336 (version "0.6.3")
20337 (source
20338 (origin
20339 (method git-fetch)
20340 (uri (git-reference
20341 (url "https://github.com/masasam/emacs-counsel-tramp")
20342 (commit version)))
20343 (file-name (git-file-name name version))
20344 (sha256
20345 (base32
20346 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
20347 (build-system emacs-build-system)
20348 (propagated-inputs
20349 `(("emacs-ivy" ,emacs-ivy)))
20350 (home-page "https://github.com/masasam/emacs-counsel-tramp")
20351 (synopsis "Ivy interface for TRAMP")
20352 (description "This package allows @code{ivy-mode} to display and filter
20353 SSH servers.")
20354 (license license:gpl3+)))
20355
20356 (define-public emacs-tramp
20357 (package
20358 (name "emacs-tramp")
20359 (version "2.4.3.5")
20360 (source
20361 (origin
20362 (method url-fetch)
20363 (uri (string-append "https://elpa.gnu.org/packages/"
20364 "tramp-" version ".tar"))
20365 (sha256
20366 (base32 "14djizi4ivwv4ad4nymday86jbh45w14wdhlm96743ffwr45dd2m"))))
20367 (build-system emacs-build-system)
20368 (arguments
20369 `(#:emacs ,emacs ;need D-Bus
20370 #:phases
20371 (modify-phases %standard-phases
20372 ;; All but one "/bin/" directory refer to remote
20373 ;; environments, which may not be Guix. Do not patch them
20374 ;; blindly. However, local encoding shell has to be patched.
20375 (replace 'patch-el-files
20376 (lambda* (#:key inputs #:allow-other-keys)
20377 (let ((sh (assoc-ref inputs "bash"))
20378 (file "tramp.el"))
20379 (emacs-substitute-variables file
20380 ("tramp-encoding-shell" (string-append sh "/bin/sh"))))
20381 #t)))))
20382 (inputs
20383 `(("bash" ,bash)))
20384 (home-page "https://savannah.gnu.org/projects/tramp")
20385 (synopsis "Remote file editing package for Emacs")
20386 (description
20387 "Tramp stands for ``Transparent Remote (file) Access, Multiple
20388 Protocol''. This package provides remote file editing, using
20389 a combination of @command{rsh} and @command{rcp} or other work-alike
20390 programs, such as @command{ssh} and @command{scp}.")
20391 (license license:gpl3+)))
20392
20393 (define-public emacs-tramp-auto-auth
20394 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
20395 (package
20396 (name "emacs-tramp-auto-auth")
20397 (version (git-version "20191027" "1" commit))
20398 (source
20399 (origin
20400 (method git-fetch)
20401 (uri (git-reference
20402 (url "https://github.com/oitofelix/tramp-auto-auth.git")
20403 (commit commit)))
20404 (file-name (git-file-name name version))
20405 (sha256
20406 (base32
20407 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
20408 (build-system emacs-build-system)
20409 (home-page "https://github.com/oitofelix/tramp-auto-auth")
20410 (synopsis "TRAMP automatic authentication library")
20411 (description "This package provides @code{tramp-auto-auth-mode} Emacs
20412 global minor mode whose purpose is to automatically feed TRAMP sub-processes
20413 with passwords for paths matching regexps.")
20414 (license license:gpl3+))))
20415
20416 (define-public emacs-eacl
20417 (package
20418 (name "emacs-eacl")
20419 (version "2.0.1")
20420 (source
20421 (origin
20422 (method git-fetch)
20423 (uri (git-reference
20424 (url "https://github.com/redguardtoo/eacl")
20425 (commit version)))
20426 (file-name (git-file-name name version))
20427 (sha256
20428 (base32
20429 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
20430 (build-system emacs-build-system)
20431 (propagated-inputs
20432 `(("emacs-ivy" ,emacs-ivy)))
20433 (home-page "https://github.com/redguardtoo/eacl")
20434 (synopsis "Auto-complete lines by using @code{grep} on a project")
20435 (description "This package provides auto-completion commands for single
20436 and multiple lines of code in a project.")
20437 (license license:gpl3+)))
20438
20439 (define-public emacs-semantic-refactor
20440 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
20441 ;; commits since then.
20442 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
20443 (package
20444 (name "emacs-semantic-refactor")
20445 (version (git-version "0.5" "1" commit))
20446 (source
20447 (origin
20448 (method git-fetch)
20449 (uri (git-reference
20450 (url "https://github.com/tuhdo/semantic-refactor")
20451 (commit commit)))
20452 (file-name (git-file-name name version))
20453 (sha256
20454 (base32
20455 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
20456 (build-system emacs-build-system)
20457 (home-page "https://github.com/tuhdo/semantic-refactor")
20458 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
20459 (description "This package provides a refactoring tool based on the
20460 Emacs Semantic parser framework. For C and C++ it supports operations such as:
20461
20462 @enumerate
20463 @item Generating class implementations
20464 @item Generating function prototypes
20465 @item Converting functions to function pointers
20466 @item Moving semantic units
20467 @item etc...
20468 @end enumerate
20469
20470 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
20471 as:
20472
20473 @enumerate
20474 @item Formatting the whole buffer
20475 @item Converting sexpressions to one or multiple lines
20476 @item etc...
20477 @end enumerate\n")
20478 (license license:gpl3+))))
20479
20480 (define-public emacs-nhexl-mode
20481 (package
20482 (name "emacs-nhexl-mode")
20483 (version "1.4")
20484 (source
20485 (origin
20486 (method url-fetch)
20487 (uri (string-append
20488 "https://elpa.gnu.org/packages/nhexl-mode-"
20489 version ".el"))
20490 (sha256
20491 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
20492 (build-system emacs-build-system)
20493 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
20494 (synopsis "Minor mode to edit files via hex-dump format")
20495 (description
20496 "This package implements NHexl mode, a minor mode for editing files
20497 in hex dump format. The mode command is called @command{nhexl-mode}.
20498
20499 This minor mode implements similar functionality to @command{hexl-mode},
20500 but using a different implementation technique, which makes it
20501 usable as a \"plain\" minor mode. It works on any buffer, and does
20502 not mess with the undo log or with the major mode.
20503
20504 It also comes with:
20505
20506 @itemize
20507 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
20508 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
20509 (which only work for hex-digits) will only modify the nibble under point.
20510 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
20511 moving text. In this minor mode, not only self-inserting keys overwrite
20512 existing text, but commands like `yank' and @command{kill-region} as well.
20513 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
20514 C-f} to advance by #xa4 characters.
20515 @end itemize\n")
20516 (license license:gpl3+)))
20517
20518 (define-public emacs-helm-wikipedia
20519 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
20520 (package
20521 (name "emacs-helm-wikipedia")
20522 (version (git-version "0.0.0" "1" commit))
20523 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
20524 (source
20525 (origin
20526 (method git-fetch)
20527 (uri (git-reference
20528 (url home-page)
20529 (commit commit)))
20530 (file-name (git-file-name name version))
20531 (sha256
20532 (base32
20533 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
20534 (build-system emacs-build-system)
20535 (inputs
20536 `(("helm" ,emacs-helm)))
20537 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
20538 (description
20539 "This package provides an Emacs Helm interface for search suggestions
20540 and article extracts for Wikipedia.")
20541 (license license:gpl3+))))
20542
20543 (define-public emacs-webfeeder
20544 (package
20545 (name "emacs-webfeeder")
20546 (version "1.0.0")
20547 (source
20548 (origin
20549 (method url-fetch)
20550 (uri (string-append
20551 "https://elpa.gnu.org/packages/webfeeder-"
20552 version
20553 ".tar"))
20554 (sha256
20555 (base32
20556 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
20557 (build-system emacs-build-system)
20558 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
20559 (synopsis "Build RSS and Atom webfeeds from HTML files")
20560 (description
20561 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
20562 files. The various elements of the HTML input are parsed with customizable
20563 functions (e.g. @code{webfeeder-title-function}).")
20564 (license license:gpl3+)))
20565
20566 (define-public emacs-evil-numbers
20567 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
20568 (package
20569 (name "emacs-evil-numbers")
20570 (version (git-version "0.4" "1" commit))
20571 (source (origin
20572 (method git-fetch)
20573 (uri (git-reference
20574 (url "https://github.com/dieggsy/evil-numbers")
20575 (commit commit)))
20576 (file-name (git-file-name name version))
20577 (sha256
20578 (base32
20579 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
20580 (build-system emacs-build-system)
20581 (home-page "https://github.com/dieggsy/evil-numbers")
20582 (synopsis "Increment and decrement numbers in Emacs")
20583 (description "This package increments and decrements binary, octal,
20584 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
20585 number up to EOL and then increments or decrements and keeps zero padding up
20586 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
20587 numbers within that region will be incremented/decremented (unlike in Vim).
20588
20589 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
20590 (license license:gpl3+))))
20591
20592 (define-public emacs-rotate-text
20593 (package
20594 (name "emacs-rotate-text")
20595 (version "0.1")
20596 (source (origin
20597 (method git-fetch)
20598 (uri (git-reference
20599 (url "https://github.com/nschum/rotate-text.el.git")
20600 (commit version)))
20601 (file-name (git-file-name name version))
20602 (sha256
20603 (base32
20604 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
20605 (build-system emacs-build-system)
20606 (home-page "https://nschum.de/src/emacs/rotate-text/")
20607 (synopsis "Cycle through words, symbols and patterns in Emacs")
20608 (description "@code{rotate-text} allows you rotate to commonly
20609 interchanged text with a single keystroke. For example, you can toggle
20610 between \"frame-width\" and \"frame-height\", between \"public\",
20611 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
20612 \"variableN\".")
20613 (license license:gpl2+)))
20614
20615 (define-public emacs-ediprolog
20616 (package
20617 (name "emacs-ediprolog")
20618 (version "1.2")
20619 (source
20620 (origin
20621 (method url-fetch)
20622 (uri (string-append
20623 "https://elpa.gnu.org/packages/ediprolog-"
20624 version
20625 ".el"))
20626 (sha256
20627 (base32
20628 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
20629 (build-system emacs-build-system)
20630 (home-page "https://elpa.gnu.org/packages/ediprolog.html")
20631 (synopsis "Emacs Does Interactive Prolog")
20632 (description "This package provides a major mode that let the user
20633 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
20634 programs and evaluate embedded queries. This mode is focused on the command
20635 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
20636 context, carry out the appropriate action.")
20637 (license license:gpl3+)))
20638
20639 (define-public emacs-evil-cleverparens
20640 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
20641 (revision "1"))
20642 (package
20643 (name "emacs-evil-cleverparens")
20644 (version (git-version "2017-07-17" revision commit))
20645 (source (origin
20646 (method git-fetch)
20647 (uri (git-reference
20648 (url "https://github.com/luxbock/evil-cleverparens.git")
20649 (commit commit)))
20650 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
20651 (file-name (git-file-name name version))))
20652 (build-system emacs-build-system)
20653 (propagated-inputs
20654 `(("emacs-evil" ,emacs-evil)
20655 ("emacs-paredit" ,emacs-paredit)
20656 ("emacs-smartparens" ,emacs-smartparens)))
20657 (home-page "https://github.com/luxbock/evil-cleverparens")
20658 (synopsis "Emacs modal editing optimized for editing Lisp")
20659 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
20660 modal editing with screwing up the structure of Lisp code. Alternatives for
20661 verb commands which would are normally destructive (such as deletion) are
20662 provided. Those alternative commands are and bound by default to their
20663 corresponding Evil keys.")
20664 (license license:expat))))
20665
20666 (define-public emacs-evil-traces
20667 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
20668 (revision "2"))
20669 (package
20670 (name "emacs-evil-traces")
20671 (version (git-version "0.0.1" revision commit))
20672 (source (origin
20673 (method git-fetch)
20674 (uri (git-reference
20675 (url "https://github.com/mamapanda/evil-traces.git")
20676 (commit commit)))
20677 (file-name (git-file-name name version))
20678 (sha256
20679 (base32
20680 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
20681 (build-system emacs-build-system)
20682 (propagated-inputs
20683 `(("emacs-evil" ,emacs-evil)))
20684 (arguments
20685 `(#:phases
20686 (modify-phases %standard-phases
20687 (add-after 'unpack 'set-shell
20688 ;; Setting the SHELL environment variable is required for the tests
20689 ;; to find sh.
20690 (lambda _
20691 (setenv "SHELL" (which "sh"))
20692 #t)))
20693 #:tests? #t
20694 #:test-command '("make" "test")))
20695 (home-page "https://github.com/mamapanda/evil-traces")
20696 (synopsis "Visual hints for @code{evil-ex}")
20697 (description "This package adds visual hints to certain @code{ex}
20698 commands in @code{evil-mode}.")
20699 (license license:gpl3+))))
20700
20701 (define-public emacs-evil-tmux-navigator
20702 (package
20703 (name "emacs-evil-tmux-navigator")
20704 (version "0.1.5")
20705 (source
20706 (origin
20707 (method git-fetch)
20708 (uri
20709 (git-reference
20710 (url "https://github.com/keith/evil-tmux-navigator")
20711 (commit version)))
20712 (file-name (git-file-name name version))
20713 (sha256
20714 (base32
20715 "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx"))))
20716 (propagated-inputs
20717 `(("emacs-evil" ,emacs-evil)))
20718 (build-system emacs-build-system)
20719 (home-page "https://github.com/keith/evil-tmux-navigator")
20720 (synopsis
20721 "Navigate seamlessly between emacs windows and tmux panes")
20722 (description
20723 "This package lets you use C-h, C-j, C-k and C-l to navigate between
20724 Emacs windows and tmux panes.")
20725 (license license:expat)))
20726
20727 (define-public emacs-xclip
20728 (package
20729 (name "emacs-xclip")
20730 (version "1.10")
20731 (source
20732 (origin
20733 (method url-fetch)
20734 (uri (string-append "https://elpa.gnu.org/packages/"
20735 "xclip-" version ".el"))
20736 (sha256
20737 (base32 "0i3i9kwfg8qmhcmqhhnrb1kljgwkccv63s9q1mjwqfjldyfh8j8i"))))
20738 (build-system emacs-build-system)
20739 (home-page "http://elpa.gnu.org/packages/xclip.html")
20740 (synopsis "Copy and paste GUI clipboard from Emacs in text terminal")
20741 (description
20742 "This package allows Emacs to copy to and paste from the GUI clipboard
20743 when running in text terminal.
20744
20745 It can use external command-line tools for that, e.g., @command{xclip} or
20746 @command{xsel}, which you may need to install in order for the package to
20747 work.")
20748 (license license:gpl3+)))
20749
20750 (define-public emacs-xterm-color
20751 (package
20752 (name "emacs-xterm-color")
20753 (version "1.9")
20754 (source (origin
20755 (method git-fetch)
20756 (uri (git-reference
20757 (url "https://github.com/atomontage/xterm-color.git")
20758 (commit version)))
20759 (file-name (git-file-name name version))
20760 (sha256
20761 (base32
20762 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
20763 (build-system emacs-build-system)
20764 (home-page "https://github.com/atomontage/xterm-color")
20765 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
20766 (description "@code{xterm-color.el} is an ANSI control sequence to
20767 text-property translator.")
20768 (license license:bsd-2)))
20769
20770 (define-public emacs-org-noter
20771 (package
20772 (name "emacs-org-noter")
20773 (version "1.4.1")
20774 (source
20775 (origin
20776 (method git-fetch)
20777 (uri (git-reference
20778 (url "https://github.com/weirdNox/org-noter.git")
20779 (commit version)))
20780 (file-name (git-file-name name version))
20781 (sha256
20782 (base32
20783 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
20784 (build-system emacs-build-system)
20785 (propagated-inputs `(("emacs-org" ,emacs-org)))
20786 (home-page "https://github.com/weirdNox/org-noter")
20787 (synopsis "Synchronized, Org-mode, document annotator")
20788 (description
20789 "This package lets you create notes that are kept in sync when you
20790 scroll through the document, but that are external to it---the notes
20791 themselves live in an Org-mode file. As such, this leverages the power of
20792 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
20793 acting like notes that are made @emph{in} the document.")
20794 (license license:gpl3+)))
20795
20796 (define-public emacs-org-redmine
20797 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
20798 (package
20799 (name "emacs-org-redmine")
20800 (version (git-version "0.1" "1" commit))
20801 (source (origin
20802 (method git-fetch)
20803 (uri (git-reference
20804 (url "https://github.com/gongo/org-redmine.git")
20805 (commit commit)))
20806 (file-name (git-file-name name version))
20807 (sha256
20808 (base32
20809 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
20810 (build-system emacs-build-system)
20811 (home-page "https://github.com/gongo/org-redmine/")
20812 (synopsis "Redmine tools using Emacs")
20813 (description "This program provides an Emacs client for Redmine.")
20814 (license license:gpl3+))))
20815
20816 (define-public emacs-multi-term
20817 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
20818 (package
20819 (name "emacs-multi-term")
20820 (version "1.2")
20821 (source (origin
20822 (method git-fetch)
20823 (uri (git-reference
20824 (url "https://github.com/manateelazycat/multi-term.git")
20825 (commit commit)))
20826 (file-name (git-file-name name version))
20827 (sha256
20828 (base32
20829 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
20830 (build-system emacs-build-system)
20831 (inputs `(("zsh" ,zsh)))
20832 (home-page "https://github.com/manateelazycat/multi-term")
20833 (synopsis "Manage multiple terminal buffers in Emacs")
20834 (description
20835 "This package enhances @code{term.el} with the following features:
20836
20837 @enumerate
20838 @item Functions to switch between multiple terminal buffers
20839 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
20840 the underlying terminal
20841 @item Kills the unused buffer left after exiting the terminal
20842 @item Kills the running sub-processes along with the terminal when killing the
20843 it forcibly
20844 @item Dedicated window for debugging program.
20845 @end enumerate")
20846 (license license:gpl3+))))
20847
20848 (define-public emacs-elpher
20849 (package
20850 (name "emacs-elpher")
20851 (version "2.7.9")
20852 (source
20853 (origin
20854 (method git-fetch)
20855 (uri (git-reference
20856 (url "git://thelambdalab.xyz/elpher.git")
20857 (commit (string-append "v" version))))
20858 (file-name (git-file-name name version))
20859 (sha256
20860 (base32
20861 "1vikzia87z5x3wx2qjihv0r2f29b7s9xkm6i1j0y646dwnzn6wzr"))))
20862 (build-system emacs-build-system)
20863 (native-inputs
20864 `(("texinfo" ,texinfo)))
20865 (arguments
20866 `(#:phases
20867 (modify-phases %standard-phases
20868 (add-before 'install 'build-doc
20869 (lambda _
20870 (invoke "makeinfo" "elpher.texi"))))))
20871 (home-page "gopher://thelambdalab.xyz/1/projects/elpher/")
20872 (synopsis "Gopher client for Emacs")
20873 (description "Elpher is a full-featured gopher client for Emacs. Its
20874 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
20875 compatibility with evil-mode, clickable web and gopher links in plain text,
20876 caching of visited sites, pleasant and configurable visualization of Gopher
20877 directories, direct visualisation of image files, jumping directly to links by
20878 name (with autocompletion), a simple bookmark management system and
20879 connections using TLS encryption.")
20880 (license license:gpl3+)))
20881
20882 (define-public emacs-zerodark-theme
20883 (package
20884 (name "emacs-zerodark-theme")
20885 (version "4.6")
20886 (source
20887 (origin
20888 (method git-fetch)
20889 (uri (git-reference
20890 (url "https://github.com/NicolasPetton/zerodark-theme")
20891 (commit version)))
20892 (file-name (git-file-name name version))
20893 (sha256
20894 (base32
20895 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
20896 (build-system emacs-build-system)
20897 (propagated-inputs
20898 `(("emacs-flycheck" ,emacs-flycheck)
20899 ("emacs-all-the-icons" ,emacs-all-the-icons)))
20900 (home-page
20901 "https://gitlab.petton.fr/nico/zerodark-theme")
20902 (synopsis
20903 "Dark, medium contrast theme for Emacs")
20904 (description
20905 "Zerodark is a dark theme inspired from One Dark and Niflheim.
20906 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
20907 (license license:gpl3+)))
20908
20909 (define-public emacs-gnus-alias
20910 (package
20911 (name "emacs-gnus-alias")
20912 (version "20150316")
20913 (source (origin
20914 (method git-fetch)
20915 (uri (git-reference
20916 (url "https://github.com/hexmode/gnus-alias.git")
20917 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
20918 (file-name (git-file-name name version))
20919 (sha256
20920 (base32
20921 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
20922 (build-system emacs-build-system)
20923 (home-page "https://melpa.org/#/gnus-alias")
20924 (synopsis "Alternative to @code{gnus-posting-styles}")
20925 (description "This Emacs add-on provides a simple mechanism to switch
20926 Identities when using a @code{message-mode} or a @code{message-mode} derived
20927 mode. Identities can include @code{From} and @code{Organisation} headers,
20928 extra headers, body and signature. Other features include:
20929
20930 @itemize
20931 @item Switch Identities in a message buffer.
20932 @item Access original message to help determine Identity of the followup/reply
20933 message.
20934 @item Act on a forwarded message as if it were a message being replied to.
20935 @item Start a new message with a given Identity pre-selected.
20936 @end itemize")
20937 (license license:gpl2+)))
20938
20939 (define-public emacs-ox-epub
20940 (package
20941 (name "emacs-ox-epub")
20942 (version "0.3")
20943 (source (origin
20944 (method git-fetch)
20945 (uri (git-reference
20946 (url "https://github.com/ofosos/ox-epub.git")
20947 (commit (string-append "v" version))))
20948 (file-name (git-file-name name version))
20949 (sha256
20950 (base32
20951 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
20952 (build-system emacs-build-system)
20953 (home-page "https://github.com/ofosos/ox-epub")
20954 (synopsis "Export org mode projects to EPUB")
20955 (description "@code{ox-epub} extends the (X)HTML exporter to generate
20956 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
20957 which should give broad compatibility. It should also be relatiely easy to
20958 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
20959 zip utility (default is @code{zip}).")
20960 (license license:gpl3+)))
20961
20962 (define-public emacs-ox-hugo
20963 (package
20964 (name "emacs-ox-hugo")
20965 (version "0.8")
20966 (source
20967 (origin
20968 (method git-fetch)
20969 (uri (git-reference
20970 (url "https://github.com/kaushalmodi/ox-hugo.git")
20971 (commit (string-append "v" version))))
20972 (file-name (git-file-name name version))
20973 (sha256
20974 (base32
20975 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
20976 (build-system emacs-build-system)
20977 (home-page "https://ox-hugo.scripter.co")
20978 (synopsis "Hugo markdown back-end for Org export engine")
20979 (description
20980 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
20981 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
20982 format.")
20983 (license license:gpl3+)))
20984
20985 (define-public emacs-ox-pandoc
20986 (package
20987 (name "emacs-ox-pandoc")
20988 (version "20180510")
20989 (source (origin
20990 (method git-fetch)
20991 (uri (git-reference
20992 (url "https://github.com/kawabata/ox-pandoc.git")
20993 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
20994 (file-name (git-file-name name version))
20995 (sha256
20996 (base32
20997 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
20998 (build-system emacs-build-system)
20999 (inputs
21000 `(("pandoc" ,ghc-pandoc)))
21001 (propagated-inputs
21002 `(("emacs-dash" ,emacs-dash)
21003 ("emacs-ht" ,emacs-ht)))
21004 (home-page "https://github.com/kawabata/ox-pandoc")
21005 (synopsis "Org exporter for Pandoc")
21006 (description "@code{ox-pandoc} is an exporter for converting Org-mode
21007 files to numerous other formats via Pandoc.")
21008 (license license:gpl3+)))
21009
21010 (define-public emacs-wc-mode
21011 (package
21012 (name "emacs-wc-mode")
21013 (version "1.3")
21014 (source (origin
21015 (method git-fetch)
21016 (uri (git-reference
21017 (url "https://github.com/bnbeckwith/wc-mode.git")
21018 (commit (string-append "v" version))))
21019 (file-name (git-file-name name version))
21020 (sha256
21021 (base32
21022 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
21023 (build-system emacs-build-system)
21024 (home-page "https://github.com/bnbeckwith/wc-mode")
21025 (synopsis "Running word count with goals (minor mode)")
21026 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
21027 for Emacs buffers as well as a modeline addition with live word, line and
21028 character counts. Additionally, a user can set specific goals for adding or
21029 deleting words. These goals were partly inspired by 750words.com where the
21030 goal of the site is to encourage writing by setting a goal of 750 words at a
21031 time.")
21032 (license license:gpl3+)))
21033
21034 (define-public emacs-mastodon
21035 (package
21036 (name "emacs-mastodon")
21037 (version "0.9.0")
21038 (source (origin
21039 (method git-fetch)
21040 (uri (git-reference
21041 (url "https://github.com/jdenen/mastodon.el.git")
21042 (commit version)))
21043 (file-name (git-file-name name version))
21044 (sha256
21045 (base32
21046 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
21047 (build-system emacs-build-system)
21048 (arguments
21049 `(#:phases
21050 (modify-phases %standard-phases
21051 ;; Move the source files to the top level, which is included in
21052 ;; the EMACSLOADPATH.
21053 (add-after 'unpack 'move-source-files
21054 (lambda _
21055 (let ((el-files (find-files "./lisp" ".*\\.el$")))
21056 (for-each (lambda (f)
21057 (rename-file f (basename f)))
21058 el-files))
21059 #t)))))
21060 (home-page "https://github.com/jdenen/mastodon.el")
21061 (synopsis "Emacs client for Mastodon")
21062 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
21063 federated microblogging social network.")
21064 (license license:gpl3+)))
21065
21066 ;; The last release tarball is for version 0.6. We pick a commit close to
21067 ;; version 0.6.10, which doesn't have a release tarball.
21068 (define-public emacs-ebdb
21069 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
21070 (revision "0"))
21071 (package
21072 (name "emacs-ebdb")
21073 (version (git-version "0.6.10" revision commit))
21074 (source (origin
21075 (method git-fetch)
21076 (uri (git-reference
21077 (url "https://github.com/girzel/ebdb.git")
21078 (commit commit)))
21079 (file-name (git-file-name name version))
21080 (sha256
21081 (base32
21082 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
21083 (build-system emacs-build-system)
21084 (home-page "https://github.com/girzel/ebdb")
21085 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
21086 (description "EBDB is a contact management/addressbook package for
21087 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
21088 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
21089 (license license:gpl3+))))
21090
21091 (define-public emacs-refactor
21092 (package
21093 (name "emacs-refactor")
21094 (version "0.4")
21095 (source (origin
21096 (method git-fetch)
21097 (uri (git-reference
21098 (url "https://github.com/Wilfred/emacs-refactor.git")
21099 (commit version)))
21100 (file-name (git-file-name name version))
21101 (sha256
21102 (base32
21103 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
21104 (build-system emacs-build-system)
21105 (propagated-inputs
21106 `(("emacs-dash" ,emacs-dash)
21107 ("emacs-s" ,emacs-s)
21108 ("emacs-popup" ,emacs-popup)
21109 ("emacs-list-utils" ,emacs-list-utils)
21110 ("emacs-iedit" ,emacs-iedit)))
21111 (home-page "https://github.com/Wilfred/emacs-refactor/")
21112 (synopsis "Language-specific refactoring in Emacs")
21113 (description "Emacs Refactor (EMR) is a framework for providing
21114 language-specific refactoring in Emacs. It includes refactoring commands for
21115 a variety of languages, including elisp itself.")
21116 (license license:gpl3+)))
21117
21118 (define-public emacs-flyspell-correct
21119 (package
21120 (name "emacs-flyspell-correct")
21121 (version "0.5")
21122 (source
21123 (origin
21124 (method git-fetch)
21125 (uri (git-reference
21126 (url "https://github.com/d12frosted/flyspell-correct.git")
21127 (commit (string-append "v" version))))
21128 (file-name (git-file-name name version))
21129 (sha256
21130 (base32
21131 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
21132 (build-system emacs-build-system)
21133 (propagated-inputs
21134 `(("emacs-helm" ,emacs-helm)
21135 ("emacs-ivy" ,emacs-ivy)
21136 ("emacs-popup" ,emacs-popup)))
21137 (home-page
21138 "https://github.com/d12frosted/flyspell-correct")
21139 (synopsis
21140 "Correcting words with flyspell via custom interfaces")
21141 (description
21142 "This package provides functionality for correcting words via custom
21143 interfaces. Several interfaces are supported beside the classic ido: popup,
21144 helm and ivy.")
21145 (license license:gpl3+)))
21146
21147 (define-public emacs-org-emms
21148 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
21149 (revision "1"))
21150 (package
21151 (name "emacs-org-emms")
21152 (version
21153 (git-version "0.1" revision commit))
21154 (source
21155 (origin
21156 (method git-fetch)
21157 (uri (git-reference
21158 (url "https://gitlab.com/jagrg/org-emms.git")
21159 (commit commit)))
21160 (file-name (git-file-name name commit))
21161 (sha256
21162 (base32
21163 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
21164 (build-system emacs-build-system)
21165 (propagated-inputs
21166 `(("emms" ,emacs-emms)
21167 ("emacs-org" ,emacs-org)))
21168 (home-page "https://gitlab.com/jagrg/org-emms")
21169 (synopsis "Play multimedia files from org-mode")
21170 (description
21171 "This package provides a new org link type for playing back multimedia
21172 files from org-mode using EMMS, The Emacs Multimedia System. If the link
21173 contains a track position, playback will start at the specified position.")
21174 (license license:gpl3+))))
21175
21176 (define-public emacs-org-jira
21177 (package
21178 (name "emacs-org-jira")
21179 (version "4.3.1")
21180 (source
21181 (origin
21182 (method git-fetch)
21183 (uri (git-reference
21184 (url "https://github.com/ahungry/org-jira.git")
21185 (commit version)))
21186 (file-name (git-file-name name version))
21187 (sha256
21188 (base32
21189 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
21190 (build-system emacs-build-system)
21191 (propagated-inputs
21192 `(("emacs-request" ,emacs-request)
21193 ("emacs-s" ,emacs-s)
21194 ("emacs-dash" ,emacs-dash)
21195 ("emacs-org" ,emacs-org)))
21196 (home-page "https://github.com/ahungry/org-jira")
21197 (synopsis "Syncing between Jira and Org-mode")
21198 (description
21199 "This package provides an extension to org-mode for syncing issues with
21200 JIRA issue servers.")
21201 (license license:gpl3+)))
21202
21203 (define-public emacs-systemd-mode
21204 (package
21205 (name "emacs-systemd-mode")
21206 (version "1.6")
21207 (source (origin
21208 (method git-fetch)
21209 (uri (git-reference
21210 (url "https://github.com/holomorph/systemd-mode.git")
21211 (commit (string-append "v" version))))
21212 (file-name (git-file-name name version))
21213 (sha256
21214 (base32
21215 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
21216 (build-system emacs-build-system)
21217 (arguments '(#:include '("\\.el$" "\\.txt$")))
21218 (home-page "https://github.com/holomorph/systemd-mode")
21219 (synopsis
21220 "Major mode for editing systemd units")
21221 (description
21222 "Major mode for editing systemd units in GNU Emacs.")
21223 (license license:gpl3+)))
21224
21225 (define-public emacs-ssh-config-mode
21226 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
21227 (revision "1"))
21228 (package
21229 (name "emacs-ssh-config-mode")
21230 (version (git-version "8.0" revision commit))
21231 (source
21232 (origin
21233 (method git-fetch)
21234 (uri
21235 (git-reference
21236 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
21237 (commit commit)))
21238 (file-name (git-file-name name commit))
21239 (sha256
21240 (base32
21241 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
21242 (build-system emacs-build-system)
21243 (arguments '(#:include '("\\.el$" "\\.txt$")))
21244 (home-page
21245 "https://github.com/jhgorrell/ssh-config-mode-el")
21246 (synopsis
21247 "Mode for fontification of ~/.ssh/config")
21248 (description
21249 "This package fontifies the ssh config keywords and creates
21250 keybindings for skipping from host section to host section.")
21251 (license license:gpl3+))))
21252
21253 (define-public emacs-ssh-agency
21254 (package
21255 (name "emacs-ssh-agency")
21256 (version "0.4")
21257 (source (origin
21258 (method git-fetch)
21259 (uri (git-reference
21260 (url "https://github.com/magit/ssh-agency.git")
21261 (commit version)))
21262 (file-name (git-file-name name version))
21263 (sha256
21264 (base32
21265 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
21266 (build-system emacs-build-system)
21267 (propagated-inputs
21268 `(("dash" ,emacs-dash)))
21269 (home-page "https://github.com/magit/ssh-agency")
21270 (synopsis "Manage @code{ssh-agent} from Emacs")
21271 (description
21272 "This package provides functions to startup @code{ssh-agent}, set the
21273 needed environment variables in Emacs, and prompt for passphrases from within
21274 Emacs so that pushes and pulls from @code{magit} will not require entering any
21275 passphrase.
21276
21277 It can also be useful on Unix-like platforms to delay having to enter your
21278 passphrase until the first time you push to a remote.")
21279 (license license:gpl3+)))
21280
21281 (define-public emacs-tao-theme
21282 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
21283 (revision "0"))
21284 (package
21285 (name "emacs-tao-theme")
21286 (version (git-version "0" revision commit))
21287 (source
21288 (origin
21289 (method git-fetch)
21290 (uri (git-reference
21291 (url "https://github.com/11111000000/tao-theme-emacs.git")
21292 (commit commit)))
21293 (file-name (git-file-name name version))
21294 (sha256
21295 (base32
21296 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
21297 (build-system emacs-build-system)
21298 (home-page "https://github.com/11111000000/tao-theme-emacs")
21299 (synopsis "Parameterized uncolored color themes for Emacs")
21300 (description
21301 "This package provides two parameterized uncolored color themes for
21302 Emacs: @code{tao-yin} and @code{tao-yang}. The default
21303 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
21304
21305 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
21306 @code{tao-theme-scale-filter-fn}, for edge filter; and
21307 @code{tao-theme-use-height}.")
21308 (license license:gpl3+))))
21309
21310 (define-public emacs-almost-mono-themes
21311 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
21312 (revision "0"))
21313 (package
21314 (name "emacs-almost-mono-themes")
21315 (version (git-version "0" revision commit))
21316 (source
21317 (origin
21318 (method git-fetch)
21319 (uri (git-reference
21320 (url "https://github.com/cryon/almost-mono-themes.git")
21321 (commit commit)))
21322 (file-name (git-file-name name version))
21323 (sha256
21324 (base32
21325 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
21326 (build-system emacs-build-system)
21327 (home-page "https://github.com/cryon/almost-mono-themes")
21328 (synopsis "Almost monochromatic themes for emacs in a few variants")
21329 (description
21330 "This package provides a collection of almost monochrome Emacs themes:
21331 @code{almost-mono-black} and @code{almost-mono-white}.")
21332 (license license:gpl3+))))
21333
21334 (define-public emacs-quasi-monochrome
21335 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
21336 (revision "0"))
21337 (package
21338 (name "emacs-quasi-monochrome")
21339 (version (git-version "1.2" revision commit))
21340 (source
21341 (origin
21342 (method git-fetch)
21343 (uri (git-reference
21344 (url "https://github.com/lbolla/emacs-quasi-monochrome.git")
21345 (commit commit)))
21346 (file-name (git-file-name name version))
21347 (sha256
21348 (base32
21349 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
21350 (build-system emacs-build-system)
21351 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
21352 (synopsis "Dark color theme for Emacs")
21353 (description
21354 "This package provides a dark color theme with a black background, high
21355 contrast and few colors.")
21356 (license license:gpl3+))))
21357
21358 (define-public emacs-doom-themes
21359 (let ((commit "54039c5171e3f8c9cef1f82122549b66cd8c8f7b")
21360 (revision "4")
21361 (version "2.1.6"))
21362 (package
21363 (name "emacs-doom-themes")
21364 (version (git-version version revision commit))
21365 (source (origin
21366 (method git-fetch)
21367 (uri (git-reference
21368 (url "https://github.com/hlissner/emacs-doom-themes.git")
21369 (commit commit)))
21370 (file-name (git-file-name name version))
21371 (sha256
21372 (base32 "1iwdjq4q2gkhi6jwas3ywgmdz5dg14sfb3fzhqd7wih6j3i2l3cr"))))
21373 (build-system emacs-build-system)
21374 (native-inputs
21375 `(("emacs-ert-runner" ,emacs-ert-runner)))
21376 (arguments
21377 `(#:tests? #t
21378 #:test-command '("ert-runner")
21379 #:modules ((guix build emacs-build-system)
21380 (guix build utils)
21381 (guix build emacs-utils)
21382 (srfi srfi-1))
21383 #:phases
21384 (modify-phases %standard-phases
21385 (add-after 'unpack 'move-themes
21386 (lambda _
21387 ;; Move the source files to the top level, which is in the
21388 ;; EMACSLOADPATH.
21389 (for-each (lambda (f)
21390 (rename-file f (basename f)))
21391 (find-files "./themes" ".*\\.el$"))
21392 #t))
21393 ;; There is a byte-code overflow issue in the latest checkout
21394 ;; which affects byte-compilation for several (read `most') theme
21395 ;; files. In order to cope with this issue, we disable
21396 ;; byte-compilation until this issue is resolved.
21397 ;; <https://github.com/hlissner/emacs-doom-themes/issues/314>
21398 ;;
21399 ;; NOTE: Byte-comp has been disabled in/after commit 9cd6872.
21400 ;; However our method of selective disabling is preferential to
21401 ;; just widely disabling byte-compilation.
21402 (add-after 'move-themes 'disable-breaking-compilation
21403 (lambda _
21404 (for-each (lambda (file)
21405 (chmod file #o600) ; needed to write changes.
21406 (emacs-batch-disable-compilation file))
21407 (cons "doom-themes-ext-neotree.el"
21408 ;; NOTE: When updating this package, determine
21409 ;; whether changed theme files can byte-compile.
21410 ;; If they can successfully byte-compile, add them
21411 ;; to this list of exceptions.
21412 (lset-difference string-contains
21413 (find-files "." ".*-theme.el")
21414 '("material"
21415 "snazzy"
21416 "tomorrow-day"))))
21417 #t)))))
21418 (synopsis "Wide collection of color themes for Emacs")
21419 (description "Emacs-doom-themes contains numerous popular color themes for
21420 Emacs that integrate with major modes like Org-mode.")
21421 (home-page "https://github.com/hlissner/emacs-doom-themes")
21422 (license license:expat))))
21423
21424 (define-public emacs-modus-operandi-theme
21425 (package
21426 (name "emacs-modus-operandi-theme")
21427 (version "0.9.0")
21428 (source
21429 (origin
21430 (method url-fetch)
21431 (uri (string-append "https://elpa.gnu.org/packages/"
21432 "modus-operandi-theme-" version ".el"))
21433 (sha256
21434 (base32 "0wzwhzpw5g719xxz58v5bjqb8gdz1xzqwxslgm9cng4y3hwy3igh"))))
21435 (build-system emacs-build-system)
21436 (home-page "https://gitlab.com/protesilaos/modus-themes")
21437 (synopsis "Accessible light theme (WCAG AAA)")
21438 (description
21439 "Modus operandi is the light version of the Modus accessible themes for
21440 GNU Emacs. The contrast ratio between foreground and background values should
21441 always be greater than 7:1, which conforms with the WCAG AAA accessibility
21442 standard. This is the highest standard of its kind.")
21443 (license license:gpl3+)))
21444
21445 (define-public emacs-modus-vivendi-theme
21446 (package
21447 (name "emacs-modus-vivendi-theme")
21448 (version "0.9.0")
21449 (source
21450 (origin
21451 (method url-fetch)
21452 (uri (string-append "https://elpa.gnu.org/packages/"
21453 "modus-vivendi-theme-" version ".el"))
21454 (sha256
21455 (base32 "0f6cd93q9vrxfmgg6ff85ixcmq6acvrirb3kwgkf7qv16w3ipcir"))))
21456 (build-system emacs-build-system)
21457 (home-page "https://gitlab.com/protesilaos/modus-themes")
21458 (synopsis "Accessible dark theme (WCAG AAA)")
21459 (description
21460 "Modus vivendi is the dark version of the Modus accessible themes for GNU
21461 Emacs. The contrast ratio between foreground and background values should
21462 always be greater than 7:1, which conforms with the WCAG AAA accessibility
21463 standard. This is the highest standard of its kind.")
21464 (license license:gpl3+)))
21465
21466 (define-public emacs-modus-themes
21467 (deprecated-package "emacs-modus-themes" emacs-modus-operandi-theme))
21468
21469 (define-public emacs-punpun-theme
21470 (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
21471 (revision "0"))
21472 (package
21473 (name "emacs-punpun-theme")
21474 (version (git-version "0" revision commit))
21475 (source
21476 (origin
21477 (method git-fetch)
21478 (uri (git-reference
21479 (url "https://github.com/wasamasa/punpun-theme.git")
21480 (commit commit)))
21481 (file-name (git-file-name name version))
21482 (sha256
21483 (base32
21484 "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"))))
21485 (build-system emacs-build-system)
21486 (home-page "https://github.com/wasamasa/punpun-theme")
21487 (synopsis "Bleak Emacs theme")
21488 (description
21489 "A bleak theme. Uses shades of gray and the occasional splash of
21490 color. Designed for 256-color terminals. Comes in light and dark!")
21491 (license license:gpl3+))))
21492
21493 (define-public emacs-spacemacs-theme
21494 (let ((commit "f79c40fb241e204539fde97200abae91e828e585")
21495 (revision "1"))
21496 (package
21497 (name "emacs-spacemacs-theme")
21498 (version (git-version "0" revision commit)) ;no release yet
21499 (source
21500 (origin
21501 (method git-fetch)
21502 (uri (git-reference
21503 (url "https://github.com/nashamri/spacemacs-theme.git")
21504 (commit commit)))
21505 (file-name (git-file-name name version))
21506 (sha256
21507 (base32 "1l2kkiyrskkpx8f901v0wrzaah1wjg15zdyv88spj3mh3hwd3b6n"))))
21508 (build-system emacs-build-system)
21509 (home-page "https://github.com/nashamri/spacemacs-theme")
21510 (synopsis
21511 "Light and dark theme for spacemacs that supports GUI and terminal")
21512 (description
21513 "Spacemacs theme is an Emacs color theme that started as
21514 a theme for Spacemacs. The theme comes with dark and light variants
21515 and it should work well with 256 color terminals.")
21516 (license license:gpl3+))))
21517
21518 (define-public emacs-elixir-mode
21519 (package
21520 (name "emacs-elixir-mode")
21521 (version "2.3.1")
21522 (source
21523 (origin
21524 (method git-fetch)
21525 (uri (git-reference
21526 (url "https://github.com/elixir-editors/emacs-elixir.git")
21527 (commit (string-append "v" version))))
21528 (file-name (git-file-name name version))
21529 (sha256
21530 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
21531 (build-system emacs-build-system)
21532 (propagated-inputs
21533 `(("emacs-pkg-info" ,emacs-pkg-info)))
21534 (home-page
21535 "https://github.com/elixir-editors/emacs-elixir")
21536 (synopsis "Major mode for editing Elixir files")
21537 (description
21538 "Elixir-Mode provides font-locking, indentation and navigation support
21539 for the Elixir programming language.")
21540 (license license:gpl3+)))
21541
21542 (define-public emacs-dimmer
21543 (package
21544 (name "emacs-dimmer")
21545 (version "0.3.0")
21546 (source
21547 (origin
21548 (method git-fetch)
21549 (uri (git-reference
21550 (url "https://github.com/gonewest818/dimmer.el.git")
21551 (commit version)))
21552 (file-name (git-file-name name version))
21553 (sha256
21554 (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
21555 (build-system emacs-build-system)
21556 (home-page "https://github.com/gonewest818/dimmer.el")
21557 (synopsis "Visually highlights the selected buffer in Emacs")
21558 (description "Dimmer provides a minor mode that indicates which buffer is
21559 currently active by dimming the faces in the other buffers. It does this
21560 nondestructively, and computes the dimmed faces dynamically such that your
21561 overall color scheme is shown in a muted form without requiring you to define
21562 what is a \"dim\" version of every face.")
21563 (license license:gpl3+)))
21564
21565 (define-public emacs-minibuffer-line
21566 (package
21567 (name "emacs-minibuffer-line")
21568 (version "0.1")
21569 (source
21570 (origin
21571 (method url-fetch)
21572 (uri (string-append
21573 "https://elpa.gnu.org/packages/minibuffer-line-"
21574 version
21575 ".el"))
21576 (sha256
21577 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
21578 (build-system emacs-build-system)
21579 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
21580 (synopsis "Display status info in the minibuffer window")
21581 (description
21582 "This package lets you display various status information in the
21583 minibuffer window instead of the mode-line. Of course, this is only displayed
21584 when the minibuffer window is not already used for other things (e.g. a
21585 minibuffer or an each area message).
21586
21587 The contents and aspect is controlled by the @code{minibuffer-line-format}
21588 variable and the @code{minibuffer-line} face.")
21589 (license license:gpl3+)))
21590
21591 (define-public emacs-eshell-prompt-extras
21592 (package
21593 (name "emacs-eshell-prompt-extras")
21594 (version "1.0")
21595 (home-page "https://github.com/zwild/eshell-prompt-extras")
21596 (source
21597 (origin
21598 (method git-fetch)
21599 (uri (git-reference
21600 (url home-page)
21601 (commit version)))
21602 (file-name (git-file-name name version))
21603 (sha256
21604 (base32
21605 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
21606 (build-system emacs-build-system)
21607 (synopsis "Display extra information and color for your Eshell prompt")
21608 (description "This library displays various customizable elements for
21609 @code{eshell} prompts: remote user, remote host, python virtual environment
21610 info, git branch, git dirty info and git unpushed number. Multiple themes are
21611 available.")
21612 (license license:gpl3+)))
21613
21614 (define-public emacs-eshell-did-you-mean
21615 (package
21616 (name "emacs-eshell-did-you-mean")
21617 (version "0.1")
21618 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
21619 (source
21620 (origin
21621 (method git-fetch)
21622 (uri (git-reference
21623 (url home-page)
21624 (commit (string-append "v" version))))
21625 (file-name (git-file-name name version))
21626 (sha256
21627 (base32
21628 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
21629 (build-system emacs-build-system)
21630 (synopsis "Display suggestions on 'command not found' in Eshell")
21631 (description "This library adds a list of 'Did you mean...' suggestions
21632 when the command was not found in Eshell. The suggestions are found after the
21633 commands that bear resemblance to the input command.")
21634 (license license:gpl3+)))
21635
21636 (define-public emacs-unfill
21637 (package
21638 (name "emacs-unfill")
21639 (version "0.2")
21640 (home-page "https://github.com/purcell/unfill")
21641 (source
21642 (origin
21643 (method git-fetch)
21644 (uri (git-reference
21645 (url home-page)
21646 (commit version)))
21647 (file-name (git-file-name name version))
21648 (sha256
21649 (base32 "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc"))))
21650 (build-system emacs-build-system)
21651 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
21652 (description
21653 "The functions in this package provide the inverse of Emacs'
21654 @code{fill-paragraph} and @code{fill-region}.")
21655 (license license:gpl3+)))
21656
21657 (define-public emacs-windower
21658 (package
21659 (name "emacs-windower")
21660 (version "0.0.1")
21661 (home-page "https://gitlab.com/ambrevar/emacs-windower")
21662 (source
21663 (origin
21664 (method git-fetch)
21665 (uri (git-reference
21666 (url home-page)
21667 (commit version)))
21668 (file-name (git-file-name name version))
21669 (sha256
21670 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
21671 (build-system emacs-build-system)
21672 (synopsis "Helper functions for window manipulation in Emacs")
21673 (description
21674 "This package provides helper functions for window manipulation in Emacs,
21675 such as:
21676
21677 @itemize
21678 @item switch to last buffer,
21679 @item toggle single window display,
21680 @item toggle between horizontal and vertical splits,
21681 @item move borders more naturally,
21682 @item swap windows à-la @code{windmove}.
21683 @end itemize")
21684 (license license:gpl3+)))
21685
21686 (define-public emacs-flycheck-cpplint
21687 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
21688 (revision "1"))
21689 (package
21690 (name "emacs-flycheck-cpplint")
21691 (version (git-version "0.1" revision commit))
21692 (source
21693 (origin
21694 (method git-fetch)
21695 (uri (git-reference
21696 (url "https://github.com/flycheck/flycheck-google-cpplint")
21697 (commit commit)))
21698 (file-name (git-file-name name version))
21699 (sha256
21700 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
21701 (build-system emacs-build-system)
21702 (arguments
21703 `(#:phases
21704 (modify-phases %standard-phases
21705 (add-after 'unpack 'set-cpplint-path
21706 (lambda _
21707 (substitute* "flycheck-google-cpplint.el"
21708 (("\"cpplint.py\"")
21709 (string-append "\"" (which "cpplint") "\"")))
21710 #t)))))
21711 (inputs
21712 `(("cpplint" ,cpplint)))
21713 (propagated-inputs
21714 `(("flycheck-mode" ,emacs-flycheck)))
21715 (synopsis "Google C++ checker for Flycheck")
21716 (description "This package provides a interface for @code{cpplint} over
21717 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
21718 Google guidelines.")
21719 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
21720 (license license:gpl3+))))
21721
21722 (define-public emacs-helm-fish-completion
21723 (package
21724 (name "emacs-helm-fish-completion")
21725 (version "0.4")
21726 (home-page "https://github.com/emacs-helm/helm-fish-completion")
21727 (source
21728 (origin
21729 (method git-fetch)
21730 (uri (git-reference
21731 (url home-page)
21732 (commit version)))
21733 (file-name (git-file-name name version))
21734 (sha256
21735 (base32 "0mh10qq3r16hjrayrbns51gmjpjnmpzy4i05rwn14rf2icvhs6x8"))))
21736 (build-system emacs-build-system)
21737 (propagated-inputs
21738 `(("helm" ,emacs-helm)
21739 ("fish-completion" ,emacs-fish-completion)))
21740 (synopsis "Helm interface for Emacs fish-completion")
21741 (description "Helm Fish Completion is a Helm interface for Emacs
21742 fish-completion. It can be used in both Eshell and M-x shell.")
21743 (license license:gpl3+)))
21744
21745 (define-public emacs-telega
21746 ;; This package has versions newer than indicated on MELPA.
21747 ;; Get the current version from `telega-version` in telega.el.
21748 ;; or by running M-x telega-version.
21749 (let ((commit "ae09592498ce380e57fbb76725fd4c89ae248864")
21750 (revision "0")
21751 (version "0.6.0"))
21752 (package
21753 (name "emacs-telega")
21754 (version (git-version version revision commit))
21755 (source
21756 (origin
21757 (method git-fetch)
21758 (uri (git-reference
21759 (url "https://github.com/zevlg/telega.el.git")
21760 (commit commit)))
21761 (sha256
21762 (base32
21763 "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3"))
21764 (patches (search-patches "emacs-telega-test-env.patch"))
21765 (file-name (git-file-name name version))))
21766 (build-system gnu-build-system)
21767 (arguments
21768 `(#:modules ((guix build gnu-build-system)
21769 ((guix build emacs-build-system) #:prefix emacs:)
21770 (guix build utils)
21771 (guix build emacs-utils))
21772 #:imported-modules (,@%gnu-build-system-modules
21773 (guix build emacs-build-system)
21774 (guix build emacs-utils))
21775 #:test-target "test"
21776 #:make-flags (list "WITH_VOIP=t")
21777 #:phases
21778 (modify-phases %standard-phases
21779 (add-after 'unpack 'prefix-patch
21780 (lambda _
21781 (substitute* "server/Makefile"
21782 (("CC=cc")
21783 "CC=gcc")
21784 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
21785 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
21786 "/bin"))
21787 ;; Manually invoke `run_tests.py` after install phase.
21788 (("python3 run_tests.py")
21789 ""))
21790 #t))
21791 (add-after 'unpack 'telega-paths-patch
21792 (lambda* (#:key inputs #:allow-other-keys)
21793 ;; Hard-code paths to `ffplay` and `ffmpeg`.
21794 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
21795 "/bin/ffplay"))
21796 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
21797 "/bin/ffmpeg")))
21798 (substitute* "telega-ffplay.el"
21799 (("\\(executable-find \"ffplay\"\\)")
21800 (string-append
21801 "(and (file-executable-p \"" ffplay-bin "\")"
21802 "\"" ffplay-bin "\")"))
21803 (("\\(executable-find \"ffmpeg\"\\)")
21804 (string-append
21805 "(and (file-executable-p \"" ffmpeg-bin "\")"
21806 "\"" ffmpeg-bin "\")"))))
21807 ;; Modify telega-util to reflect unique dir name in
21808 ;; `telega-install-data' phase.
21809 (substitute* "telega-util.el"
21810 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
21811 "(concat \"telega-data/\" filename)
21812 (locate-dominating-file telega--lib-directory
21813 \"telega-data\")"))
21814 #t))
21815 ;; The server test suite has a hardcoded path.
21816 ;; Reset this behavior to use the proper path.
21817 (add-after 'unpack 'server-suite-patch
21818 (lambda _
21819 (substitute* "server/run_tests.py"
21820 (("~/.telega/telega-server")
21821 (string-append (assoc-ref %outputs "out")
21822 "/bin/telega-server")))
21823 #t))
21824 (add-after 'install 'run-server-suite
21825 (lambda _
21826 (invoke "python3" "server/run_tests.py")
21827 #t))
21828 (delete 'configure)
21829 ;; Build emacs-side using `emacs-build-system'
21830 (add-after 'compress-documentation 'emacs-add-source-to-load-path
21831 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
21832 (add-after 'emacs-add-source-to-load-path 'emacs-install
21833 (assoc-ref emacs:%standard-phases 'install))
21834 ;; This step installs subdir /etc, which contains images, sounds and
21835 ;; various other data, next to the site-lisp dir.
21836 (add-after 'emacs-install 'telega-install-data
21837 (lambda* (#:key outputs #:allow-other-keys)
21838 (copy-recursively
21839 "etc"
21840 (string-append (assoc-ref outputs "out")
21841 "/share/emacs/telega-data/"))
21842 #t))
21843 (add-after 'telega-install-data 'emacs-build
21844 (assoc-ref emacs:%standard-phases 'build))
21845 (add-after 'emacs-build 'emacs-make-autoloads
21846 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
21847 (inputs
21848 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
21849 (propagated-inputs
21850 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
21851 ("emacs-company" ,emacs-company)
21852 ("libwebp" ,libwebp))) ; sticker support.
21853 (native-inputs
21854 `(("tdlib" ,tdlib)
21855 ("libtgvoip" ,libtgvoip) ; VoIP support.
21856 ;; Use Emacs with wide ints on 32-bit architectures.
21857 ("emacs" ,(match (%current-system)
21858 ((or "i686-linux" "armhf-linux")
21859 emacs-wide-int)
21860 (_
21861 emacs)))
21862 ("python" ,python)))
21863 (synopsis "GNU Emacs client for the Telegram messenger")
21864 (description
21865 "Telega is a full-featured, unofficial GNU Emacs-based client for the
21866 Telegram messaging platform.")
21867 (home-page "https://github.com/zevlg/telega.el")
21868 (license license:gpl3+))))
21869
21870 (define-public emacs-doom-modeline
21871 (package
21872 (name "emacs-doom-modeline")
21873 (version "2.8.2")
21874 (source (origin
21875 (method git-fetch)
21876 (uri (git-reference
21877 (url "https://github.com/seagle0128/doom-modeline.git")
21878 (commit (string-append "v" version))))
21879 (sha256
21880 (base32
21881 "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"))
21882 (file-name (git-file-name name version))))
21883 (build-system emacs-build-system)
21884 (arguments
21885 `(#:test-command '("ert-runner")))
21886 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
21887 (propagated-inputs
21888 `(("emacs-all-the-icons" ,emacs-all-the-icons)
21889 ("emacs-shrink-path" ,emacs-shrink-path)))
21890 (synopsis "Fancy and fast mode-line inspired by minimalism design")
21891 (description "Doom modeline is a complete modeline for GNU Emacs inspired
21892 by the Doom theme collection. This modeline features support for mode-specific
21893 icon support, git integration, and several other utilities.")
21894 (home-page "https://github.com/seagle0128/doom-modeline/")
21895 (license license:gpl3+)))
21896
21897 (define-public emacs-shrink-path
21898 (package
21899 (name "emacs-shrink-path")
21900 (version "0.3.1")
21901 (source
21902 (origin
21903 (method git-fetch)
21904 (uri (git-reference
21905 (url "https://gitlab.com/bennya/shrink-path.el.git")
21906 (commit (string-append "v" version))))
21907 (sha256
21908 (base32
21909 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
21910 (file-name (git-file-name name version))))
21911 (build-system emacs-build-system)
21912 (propagated-inputs
21913 `(("emacs-s" ,emacs-s)
21914 ("emacs-dash" ,emacs-dash)
21915 ("emacs-f" ,emacs-f)))
21916 (home-page "https://gitlab.com/bennya/shrink-path.el")
21917 (synopsis "Fish-style path truncation in emacs-lisp")
21918 (description "This package provides utility functions that allow for
21919 Fish-style truncated directories in eshell and various modelines.")
21920 (license license:gpl3+)))
21921
21922 (define-public emacs-org-present
21923 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
21924 (package
21925 (name "emacs-org-present")
21926 (version "0.0.1")
21927 (source
21928 (origin
21929 (method git-fetch)
21930 (uri (git-reference
21931 (url "https://github.com/rlister/org-present.git")
21932 (commit commit)))
21933 (file-name (git-file-name name version))
21934 (sha256
21935 (base32
21936 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
21937 (build-system emacs-build-system)
21938 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
21939 (description "Org-present is an extremely minimalist presentation tool
21940 for Emacs org-mode. Simply layout your presentation with each slide under a
21941 top-level header, start the minor mode with @code{org-present}, and page through
21942 each slide with left/right keys.")
21943 (home-page "https://github.com/rlister/org-present")
21944 (license license:gpl2))))
21945
21946 (define-public emacs-fullframe
21947 (package
21948 (name "emacs-fullframe")
21949 (version "0.5.0")
21950 (source
21951 (origin
21952 (method git-fetch)
21953 (uri (git-reference
21954 (url "https://github.com/tomterl/fullframe.git")
21955 (commit version)))
21956 (sha256
21957 (base32
21958 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
21959 (file-name (git-file-name name version))))
21960 (build-system emacs-build-system)
21961 (home-page "https://github.com/tomterl/fullframe")
21962 (synopsis "Generalized automatic execution in a single frame")
21963 (description "This library provides helpers for single-window-per-frame
21964 execution of buffer-exposing commands.")
21965 (license license:gpl3+)))
21966
21967 (define-public emacs-eshell-toggle
21968 (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
21969 (revision "1"))
21970 (package
21971 (name "emacs-eshell-toggle")
21972 (version (git-version "0.10.0" revision commit))
21973 (source
21974 (origin
21975 (method git-fetch)
21976 (uri (git-reference
21977 (url "https://github.com/4DA/eshell-toggle.git")
21978 (commit commit)))
21979 (sha256
21980 (base32
21981 "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
21982 (file-name (git-file-name name version))))
21983 (build-system emacs-build-system)
21984 (propagated-inputs
21985 `(("emacs-dash" ,emacs-dash)))
21986 (home-page "https://github.com/4DA/eshell-toggle")
21987 (synopsis "Show and hide an @code{eshell} instance")
21988 (description "This package toggles an @code{eshell} instance for the
21989 current buffer.")
21990 (license license:gpl3+))))
21991
21992 (define-public emacs-repl-toggle
21993 (package
21994 (name "emacs-repl-toggle")
21995 (version "0.6.1")
21996 (source
21997 (origin
21998 (method git-fetch)
21999 (uri (git-reference
22000 (url "https://github.com/tomterl/repl-toggle.git")
22001 (commit version)))
22002 (sha256
22003 (base32
22004 "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
22005 (file-name (git-file-name name version))))
22006 (build-system emacs-build-system)
22007 (propagated-inputs
22008 `(("emacs-fullframe" ,emacs-fullframe)))
22009 (home-page "https://github.com/tomterl/repl-toggle")
22010 (synopsis "Switch to and from current major mode's REPL")
22011 (description "This package provides a function to switch to and from a
22012 REPL appropriate to the current major mode.")
22013 (license license:gpl3+)))
22014
22015 (define-public emacs-blackout
22016 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
22017 (revision "1"))
22018 (package
22019 (name "emacs-blackout")
22020 (version (git-version "1.0" revision commit))
22021 (source
22022 (origin
22023 (method git-fetch)
22024 (uri (git-reference
22025 (url "https://github.com/raxod502/blackout.git")
22026 (commit commit)))
22027 (sha256
22028 (base32
22029 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
22030 (file-name (git-file-name name version))))
22031 (build-system emacs-build-system)
22032 (home-page "https://github.com/raxod502/blackout")
22033 (synopsis "Clean up mode lighters")
22034 (description "This package provides a function for hiding and customizing
22035 display of major and minor modes in the mode line.")
22036 (license license:gpl3+))))
22037
22038 (define-public emacs-ivy-omni-org
22039 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
22040 (revision "1"))
22041 (package
22042 (name "emacs-ivy-omni-org")
22043 (version (git-version "0.2.1" revision commit))
22044 (source
22045 (origin
22046 (method git-fetch)
22047 (uri (git-reference
22048 (url "https://github.com/akirak/ivy-omni-org.git")
22049 (commit commit)))
22050 (file-name (git-file-name name version))
22051 (sha256
22052 (base32
22053 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
22054 (build-system emacs-build-system)
22055 (propagated-inputs
22056 `(("emacs-ivy" ,emacs-ivy)
22057 ("emacs-dash" ,emacs-dash)))
22058 (synopsis "Browse anything in Org mode")
22059 (description "This package allows Org items to be accessed via the Ivy
22060 interface.")
22061 (home-page "https://github.com/akirak/ivy-omni-org")
22062 (license license:gpl3+))))
22063
22064 (define-public emacs-ivy-posframe
22065 (let ((commit "ae9bafe94fe6b77b6fe45766ae6172646f6a5d50"))
22066 (package
22067 (name "emacs-ivy-posframe")
22068 (version (git-version "0.1.0" "1" commit))
22069 (source
22070 (origin
22071 (method git-fetch)
22072 (uri (git-reference
22073 (url "https://github.com/tumashu/ivy-posframe.git")
22074 (commit commit)))
22075 (file-name (git-file-name name version))
22076 (sha256
22077 (base32
22078 "1j6yns5d7lh2v1nfcznrirl7qicdli9csciqvfgj4gkh72a97pw1"))))
22079 (build-system emacs-build-system)
22080 (propagated-inputs
22081 `(("emacs-posframe" ,emacs-posframe)
22082 ("emacs-ivy" ,emacs-ivy)))
22083 (home-page "https://github.com/tumashu/ivy-posframe")
22084 (synopsis "Pop a posframe (a child frame) to show Ivy candidates")
22085 (description
22086 "This package provides an Emacs Ivy extension, which let Ivy use
22087 posframe to show its candidate menu.")
22088 (license license:gpl3+))))
22089
22090 (define-public emacs-shackle
22091 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
22092 (revision "1"))
22093 (package
22094 (name "emacs-shackle")
22095 (version (git-version "1.0.3" revision commit))
22096 (source
22097 (origin
22098 (method git-fetch)
22099 (uri (git-reference
22100 (url "https://github.com/wasamasa/shackle.git")
22101 (commit commit)))
22102 (file-name (git-file-name name version))
22103 (sha256
22104 (base32
22105 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
22106 (build-system emacs-build-system)
22107 (synopsis "Enforce rules for popups")
22108 (description "This package provides a global minor mode in which users
22109 can specify how popup-displaying functions occupy the screen.")
22110 (home-page "https://github.com/wasamasa/shackle")
22111 (license license:gpl3+))))
22112
22113 (define-public emacs-helm-lacarte
22114 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
22115 (revision "1"))
22116 (package
22117 (name "emacs-helm-lacarte")
22118 (version (git-version "0" revision commit))
22119 (source
22120 (origin
22121 (method git-fetch)
22122 (uri (git-reference
22123 (url "https://github.com/emacs-helm/helm-lacarte.git")
22124 (commit commit)))
22125 (file-name (git-file-name name version))
22126 (sha256
22127 (base32
22128 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
22129 (build-system emacs-build-system)
22130 (propagated-inputs
22131 `(("emacs-helm" ,emacs-helm)
22132 ("emacs-lacarte" ,emacs-lacarte)))
22133 (synopsis "Helm interface to @code{lacarte.el}")
22134 (description "This package provides a Helm interface to
22135 @code{lacarte.el}, a package that displays mode-specific commands as menu
22136 items.")
22137 (home-page "https://github.com/emacs-helm/helm-lacarte")
22138 (license license:gpl3+))))
22139
22140 (define-public emacs-esh-help
22141 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
22142 (revision "1"))
22143 (package
22144 (name "emacs-esh-help")
22145 (version (git-version "1.0.1" revision commit))
22146 (source
22147 (origin
22148 (method git-fetch)
22149 (uri (git-reference
22150 (url "https://github.com/tom-tan/esh-help.git")
22151 (commit commit)))
22152 (file-name (git-file-name name version))
22153 (sha256
22154 (base32
22155 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
22156 (build-system emacs-build-system)
22157 (propagated-inputs
22158 `(("emacs-dash" ,emacs-dash)))
22159 (synopsis "Help functions for Eshell")
22160 (description "This package provides a @code{run-help} function inspired
22161 by @code{zsh} as well as @code{eldoc} support.")
22162 (home-page "https://github.com/tom-tan/esh-help")
22163 (license license:gpl3+))))
22164
22165 (define-public emacs-isearch-dabbrev
22166 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
22167 (revision "1"))
22168 (package
22169 (name "emacs-isearch-dabbrev")
22170 (version (git-version "0.1" revision commit))
22171 (source
22172 (origin
22173 (method git-fetch)
22174 (uri (git-reference
22175 (url "https://github.com/Dewdrops/isearch-dabbrev.git")
22176 (commit commit)))
22177 (file-name (git-file-name name version))
22178 (sha256
22179 (base32
22180 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
22181 (build-system emacs-build-system)
22182 (synopsis "Use @code{dabbrev} within @code{isearch}")
22183 (description "This package allows @code{dabbrev-expand} to be used
22184 within @code{isearch-mode}.")
22185 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
22186 (license license:gpl3+))))
22187
22188 (define-public emacs-helm-linux-disks
22189 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
22190 (revision "1"))
22191 (package
22192 (name "emacs-helm-linux-disks")
22193 (version (git-version "0.1" revision commit))
22194 (source
22195 (origin
22196 (method git-fetch)
22197 (uri (git-reference
22198 (url "https://github.com/Akirak/helm-linux-disks.git")
22199 (commit commit)))
22200 (file-name (git-file-name name version))
22201 (sha256
22202 (base32
22203 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
22204 (build-system emacs-build-system)
22205 (propagated-inputs
22206 `(("emacs-helm" ,emacs-helm)))
22207 (synopsis "Mount/unmount volumes in Linux via Helm")
22208 (description "This package provides a Helm interface to run operations
22209 on removable volumes in Linux.")
22210 (home-page "https://github.com/Akirak/helm-linux-disks")
22211 (license license:gpl3+))))
22212
22213 (define-public emacs-psession
22214 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
22215 (revision "1"))
22216 (package
22217 (name "emacs-psession")
22218 (version (git-version "1.5" revision commit))
22219 (source
22220 (origin
22221 (method git-fetch)
22222 (uri (git-reference
22223 (url "https://github.com/thierryvolpiatto/psession.git")
22224 (commit commit)))
22225 (file-name (git-file-name name version))
22226 (sha256
22227 (base32
22228 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
22229 (build-system emacs-build-system)
22230 (propagated-inputs
22231 `(("emacs-async" ,emacs-async)))
22232 (synopsis "Persistent save of @code{elisp} objects.")
22233 (description "This package provides minor modes for saving Emacs session
22234 data, including buffers, window configuration, variables, and more.")
22235 (home-page "https://github.com/thierryvolpiatto/psession")
22236 (license license:gpl3+))))
22237
22238 (define-public emacs-parseedn
22239 (package
22240 (name "emacs-parseedn")
22241 (version "0.1.0")
22242 (source
22243 (origin
22244 (method git-fetch)
22245 (uri (git-reference
22246 (url "https://github.com/clojure-emacs/parseedn.git")
22247 (commit (string-append "v" version))))
22248 (file-name (git-file-name name version))
22249 (sha256
22250 (base32
22251 "11wi3hwcgmy54p6ivpijqm7v0hj6j75a19qk5z779bqfrp79b4pc"))))
22252 (build-system emacs-build-system)
22253 (propagated-inputs
22254 `(("emacs-a" ,emacs-a)
22255 ("emacs-parseclj" ,emacs-parseclj)))
22256 (home-page "https://cider.mx")
22257 (synopsis "EDN parser for Emacs Lisp")
22258 (description
22259 "An Emacs Lisp library for parsing EDN (Clojure) data.
22260 It uses parseclj's shift-reduce parser internally.")
22261 (license license:gpl3+)))
22262
22263 (define-public emacs-parseclj
22264 (package
22265 (name "emacs-parseclj")
22266 (version "0.1.0")
22267 (source
22268 (origin
22269 (method git-fetch)
22270 (uri (git-reference
22271 (url "https://github.com/clojure-emacs/parseclj.git")
22272 (commit (string-append "v" version))))
22273 (file-name (git-file-name name version))
22274 (sha256
22275 (base32
22276 "03bm5dm4hmkqimv4wqxjjh5814pxysmm7z54bv2rf7zwv1x7dggr"))))
22277 (build-system emacs-build-system)
22278 (propagated-inputs `(("emacs-a" ,emacs-a)))
22279 (home-page "https://cider.mx")
22280 (synopsis "Clojure parser for Emacs Lisp")
22281 (description
22282 "An Emacs Lisp library for parsing Clojure code and EDN data.
22283 It supports several input and output formats, all powered by the
22284 same shift-reduce parser function.")
22285 (license license:gpl3+)))
22286
22287 (define-public emacs-hide-mode-line
22288 (package
22289 (name "emacs-hide-mode-line")
22290 (version "1.0.2")
22291 (source (origin
22292 (method git-fetch)
22293 (uri (git-reference
22294 (url "https://github.com/hlissner/emacs-hide-mode-line.git")
22295 (commit (string-append "v" version))))
22296 (file-name (git-file-name name version))
22297 (sha256
22298 (base32
22299 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
22300 (build-system emacs-build-system)
22301 (synopsis "Emacs plugin that hides the mode-line")
22302 (description "A minor mode that hides the mode-line in your current
22303 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
22304 or simply disable the mode-line in buffers where it is not very useful.")
22305 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
22306 (license license:expat)))
22307
22308 (define-public emacs-helm-cider
22309 ;; No new release since March 2018.
22310 (let ((commit "9363cc537f06233345aa3af5cd46aa5681ad607b"))
22311 (package
22312 (name "emacs-helm-cider")
22313 (version (git-version "0.4.0" "1" commit))
22314 (home-page "https://github.com/clojure-emacs/helm-cider")
22315 (source (origin
22316 (method git-fetch)
22317 (uri (git-reference
22318 (url home-page)
22319 (commit commit)))
22320 (file-name (git-file-name name version))
22321 (sha256
22322 (base32
22323 "0vfn4smqba1vsshz48ggkj8gs94la0sxb1sq4shrb41qj2x3dci7"))))
22324 (build-system emacs-build-system)
22325 (propagated-inputs
22326 `(("emacs-helm" ,emacs-helm)
22327 ("emacs-cider" ,emacs-cider)))
22328 (synopsis "Helm interface to Clojure's CIDER")
22329 (description "Helm-CIDER adds Helm interfaces to
22330 @command{cider-apropos}, @command{cider-apropos-documentation},
22331 @command{cider-browse-ns} (namespaces).
22332
22333 It also provides original Helm commands: @command{helm-cider-spec},
22334 @command{helm-cider-spec-ns}, @command{helm-cider-repl-history},
22335 @command{helm-cider-cheatsheet}.")
22336 (license license:gpl3+))))
22337
22338 (define-public emacs-edn
22339 ;; No release since February 2016
22340 (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
22341 (package
22342 (name "emacs-edn")
22343 (version (git-version "1.1.2" "1" commit))
22344 (home-page "https://github.com/expez/edn.el")
22345 (source (origin
22346 (method git-fetch)
22347 (uri (git-reference
22348 (url home-page)
22349 (commit commit)))
22350 (file-name (git-file-name name version))
22351 (sha256
22352 (base32
22353 "1xp2hjhn52k6l1g6ypva6dsklpawni7gvjafbz6404f9dyxflh7l"))))
22354 (build-system emacs-build-system)
22355 (propagated-inputs
22356 `(("emacs-peg" ,emacs-peg)))
22357 (synopsis "Read and write EDN from Elisp")
22358 (description "This is an Emacs Lisp library for reading and writing the
22359 data format @code{edn}. See @url{https://github.com/edn-format/edn}.")
22360 (license license:gpl3+))))
22361
22362 (define-public emacs-helm-clojuredocs
22363 (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
22364 (package
22365 (name "emacs-helm-clojuredocs")
22366 (version (git-version "0.3" "1" commit))
22367 (home-page "https://github.com/mbuczko/helm-clojuredocs")
22368 (source (origin
22369 (method git-fetch)
22370 (uri (git-reference
22371 (url home-page)
22372 (commit commit)))
22373 (file-name (git-file-name name version))
22374 (sha256
22375 (base32
22376 "015b8zxh91ljhqvn6z43gy08di54xcw9skw0i7frj3d7gk984qhl"))))
22377 (build-system emacs-build-system)
22378 (propagated-inputs
22379 `(("emacs-helm" ,emacs-helm)
22380 ("emacs-edn" ,emacs-edn)))
22381 (synopsis "Search help on clojuredocs.org with Helm")
22382 (description "This package provides a Helm interface to lookup Clojure
22383 documentation on @url{https://clojuredocs.org} with Helm.
22384
22385 Two function are exposed:
22386 @itemize
22387 @item @command{helm-clojuredocs}: opens a Helm session with no initial
22388 pattern. Searching starts with minimal 3 characters entered.
22389 @item @command{helm-clojuredocs-at-point}: opens a Helm session with initial
22390 pattern guessed from thing under current cursor position.
22391 @end itemize\n")
22392 (license license:gpl3+))))
22393
22394 (define-public emacs-metal-mercury-mode
22395 (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
22396 (revision "1")
22397 (version "0.0.0"))
22398 (package
22399 (name "emacs-metal-mercury-mode")
22400 (version (git-version version revision commit))
22401 (source
22402 (origin
22403 (method git-fetch)
22404 (uri (git-reference
22405 (url "https://github.com/ahungry/metal-mercury-mode.git")
22406 (commit commit)))
22407 (sha256
22408 (base32
22409 "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5"))
22410 (file-name (git-file-name name version))))
22411 (build-system emacs-build-system)
22412 (propagated-inputs
22413 `(("emacs-dash" ,emacs-dash)))
22414 (synopsis "Major mode for editing Mercury files")
22415 (description
22416 "Major mode for editing Mercury files. This is a rewrite of the original
22417 mercury-mode provided by Emacs as a wrapper around prolog-mode.")
22418 (home-page "https://github.com/ahungry/metal-mercury-mode")
22419 (license license:gpl3+))))
22420
22421 (define-public emacs-boxquote
22422 ;; The following commit is 2.1 release with a switch to GPL3+ license.
22423 (let ((commit "7e47e0e2853bc1215739b2e28f260e9eed93b2c5")
22424 (revision "0"))
22425 (package
22426 (name "emacs-boxquote")
22427 (version (git-version "2.1" revision commit))
22428 (source
22429 (origin
22430 (method git-fetch)
22431 (uri (git-reference
22432 (url "https://github.com/davep/boxquote.el.git")
22433 (commit commit)))
22434 (file-name (git-file-name name version))
22435 (sha256
22436 (base32 "1aqhg24gajvllbqxb0zxrnx6sddas37k2ldfinqyszd856sjhsg3"))))
22437 (build-system emacs-build-system)
22438 (home-page "https://github.com/davep/boxquote.el")
22439 (synopsis "Quote text with different kinds of boxes")
22440 (description "@code{boxquote} provides a set of functions for using
22441 a text quoting style that partially boxes in the left hand side of an area of
22442 text, such a marking style might be used to show externally included text or
22443 example code.")
22444 (license license:gpl3+))))
22445
22446 (define-public emacs-buffer-move
22447 (package
22448 (name "emacs-buffer-move")
22449 (version "0.6.2")
22450 (source
22451 (origin
22452 (method git-fetch)
22453 (uri (git-reference
22454 (url "https://github.com/lukhas/buffer-move.git")
22455 (commit version)))
22456 (file-name (git-file-name name version))
22457 (sha256
22458 (base32 "0xdks4jfqyhkh34y48iq3gz8swp0f526kwnaai5mhgvazvs4za8c"))))
22459 (build-system emacs-build-system)
22460 (home-page "https://github.com/lukhas/buffer-move")
22461 (synopsis "Functions for moving Emacs' buffers around")
22462 (description
22463 "This package define functions for swapping buffers between windows
22464 contained in the same frame. An alternate behavior is to have the current
22465 window switch to the previous buffer instead of swapping with the other
22466 window.")
22467 (license license:gpl3+)))
22468
22469 (define-public emacs-company-ebdb
22470 (package
22471 (name "emacs-company-ebdb")
22472 (version "1.1")
22473 (source
22474 (origin
22475 (method url-fetch)
22476 (uri (string-append "https://elpa.gnu.org/packages/"
22477 "company-ebdb-" version ".el"))
22478 (sha256
22479 (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"))))
22480 (build-system emacs-build-system)
22481 (propagated-inputs
22482 `(("emacs-company" ,emacs-company)))
22483 (home-page "https://elpa.gnu.org/packages/company-ebdb.html")
22484 (synopsis "Company completion backend for EBDB in Message mode")
22485 (description "@code{company-ebdb} provides Company mode integration for
22486 EBDB. It is copied more or less intact from @code{company-bbdb}, originally
22487 by Jan Tatarik.")
22488 (license license:gpl3+)))
22489
22490 (define-public emacs-mwim
22491 ;; Use the latest commit not in a release version as of yet, since it
22492 ;; contains a bug fix for the cases where `comment-start-skip' is nil.
22493 (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
22494 (revision "0"))
22495 (package
22496 (name "emacs-mwim")
22497 (version (git-version "0.4" revision commit))
22498 (source
22499 (origin
22500 (method git-fetch)
22501 (uri (git-reference
22502 (url "https://github.com/alezost/mwim.el.git")
22503 (commit commit)))
22504 (file-name (git-file-name name version))
22505 (sha256
22506 (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"))))
22507 (build-system emacs-build-system)
22508 (home-page "https://github.com/alezost/mwim.el")
22509 (synopsis "Move to the beginning/end of line, code or comment")
22510 (description "@code{mwim} provides several commands to switch between
22511 various line positions, like moving to the beginning/end of code, line, or
22512 comment.")
22513 (license license:gpl3+))))
22514
22515 (define-public emacs-delight
22516 (package
22517 (name "emacs-delight")
22518 (version "1.5")
22519 (source
22520 (origin
22521 (method url-fetch)
22522 (uri (string-append "https://elpa.gnu.org/packages/"
22523 "delight-" version ".el"))
22524 (sha256
22525 (base32 "0kzlvzwmn6zj0874086q2xw0pclyi7wlkq48zh2lkd2796xm8vw7"))))
22526 (build-system emacs-build-system)
22527 (home-page "https://elpa.gnu.org/packages/delight.html")
22528 (synopsis "Dimmer switch for your mode-line lighter text")
22529 (description "@code{delight} enables customizing or hiding the
22530 mode-line text (lighter) of major and minor modes.")
22531 (license license:gpl3+)))
22532
22533 (define-public emacs-unkillable-scratch
22534 ;; Use the latest (unreleased) commit as of now, since it contains a handy
22535 ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
22536 ;; repopulate the scratch buffer with `initial-scratch-message'.
22537 (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab")
22538 (revision "0"))
22539 (package
22540 (name "emacs-unkillable-scratch")
22541 (version (git-version "1.0.0" revision commit))
22542 (source
22543 (origin
22544 (method git-fetch)
22545 (uri (git-reference
22546 (url "https://github.com/EricCrosson/unkillable-scratch.git")
22547 (commit commit)))
22548 (file-name (git-file-name name version))
22549 (sha256
22550 (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa"))))
22551 (build-system emacs-build-system)
22552 (home-page "https://github.com/EricCrosson/unkillable-scratch")
22553 (synopsis "Prevents the *scratch* buffer from being killed")
22554 (description "@code{unkillable-scratch} helps prevent killing buffers
22555 matching a given regexp.")
22556 (license license:gpl2+))))
22557
22558 (define-public emacs-switch-buffer-functions
22559 (package
22560 (name "emacs-switch-buffer-functions")
22561 (version "0.0.1")
22562 (source
22563 (origin
22564 (method git-fetch)
22565 (uri (git-reference
22566 (url "https://github.com/10sr/switch-buffer-functions-el.git")
22567 (commit (string-append "v" version))))
22568 (file-name (git-file-name name version))
22569 (sha256
22570 (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
22571 (build-system emacs-build-system)
22572 (home-page "https://github.com/10sr/switch-buffer-functions-el")
22573 (synopsis "Hooks run when switching current buffer")
22574 (description "This package provides a hook variable
22575 @code{switch-buffer-functions}. The hooks will be run when the current buffer
22576 is changed after an interactive command, i.e., when @code{post-command-hook}
22577 hooks are run. The hooked functions will be called with both the previous and
22578 the current buffer.")
22579 (license license:unlicense)))
22580
22581 (define-public emacs-erc-scrolltoplace
22582 (package
22583 (name "emacs-erc-scrolltoplace")
22584 (version "0.1.0")
22585 (source
22586 (origin
22587 (method git-fetch)
22588 (uri (git-reference
22589 (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
22590 (commit version)))
22591 (file-name (git-file-name name version))
22592 (sha256
22593 (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
22594 (build-system emacs-build-system)
22595 (propagated-inputs
22596 `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions)))
22597 (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
22598 (synopsis "ERC module to replace scrolltobottom while using keep-place")
22599 (description "@code{erc-scrolltoplace} is an ERC module to try
22600 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
22601 (license license:gpl3+)))
22602
22603 (define-public emacs-dmenu
22604 ;; Use the latest commit, as there are no tagged releases.
22605 (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
22606 (revision "0"))
22607 (package
22608 (name "emacs-dmenu")
22609 (version (git-version "0.1" revision commit))
22610 (source
22611 (origin
22612 (method git-fetch)
22613 (uri (git-reference
22614 (url "https://github.com/lujun9972/el-dmenu.git")
22615 (commit commit)))
22616 (file-name (git-file-name name version))
22617 (sha256
22618 (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
22619 (build-system emacs-build-system)
22620 (home-page "https://github.com/lujun9972/el-dmenu")
22621 (synopsis "Simulate the @command{dmenu} command line program")
22622 (description "This package provides a @command{dmenu} command for
22623 launching other commands/applications from within Emacs, similar to the
22624 @command{dmenu} program. This is especially useful when using EXWM.")
22625 (license license:gpl3+))))
22626
22627 (define-public emacs-no-littering
22628 (package
22629 (name "emacs-no-littering")
22630 (version "1.0.3")
22631 (source
22632 (origin
22633 (method git-fetch)
22634 (uri (git-reference
22635 (url "https://github.com/emacscollective/no-littering.git")
22636 (commit (string-append "v" version))))
22637 (file-name (git-file-name name version))
22638 (sha256
22639 (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"))))
22640 (build-system emacs-build-system)
22641 (home-page "https://github.com/emacscollective/no-littering")
22642 (synopsis "Help keep ~/.emacs.d/ clean")
22643 (description "The default paths used to store configuration files and
22644 persistent data are not consistent across Emacs packages, be them built-in or
22645 third-party ones. @code{no-littering} sets out to help clean
22646 @file{~/.emacs.d/} by putting configuration files and persistent data files in
22647 two user-defined directories, as well as using more descriptive names for
22648 files and subdirectories when appropriate.")
22649 (license license:gpl3+)))
22650
22651 (define-public emacs-meson-mode
22652 (package
22653 (name "emacs-meson-mode")
22654 (version "0.2")
22655 (source
22656 (origin
22657 (method git-fetch)
22658 (uri (git-reference
22659 (url "https://github.com/wentasah/meson-mode.git")
22660 (commit (string-append "v" version))))
22661 (file-name (git-file-name name version))
22662 (sha256
22663 (base32 "1720b3hpfqd989zrgcns51jbjrv4vzl9di9mccl55vkmkbqzfin0"))))
22664 (build-system emacs-build-system)
22665 (home-page "https://github.com/wentasah/meson-mode")
22666 (synopsis "Major mode for Meson build system files")
22667 (description
22668 "This is an Emacs major mode for Meson build system files. Syntax
22669 highlighting works reliably. Indentation works too, but there are probably
22670 cases where it breaks.")
22671 (license license:gpl3+)))
22672
22673 (define-public emacs-message-x
22674 ;; Use the latest commit, as there are no tagged releases.
22675 (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
22676 (revision "0"))
22677 (package
22678 (name "emacs-message-x")
22679 (version (git-version "1.23" revision commit))
22680 (source
22681 (origin
22682 (method git-fetch)
22683 (uri (git-reference
22684 (url "https://github.com/emacsmirror/message-x.git")
22685 (commit commit)))
22686 (file-name (git-file-name name version))
22687 (sha256
22688 (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
22689 (build-system emacs-build-system)
22690 (home-page "https://www.emacswiki.org/emacs/message-x.el")
22691 (synopsis "Customizable completion in message headers")
22692 (description "@code{message-x} assigns a context-sensitive function to
22693 the TAB key in Message mode. When on a header line, it performs completion
22694 based on which header we are in (for example, newsgroup name completion makes
22695 sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
22696 sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
22697 executes a different function (default: @code{indent-relative}).")
22698 (license license:gpl2+))))
22699
22700 (define-public emacs-glsl-mode
22701 ;; No tag, version grabbed from source .el file.
22702 (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136")
22703 (revision "0"))
22704 (package
22705 (name "emacs-glsl-mode")
22706 (version (git-version "2.4" revision commit))
22707 (source
22708 (origin
22709 (method git-fetch)
22710 (uri (git-reference
22711 (url "https://github.com/jimhourihan/glsl-mode")
22712 (commit commit)))
22713 (file-name (git-file-name name version))
22714 (sha256
22715 (base32 "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s"))))
22716 (build-system emacs-build-system)
22717 (home-page "https://github.com/jimhourihan/glsl-mode")
22718 (synopsis "Major mode for Open GLSL shader files")
22719 (description
22720 "This package provides a major mode for editing OpenGLSL grammar files,
22721 usually files ending with @file{.vert}, @file{.frag}, @file{.glsl} or
22722 @file{.geom}. It is based on C mode plus some features and pre-specified
22723 fontifications.")
22724 (license license:gpl3+))))
22725
22726 (define-public emacs-gnus-harvest
22727 (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
22728 (revision "0"))
22729 (package
22730 (name "emacs-gnus-harvest")
22731 (version (git-version "1.0" revision commit))
22732 (source
22733 (origin
22734 (method git-fetch)
22735 (uri (git-reference
22736 (url "https://github.com/jwiegley/gnus-harvest.git")
22737 (commit commit)))
22738 (file-name (git-file-name name version))
22739 (sha256
22740 (base32 "08zb7vc3v3wdxkzgi902vlc5ybfvm8fxrvm5drnwfsjj9873pbcb"))))
22741 (build-system emacs-build-system)
22742 (inputs
22743 `(("sqlite" ,sqlite)))
22744 (arguments
22745 `(#:phases
22746 (modify-phases %standard-phases
22747 (add-before 'build 'patch-exec-paths
22748 (lambda* (#:key inputs #:allow-other-keys)
22749 (let ((sqlite (assoc-ref inputs "sqlite"))
22750 (file "gnus-harvest.el"))
22751 (make-file-writable file)
22752 (emacs-substitute-variables file
22753 ("gnus-harvest-sqlite-program"
22754 (string-append sqlite "/bin/sqlite3"))))
22755 #t)))))
22756 (home-page "https://github.com/jwiegley/gnus-harvest")
22757 (synopsis
22758 "Harvest email addresses from read/written Gnus articles")
22759 (description "@code{gnus-harvest} notices email address in every message
22760 or post you read or write, and collects them in a SQLite database, which can
22761 be easily and quickly queried to determine the completion list. It optionally
22762 uses BBDB and Message-X.")
22763 (license license:gpl3+))))
22764
22765 (define-public emacs-auto-dictionary-mode
22766 (package
22767 (name "emacs-auto-dictionary-mode")
22768 (version "1.1")
22769 (source
22770 (origin
22771 (method git-fetch)
22772 (uri (git-reference
22773 (url "https://github.com/nschum/auto-dictionary-mode")
22774 (commit version)))
22775 (file-name (git-file-name name version))
22776 (sha256
22777 (base32 "191294k92qp8gmfypf0q8j8qrym96aqikzvyb9p03wqvbr3r1dsk"))))
22778 (build-system emacs-build-system)
22779 (home-page "http://nschum.de/src/emacs/auto-dictionary/")
22780 (synopsis "Automatic dictionary switcher for Emacs spell checking")
22781 (description "@code{auto-dictionary} is a minor mode that hooks into
22782 Flyspell's on-the-fly spell checking and extends these checks to also detect
22783 language. Auto-dictionary then sets @code{ispell-dictionary} to use the
22784 detected language.")
22785 (license license:gpl2+)))
22786
22787 (define-public emacs-persist
22788 (package
22789 (name "emacs-persist")
22790 (version "0.4")
22791 (source
22792 (origin
22793 (method url-fetch)
22794 (uri (string-append "https://elpa.gnu.org/packages/"
22795 "persist-" version ".tar"))
22796 (sha256
22797 (base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
22798 (build-system emacs-build-system)
22799 (home-page "http://elpa.gnu.org/packages/persist.html")
22800 (synopsis "Persist variables between Emacs sessions")
22801 (description
22802 "This package provides variables which persist across sessions.
22803 Values are stored in a directory in @code{user-emacs-directory}, using
22804 one file per value. This makes it easy to delete or remove unused
22805 variables.")
22806 (license license:gpl3+)))
22807
22808 (define-public emacs-company-emoji
22809 (package
22810 (name "emacs-company-emoji")
22811 (version "2.5.2")
22812 (source
22813 (origin
22814 (method git-fetch)
22815 (uri (git-reference
22816 (url "https://github.com/dunn/company-emoji/")
22817 (commit version)))
22818 (file-name (git-file-name name version))
22819 (sha256
22820 (base32 "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2"))))
22821 (build-system emacs-build-system)
22822 (propagated-inputs
22823 `(("emacs-company" ,emacs-company)))
22824 (home-page "https://github.com/dunn/company-emoji/")
22825 (synopsis "Company completion back-end for emoji")
22826 (description
22827 "This library is a Company back-end providing auto-completion for
22828 emoji.")
22829 (license license:gpl3+)))
22830
22831 (define-public emacs-exiftool
22832 (package
22833 (name "emacs-exiftool")
22834 (version "0.3.2")
22835 (source
22836 (origin
22837 (method git-fetch)
22838 (uri (git-reference
22839 (url "https://git.systemreboot.net/exiftool.el/")
22840 (commit (string-append "v" version))))
22841 (file-name (git-file-name name version))
22842 (sha256
22843 (base32
22844 "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
22845 (build-system emacs-build-system)
22846 (arguments
22847 `(#:tests? #t
22848 #:test-command '("make" "-C" "tests")
22849 #:phases
22850 (modify-phases %standard-phases
22851 (add-after 'unpack 'configure
22852 (lambda* (#:key inputs #:allow-other-keys)
22853 (make-file-writable "exiftool.el")
22854 (emacs-substitute-variables "exiftool.el"
22855 ("exiftool-executable"
22856 (string-append (assoc-ref inputs "perl-image-exiftool")
22857 "/bin/exiftool")))
22858 #t)))))
22859 (inputs
22860 `(("perl-image-exiftool" ,perl-image-exiftool)))
22861 (home-page "https://git.systemreboot.net/exiftool.el/about/")
22862 (synopsis "Elisp wrapper around ExifTool")
22863 (description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool.
22864 ExifTool supports reading and writing metadata in various formats including
22865 EXIF, XMP and IPTC.")
22866 (license license:gpl3+)))
22867
22868 (define-public emacs-password-generator
22869 (package
22870 (name "emacs-password-generator")
22871 (version "1.01")
22872 (home-page "https://github.com/zargener/emacs-password-genarator")
22873 (source
22874 (origin
22875 (method git-fetch)
22876 (uri (git-reference
22877 (url home-page)
22878 (commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3")))
22879 (file-name (git-file-name name version))
22880 (sha256
22881 (base32
22882 "1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv"))))
22883 (build-system emacs-build-system)
22884 (synopsis "Generate passwords inside Emacs")
22885 (description "@code{emacs-password-generator} provides simple functions to
22886 generate random passwords and insert them into the current buffer. It also
22887 supports generation of phonetic and numeric passwords.")
22888 (license license:artistic2.0)))
22889
22890 (define-public emacs-csv
22891 (package
22892 (name "emacs-csv")
22893 (version "2.1")
22894 (home-page "https://gitlab.com/u11/csv.el")
22895 (source
22896 (origin
22897 (method git-fetch)
22898 (uri (git-reference
22899 (url home-page)
22900 (commit (string-append "V" version))))
22901 (file-name (git-file-name name version))
22902 (sha256
22903 (base32
22904 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"))))
22905 (build-system emacs-build-system)
22906 (synopsis "Elisp functions for reading and parsing CSV files")
22907 (description
22908 "@code{csv.el} provides functions for reading and parsing @acronym{CSV,
22909 Comma-Separated Values} files. It follows the format as defined in RFC 4180
22910 @emph{Common Format and MIME Type for CSV
22911 Files} (@url{http://tools.ietf.org/html/rfc4180}).")
22912 (license license:gpl3+)))
22913
22914 (define-public emacs-org-journal
22915 (package
22916 (name "emacs-org-journal")
22917 (version "2.0.0")
22918 (source
22919 (origin
22920 (method git-fetch)
22921 (uri (git-reference
22922 (url "https://github.com/bastibe/org-journal.git")
22923 (commit version)))
22924 (file-name (git-file-name name version))
22925 (sha256
22926 (base32 "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg"))))
22927 (build-system emacs-build-system)
22928 (home-page "https://github.com/bastibe/org-journal")
22929 (synopsis "Simple Org mode journaling mode")
22930 (description
22931 "Org Journal is a set of functions to maintain a simple personal diary /
22932 journal using in Emacs, adapted from
22933 @url{https://www.emacswiki.org/emacs/PersonalDiary}. Convenient bindings
22934 allow the creation of journal records in the current daily, weekly, monthly or
22935 yearly file and search within all records or specified time intervals. All
22936 records can be browsed and searched from the Emacs Calendar for convenience.
22937 All entries in a specified TODO state will be carried over to the next day.")
22938 (license license:bsd-3)))
22939
22940 (define-public emacs-org-static-blog
22941 (package
22942 (name "emacs-org-static-blog")
22943 (version "1.3.0")
22944 (source
22945 (origin
22946 (method git-fetch)
22947 (uri (git-reference
22948 (url "https://github.com/bastibe/org-static-blog")
22949 (commit version)))
22950 (file-name (git-file-name name version))
22951 (sha256
22952 (base32 "15iy3z8rglaqbx1fz14inh18ksgjsmq30b8hyv3lgjvcc9ssaiw0"))))
22953 (build-system emacs-build-system)
22954 (home-page "https://github.com/bastibe/org-static-blog")
22955 (synopsis
22956 "Simple Org mode based static blog generator")
22957 (description
22958 "@code{emacs-org-static-blog} is one more static blog generator, it
22959 focuses on being simple. All files are simple Org files in a directory. The
22960 only requirement is that every Org file must have a @samp{title} and
22961 a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
22962 (license license:bsd-3)))
22963
22964 (define-public emacs-ddskk
22965 ;; XXX: Upstream adds code names to their release tags, so version and code
22966 ;; name below need to be updated together.
22967 (let ((version "16.3")
22968 (code-name "Kutomatsunai"))
22969 (package
22970 (name "emacs-ddskk")
22971 (version version)
22972 (source
22973 (origin
22974 (method git-fetch)
22975 (uri (git-reference
22976 (url "https://github.com/skk-dev/ddskk")
22977 (commit (string-append "ddskk-" version "_" code-name))))
22978 (file-name (git-file-name name version))
22979 (sha256
22980 (base32 "0ln4x8f35z5y3kf9m718g223bn3lzcmw40jfjg2j5yi24ydf1wm9"))))
22981 (build-system gnu-build-system)
22982 (arguments
22983 `(#:modules ((guix build gnu-build-system)
22984 (guix build utils)
22985 (guix build emacs-utils))
22986 #:imported-modules (,@%gnu-build-system-modules
22987 (guix build emacs-utils))
22988 #:test-target "test"
22989 #:phases
22990 (modify-phases %standard-phases
22991 (replace 'configure
22992 (lambda* (#:key outputs #:allow-other-keys)
22993 (make-file-writable "SKK-MK")
22994 (emacs-substitute-variables "SKK-MK"
22995 ("PREFIX" (assoc-ref outputs "out"))
22996 ("LISPDIR" '(expand-file-name "/share/emacs/site-lisp" PREFIX))
22997 ("SKK_PREFIX" "")
22998 ("SKK_INFODIR" '(expand-file-name "info" PREFIX)))
22999 (for-each make-file-writable (find-files "./doc"))
23000 #t)))))
23001 (native-inputs
23002 `(("emacs-minimal" ,emacs-minimal)))
23003 (home-page "https://github.com/skk-dev/ddskk")
23004 (synopsis "Simple Kana to Kanji conversion program")
23005 (description
23006 "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
23007 conversion program}, a Japanese input method on Emacs.")
23008 (license license:gpl2+))))
23009
23010 (define-public emacs-objed
23011 (package
23012 (name "emacs-objed")
23013 (version "0.8.3")
23014 (source
23015 (origin
23016 (method url-fetch)
23017 (uri (string-append
23018 "https://elpa.gnu.org/packages/objed-" version ".tar"))
23019 (sha256
23020 (base32
23021 "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr"))))
23022 (build-system emacs-build-system)
23023 (home-page "https://github.com/clemera/objed")
23024 (synopsis "Navigate and edit text objects")
23025 (description
23026 "@code{emacs-objed} allows navigating and editing text objects. It
23027 enables modal editing and composition of commands, too. It combines ideas of
23028 other Editors like Vim or Kakoune and tries to align them with regular Emacs
23029 conventions.")
23030 (license license:gpl3+)))
23031
23032 (define-public emacs-haskell-snippets
23033 ;; The commit below is 5 commits ahead of release, and includes a build fix.
23034 (let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a"))
23035 (package
23036 (name "emacs-haskell-snippets")
23037 (version (git-version "0.1.0" "0" commit))
23038 (source
23039 (origin
23040 (method git-fetch)
23041 (uri
23042 (git-reference
23043 (url "https://github.com/haskell/haskell-snippets")
23044 (commit commit)))
23045 (file-name (git-file-name name version))
23046 (sha256
23047 (base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"))))
23048 (build-system emacs-build-system)
23049 (arguments
23050 `(#:phases
23051 (modify-phases %standard-phases
23052 (add-after 'install 'install-snippets
23053 (lambda* (#:key outputs #:allow-other-keys)
23054 (let* ((out (assoc-ref outputs "out"))
23055 (snippets
23056 (string-append
23057 out "/share/emacs/site-lisp/snippets/haskell-mode")))
23058 (mkdir-p snippets)
23059 (copy-recursively "snippets/haskell-mode" snippets)
23060 #t))))))
23061 (propagated-inputs
23062 `(("emacs-yasnippet" ,emacs-yasnippet)))
23063 (home-page "https://github.com/haskell/haskell-snippets")
23064 (synopsis "Official collection of YASnippet Haskell snippets for Emacs")
23065 (description "Haskell-Snippets is a collection of YASnippet Haskell
23066 snippets for Emacs.")
23067 (license license:expat))))
23068
23069 (define-public emacs-org-roam
23070 (package
23071 (name "emacs-org-roam")
23072 (version "1.0.0")
23073 (source
23074 (origin
23075 (method git-fetch)
23076 (uri (git-reference
23077 (url "https://github.com/jethrokuan/org-roam.git")
23078 (commit (string-append "v" version))))
23079 (file-name (git-file-name name version))
23080 (sha256
23081 (base32 "08pfa63k194dpk0y2gfa0nzn5lig81q0l9axkq5j4ibj6ifaap4a"))))
23082 (build-system emacs-build-system)
23083 (propagated-inputs
23084 `(("emacs-company" ,emacs-company)
23085 ("emacs-dash" ,emacs-dash)
23086 ("emacs-emacsql-sqlite" ,emacs-emacsql)
23087 ("emacs-f" ,emacs-f)
23088 ("emacs-org-ref" ,emacs-org-ref)
23089 ("emacs-s" ,emacs-s)))
23090 (home-page "https://github.com/jethrokuan/org-roam/")
23091 (synopsis "Non-hierarchical note-taking with Org mode")
23092 (description "Emacs Org Roam is a solution for taking non-hierarchical
23093 notes with Org mode. Notes are captured without hierarchy and are connected
23094 by tags. Notes can be found and created quickly. Org Roam should also work
23095 as a plug-and-play solution for anyone already using Org mode for their
23096 personal wiki.")
23097 (license license:gpl3+)))
23098
23099 (define-public emacs-uml-mode
23100 ;; Package has no release. Version is extracted from "Version:" keyword in
23101 ;; main file.
23102 (let ((commit "4c37ac1c4424b2313cd8f16ba48a98a4cc214200")
23103 (revision "1"))
23104 (package
23105 (name "emacs-uml-mode")
23106 (version (git-version "0.0.4" revision commit))
23107 (source
23108 (origin
23109 (method git-fetch)
23110 (uri (git-reference
23111 (url "https://github.com/ianxm/emacs-uml.git")
23112 (commit commit)))
23113 (file-name (git-file-name name version))
23114 (sha256
23115 (base32 "145i4srnfvd1vyibri2a1l6p9mbjvkkwlrpi41134pbarqffcnka"))))
23116 (build-system emacs-build-system)
23117 (home-page "https://github.com/ianxm/emacs-uml")
23118 (synopsis "Minor mode for editing ASCII UML sequence diagrams")
23119 (description "Emacs UML mode is a minor mode that makes it easy to build
23120 ASCII UML sequence diagrams in Emacs, which can be embedded in source code,
23121 comments or emails.")
23122 (license license:gpl3+))))
23123
23124 (define-public emacs-trashed
23125 (package
23126 (name "emacs-trashed")
23127 (version "1.9.0")
23128 (source
23129 (origin
23130 (method git-fetch)
23131 (uri (git-reference
23132 (url "https://github.com/shingo256/trashed/")
23133 (commit version)))
23134 (file-name (git-file-name name version))
23135 (sha256
23136 (base32 "13grdi12iwlw4fiphdfmvclfpbr6ajlgfbfyi7v41z8k3rxz4ypz"))))
23137 (build-system emacs-build-system)
23138 (home-page "https://github.com/shingo256/trashed/")
23139 (synopsis "View and edit system trash can in Emacs")
23140 (description "Open, view, browse, restore or permanently delete trashed
23141 files or directories in trash can with Dired-like look and feel. The trash
23142 can has to be compliant with freedesktop.org. In Emacs, you can trash files by
23143 deleting them with @code{(setq delete-by-moving-to-trash t)}. This package
23144 provides a simple but convenient user interface to manage those trashed
23145 files.")
23146 (license license:gpl3+)))
23147
23148 (define-public emacs-plantuml-mode
23149 (package
23150 (name "emacs-plantuml-mode")
23151 (version "1.4.1")
23152 (source
23153 (origin
23154 (method git-fetch)
23155 (uri (git-reference
23156 (url "https://github.com/skuro/plantuml-mode")
23157 (commit (string-append "v" version))))
23158 (file-name (git-file-name name version))
23159 (sha256
23160 (base32 "0yp41d2dmf3sx7qnl5x0zdjcr9y71b2wwc9m0q31v22xqn938ipc"))))
23161 (arguments
23162 '(#:phases
23163 (modify-phases %standard-phases
23164 (add-after 'unpack 'use-local-plantuml
23165 (lambda* (#:key inputs #:allow-other-keys)
23166 (let ((plantuml (assoc-ref inputs "plantuml"))
23167 (file "plantuml-mode.el"))
23168 (chmod file #o644)
23169 (emacs-substitute-variables file
23170 ("plantuml-jar-path"
23171 (string-append plantuml "/share/java/plantuml.jar"))
23172 ("plantuml-executable-path"
23173 (string-append plantuml "/bin/plantuml"))
23174 ("plantuml-server-url" 'nil)
23175 ("plantuml-default-exec-mode" ''executable))
23176 (emacs-batch-edit-file file
23177 `(progn (progn
23178 (goto-char (point-min))
23179 (re-search-forward "(defun plantuml-download-jar")
23180 (beginning-of-line)
23181 (kill-sexp))
23182 (basic-save-buffer)))
23183 #t))))))
23184 (inputs
23185 `(("plantuml" ,plantuml)))
23186 (propagated-inputs
23187 `(("emacs-dash" ,emacs-dash)))
23188 (build-system emacs-build-system)
23189 (home-page "https://github.com/skuro/plantuml-mode")
23190 (synopsis "Major mode for editing PlantUML sources")
23191 (description "This package provides a major mode for editing PlantUML
23192 sources. It features syntax highlighting, autocompletion, preview of buffer
23193 or region and use of locally installed binaries.")
23194 (license license:gpl3+)))