From 752079b49f456b69015e712ad2e82b6abba22f13 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Wed, 24 May 2023 23:43:00 -0700 Subject: Add packages for emacs and my emacs configuration When I was relying on my external package channel I ended up with a conflict being unable to upgrade a personal package because an issue with a Guix package was preventing me from upgrading Guix itself. --- oni/packages/emacs.scm | 392 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 392 insertions(+) create mode 100644 oni/packages/emacs.scm (limited to 'oni/packages/emacs.scm') diff --git a/oni/packages/emacs.scm b/oni/packages/emacs.scm new file mode 100644 index 0000000..118026c --- /dev/null +++ b/oni/packages/emacs.scm @@ -0,0 +1,392 @@ +(define-module (oni packages emacs) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system emacs) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages emacs-xyz)) + +(define-public emacs-inkplate + (let ((commit "0897721a7b3d84aa3f200ae85fddd5fdd370fc42") + (revision "0")) + (package + (name "emacs-inkplate") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (uri (git-reference + (url "https://git.sr.ht/~ryuslash/inkplatel") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0mqnpf4vrzn3013pcwcr9150k4jy4klrdg0pd3amhg2y25054w4s")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (synopsis "Interface for my Inkplate") + (description + "This package provides a way to communicate with Inkplate in peripheral mode.") + (license license:gpl3+) + (home-page "https://sr.ht/~ryuslash/inkplate/")))) + +(define-public emacs-circe-serenity + (let ((commit "6dbc0944755b198c923689c33e7287e444f6a310") + (revision "0")) + (package + (name "emacs-circe-serenity") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/ryuslash/circe-serenity.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "05fpbvqx6ii8kypv880j3mdc8kql7k16dcs42vpaaabjwn3kv4kn")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-circe" ,emacs-circe))) + (synopsis "Someone's idea of a more serene Circe configuration") + (description "A configuration for Circe") + (license license:gpl3) + (home-page "https://github.com/ryuslash/circe-serenity")))) + +(define-public emacs-embrace + (package + (name "emacs-embrace") + (version "0.1.4") + (source + (origin + (uri (git-reference + (url "https://github.com/cute-jumper/embrace.el") + (commit version))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m0qyipkp5ydgcav8d0m58fbj1gilipbj7g8mg40iajr8wfqcjdc")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-expand-region" ,emacs-expand-region))) + (home-page "https://github.com/cute-jumper/embrace.el") + (synopsis "Add/Change/Delete pairs based on `expand-region', similar to `evil-surround'") + (description "This package is heavily inspired by evil-surround (which is a port of the vim +plugin surround.vim). But instead of using evil and its text objects, this +package relies on another excellent package expand-region. + +For Emacs users who don’t like evil and thus don’t use evil-surround, embrace +provides similar commands that can be found in evil-surround. Evil is absolutely +not required. For evil-surround users, embrace can make your evil-surround +commands even better! (Have you noticed that evil-surround doesn’t work on many +custom pairs?)") + (license license:gpl3+))) + +(define-public emacs-insert-char-preview + (let ((commit "0e4a62b5407fb1bed8920a4c13cf9a91065e15ad") + (revision "0")) + (package + (name "emacs-insert-char-preview") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://gitlab.com/matsievskiysv/insert-char-preview") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cqc23y9n63a7kl2p1zrfcsxnclfxcszfmbh2hmbrs6q05ys0kzg")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/matsievskiysv/insert-char-preview") + (synopsis "Insert Unicode char") + (description "Insert Unicode char via insert-char-preview similar to insert-char command, but +with character preview in completion prompt.") + (license license:gpl3+)))) + +(define-public emacs-bats + (let ((commit "d519f7c89f5ae17dfc33400596df4564b478315f") + (revision "0")) + (package + (name "emacs-bats") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/dougm/bats-mode") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ikb4rb20ng1yq95g3ydwpk37axmiw38rjzn1av9m4cs81qby4jv")))) + (build-system emacs-build-system) + (home-page "https://github.com/dougm/bats-mode") + (synopsis "Emacs mode for editing and running Bats tests") + (description "bats-mode is an Emacs mode for editing and running Bats tests. + +bats-mode derives from the bash flavor of sh-mode, adding font-lock for bats +keywords.") + (license license:gpl2+)))) + +(define-public emacs-docstr + (let ((commit "4a991860c1259657c07c726bc482c97a1f597394") + (revision "0")) + (package + (name "emacs-docstr") + (version (git-version "5.7.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/emacs-vs/docstr") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z2l1mvrijwap83fpdlyfclk5aygfvmjaq7dayacj5nz5rggk0j6")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s))) + (home-page "https://emacs-vs.github.io/docstr/") + (synopsis "A document string minor mode") + (description "This package provides a simple solution for the insertion of documentation +strings into code.") + (license license:gpl3+)))) + +(define-public emacs-flycheck-posframe + (let ((commit "8f60c9bf124ab9597d681504a73fdf116a0bde12") + (revision "0")) + (package + (name "emacs-flycheck-posframe") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/alexmurray/flycheck-posframe") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qh9hzvs95jvfrspglzkwhfq6a5pinab94bbh5vzkg8jc2fq6drf")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-posframe" ,emacs-posframe))) + (home-page "https://github.com/alexmurray/flycheck-posframe") + (synopsis "Show flycheck errors via posframe.el") + (description "Show flycheck errors via posframe.el") + (license license:gpl3+)))) + +(define-public emacs-flycheck-cask + (package + (name "emacs-flycheck-cask") + (version "0.4") + (source + (origin + (uri (git-reference + (url "https://github.com/flycheck/flycheck-cask") + (commit version))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wm5saf29gw0gp0qq5glf9qq3iras99npc2rip7bsnn0czr2mscy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/flycheck/flycheck-cask") + (synopsis "Cask support for Flycheck") + (description "Make Flycheck use Cask packages in Cask projects.") + (license license:gpl3+))) + +(define-public emacs-nroam + (package + (name "emacs-nroam") + (version "20210325.2015") + (source + (origin + (method url-fetch) + (uri (string-append + "https://melpa.org/packages/nroam-" + version + ".tar")) + (sha256 + (base32 + "1aybc2k8kyf2dlpbq39p3k1nsvzrhw58xarbwwq0qgz91r49m4xq")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org-roam" ,emacs-org-roam) + ("emacs-org" ,emacs-org))) + (home-page + "https://github.com/NicolasPetton/nroam") + (synopsis + "Org-roam backlinks within org-mode buffers") + (description + "nroam is a supplementary package for org-roam that replaces the backlink side +buffer of Org-roam. Instead, it displays org-roam backlinks at the end of +org-roam buffers. + +To setup nroam for all org-roam buffers, evaluate the following: +(add-hook 'org-mode-hook #'nroam-setup-maybe) +") + (license license:gpl3+))) + +(define-public emacs-eldoc-cmake + (package + (name "emacs-eldoc-cmake") + (version "20190419.2244") + (source + (origin + (method url-fetch) + (uri (string-append + "https://melpa.org/packages/eldoc-cmake-" + version + ".el")) + (sha256 + (base32 + "08qa4lp22pracwskjq1kqv6kjwfbgyjsjsxb8kv820ndz5ccwaik")))) + (build-system emacs-build-system) + (home-page + "https://github.com/ikirill/eldoc-cmake") + (synopsis "Eldoc support for CMake") + (description + " +CMake eldoc support, using a pre-generated set of docstrings from +CMake's documentation source. + +See function `eldoc-cmake-enable'. +") + (license license:gpl3))) + +(define-public emacs-elisp-format + (let ((commit "03cc293eb2f78ec58fc1d84279af06816a04b979") + (revision "0")) + (package + (name "emacs-elisp-format") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/Yuki-Inoue/elisp-format") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "17l2xsixx3p93dmx9jsg0a3xqdg19nwp1di2pymlg41pw0kdf3x3")))) + (build-system emacs-build-system) + (home-page "https://github.com/Yuki-Inoue/elisp-format") + (synopsis "Format elisp code") + (description "This package is format by itself, so you can view format effect.") + (license license:gpl3+)))) + +(define-public emacs-erefactor + (let ((commit "bfe27a1b8c7cac0fe054e76113e941efa3775fe8") + (revision "0")) + (package + (name "emacs-erefactor") + (version (git-version "0.7.2" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/mhayashi1120/Emacs-erefactor") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1071gqli1qd498syhysyj2wzyw1nya5070m82xd9qalqdh11b8is")))) + (build-system emacs-build-system) + (home-page "https://github.com/mhayashi1120/Emacs-erefactor") + (synopsis "Emacs-Lisp refactoring utilities") + (description "Simple refactoring, linting utilities for Emacs-Lisp.") + (license license:gpl3+)))) + +(define-public emacs-flycheck-relint + (let ((commit "84b66d364ba583c1d5173a326997d11c6946b463") + (revision "0")) + (package + (name "emacs-flycheck-relint") + (version (git-version "0.6" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/purcell/flycheck-relint") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "04ypamfnfhw7ba6zd1k62xaxq91qbzfxx4n5nld74w2cyv3s645f")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-relint" ,emacs-relint))) + (home-page "https://github.com/purcell/flycheck-relint") + (synopsis "Flycheck integration for `relint`, which checks regexps in emacs lisp") + (description "This library provides a Flycheck checker for rx and string regular expressions +in Emacs Lisp files, using relint.") + (license license:gpl3+)))) + +(define-public emacs-outli + (let ((commit "f16f3ab90c5e4194b62f461e82f01709ae80f6e9") + (revision "0")) + (package + (name "emacs-outli") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/jdtsmith/outli") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "03xirf5q6n1iy3h1gqhzwbiw7vadfmna1h3gkfkdrjqfd3jjq6qm")))) + (build-system emacs-build-system) + (home-page "https://github.com/jdtsmith/outli") + (synopsis "Simple comment-based outlines for Emacs") + (description "outli is a simple Emacs outliner for code, documents, and more which styles your +headings, and emulates org-mode navigation and structure editing. It is based on +the built-in outline-minor-mode and is simple by design, providing just a few +key features.") + (license license:gpl3+)))) + +(define-public emacs-eshell-fringe-status + (let ((commit "047e9b9c75a39ac9f903bab937918165261d44f8") + (revision "0")) + (package + (name "emacs-eshell-fringe-status") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://code.ryuslash.org/ryuslash/eshell-fringe-status.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0frx1lc0rf6p01m5gjyaazl64f839856qn88v263rdls5rpncmz9")))) + (build-system emacs-build-system) + (home-page "https://code.ryuslash.org/ryuslash/eshell-fringe-status") + (synopsis "Show last status in fringe") + (description "Show last status in fringe") + (license license:gpl3+)))) + +(define-public emacs-yoshi-theme + (let ((commit "ba9427329ac49fa2e060da2c16507feed62ad890") + (revision "0")) + (package + (name "emacs-yoshi-theme") + (version (git-version "6.2.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://code.ryuslash.org/ryuslash/yoshi-theme.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f57qz8fxn4bncmd8ak9n0s8h4b0kba7nfmkb475djlhn2n2xxl9")))) + (build-system emacs-build-system) + (home-page "https://code.ryuslash.org/ryuslash/yoshi-theme") + (synopsis "Emacs theme named after my cat") + (description "My cat is named Yoshi and I was just working on a random new theme, which was +new-theme for a while. I couldn't think of a name so I named it after him.") + (license license:gpl3+)))) + -- cgit v1.2.3-54-g00ecf