aboutsummaryrefslogtreecommitdiff
path: root/km-packages/emacs.scm
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2019-02-06 23:16:24 -0500
committerKyle Meyer <kyle@kyleam.com>2019-02-06 23:16:24 -0500
commitb8aa1b43704c97a18396b88686328d82a1f05af9 (patch)
treec775af09e3000f0d90b96f36111761e39027d5d6 /km-packages/emacs.scm
downloadguix-packages-b8aa1b43704c97a18396b88686328d82a1f05af9.tar.gz
Initial import
Diffstat (limited to 'km-packages/emacs.scm')
-rw-r--r--km-packages/emacs.scm240
1 files changed, 240 insertions, 0 deletions
diff --git a/km-packages/emacs.scm b/km-packages/emacs.scm
new file mode 100644
index 0000000..2b11b67
--- /dev/null
+++ b/km-packages/emacs.scm
@@ -0,0 +1,240 @@
+;;; emacs.scm --- custom Guix packages for Emacs
+;;;
+;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
+;;;
+;;; This file is NOT part of GNU Guix.
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation, either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see
+;;; <https://www.gnu.org/licenses/>.
+
+(define-module (km-packages emacs)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages emacs-xyz)
+ #:use-module (guix build-system emacs)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages))
+
+(define-public km-emacs-avy
+ ;; avy hasn't been released for a while.
+ (let ((commit "f2bedeeb5804a4863bb53aca6f77195f7d530c38")
+ (revision "1"))
+ (package
+ (inherit emacs-avy)
+ (name "km-emacs-avy")
+ (version (string-append "0.4.0-" revision "." (string-take commit 8)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/abo-abo/avy.git"))
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1p2l6zqls2c8v1ahn9rkfj6vvcsx1ymd0rd590scj8kqhjjyq3n7")))))))
+
+(define-public emacs-ace-link
+ (package
+ (name "emacs-ace-link")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/abo-abo/ace-link/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rakzzpzyj2iq90vpjfwim2a0m7d41kchrp0h593ydk5js0bzx4z"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-avy" ,km-emacs-avy)))
+ (home-page "https://github.com/abo-abo/ace-link")
+ (synopsis "Quickly follow links in Emacs")
+ (description
+ "This package provides an interface for following links in Emacs
+buffers.")
+ (license license:gpl3+)))
+
+(define-public km-emacs-ace-window ; for km-emacs-avy
+ (package
+ (inherit emacs-ace-window)
+ (name "km-emacs-ace-window")
+ (propagated-inputs
+ `(("emacs-avy" ,km-emacs-avy)))))
+
+(define-public km-emacs-lispy ; for km-emacs-avy
+ (package
+ (inherit emacs-lispy)
+ (name "km-emacs-lispy")
+ (propagated-inputs
+ `(("emacs-ace-window" ,km-emacs-ace-window)
+ ("emacs-iedit" ,emacs-iedit)
+ ("emacs-ivy" ,emacs-ivy)
+ ("emacs-hydra" ,emacs-hydra)))))
+
+(define-public emacs-org-board
+ (package
+ (name "emacs-org-board")
+ (version "1018")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/scallywag/org-board/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1y3pjq5r0385dzz4wxmm3a97aqjfbngrysgl56l26aa293lhxxj0"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/scallywag/org-board")
+ (synopsis "TODO")
+ (description "TODO")
+ (license license:gpl3+)))
+
+;; Contains fix for chords.
+(define-public emacs-use-package-latest
+ (let ((commit "4f0f5856798b8575d3d466fce2a3aed0ebf1acf1")
+ (revision "2"))
+ (package
+ (inherit emacs-use-package)
+ (name "km-emacs-use-package")
+ (version (git-version "2.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jwiegley/use-package")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1j1wgyhb0lvj0znkq56q5vv3irfgb6w3mwpcrvxq0b0wkwr121gz")))))))
+
+(define-public emacs-pandoc
+ (package
+ (name "emacs-pandoc")
+ (version "2.23")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/joostkremers/pandoc-mode/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "19kgllhywxim02s69nisr8xs7fgifcj890kdmc2xdizmc7ps65yi"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-hydra" ,emacs-hydra)))
+ (home-page "https://github.com/joostkremers/writeroom-mode")
+ (synopsis "Minor mode for interacting with Pandoc")
+ (description "TODO")
+ (license license:gpl3+)))
+
+(define-public emacs-stan-mode
+ (package
+ (name "emacs-stan-mode")
+ (version "9.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/stan-dev/stan-mode/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "075n4y886lb5qvq1rl9kizxb5rypl11ky10akpnxcv005gja4dkq"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Build server side using 'gnu-build-system'.
+ (add-after 'unpack 'enter-lisp-dir
+ (lambda _ (chdir "stan-mode") #t)))))
+ (home-page "https://github.com/stan-dev/stan-mode")
+ (synopsis "Major mode for editing Stan files")
+ (description
+ "Provides syntax highlighting, indentation, and imenu support for
+Stan files.")
+ (license license:gpl3+)))
+
+;; TODO: Probably within Guix ledger package, but that was failing
+;; when I tried to build it. Look into.
+(define-public emacs-ledger
+ (package
+ (name "emacs-ledger")
+ (version "3.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ledger/ledger-mode/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x6g808j6xjjxw29k0bfvbx9aagccx6608f6a66y7cxyi6zqf46b"))))
+ (build-system emacs-build-system)
+ (arguments
+ '(#:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
+ (home-page "https://github.com/ledger/ledger-mode")
+ (synopsis "Major mode for editing Ledger files")
+ (description "Major mode for editing Ledger files")
+ (license license:gpl2)))
+
+(define-public emacs-ox-gfm
+ (package
+ (name "emacs-ox-gfm")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/larstvei/ox-gfm/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0jjznn30bv86a8nh3kqkcilsanplamrvgfji6w0fhwd38ihn2h8l"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/larstvei/ox-gfm")
+ (synopsis "Github Flavored Markdown Back-End for Org Export Engine ")
+ (description "TODO")
+ (license license:gpl3+)))
+
+(define-public emacs-pyvenv
+ (package
+ (name "emacs-pyvenv")
+ (version "1.15")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/jorgenschaefer/pyvenv/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "17hjik7s0pvwp1cs7n4cj92fjrybb8xh9aiqc00ab96fyr8a0w6m"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'patch-el-files))))
+ (home-page "https://github.com/jorgenschaefer/pyvenv")
+ (synopsis "TODO")
+ (description "TODO")
+ (license license:gpl3+)))