From b8aa1b43704c97a18396b88686328d82a1f05af9 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Wed, 6 Feb 2019 23:16:24 -0500 Subject: Initial import --- km-packages/emacs.scm | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 km-packages/emacs.scm (limited to 'km-packages/emacs.scm') 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 +;;; +;;; 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 +;;; . + +(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+))) -- cgit v1.2.3