diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm new file mode 100644 index 0000000..a90991a --- /dev/null +++ b/oni/packages/emacs-config.scm @@ -0,0 +1,580 @@ +(define-module (oni packages emacs-config) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system emacs) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages emacs-xyz) + #:use-module (gnu packages llvm) + #:use-module (gnu packages cmake) + #:use-module (gnu packages bash) + #:use-module (oni packages emacs) + #:use-module (oni packages go)) + +(define-public emacs-oni-config + (let ((commit "8eb16a8db6424eeca3fc82bdd806529edd94bd5e") + (revision "0")) + (package + (name "emacs-oni-config") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.ryuslash.org/ryuslash/emacs-config.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m88z982j113jdyy1zsii4m0hg5p1l6g3gj47s3msspr2dz2b9hi")))) + (build-system emacs-build-system) + (home-page "https://code.ryuslash.org/ryuslash/emacs-config") + (synopsis "My Emacs configuration") + (description "This package provides my configuration for emacs") + (license license:gpl3+)))) + +(define-public emacs-oni-vterm + (package + (inherit emacs-oni-config) + (name "emacs-oni-vterm") + (arguments + '(#:include '("oni-vterm.el"))) + (propagated-inputs + `(("emacs-vterm" ,emacs-vterm))) + (synopsis "My Emacs vterm configuration") + (description "This package provides my configuration for emacs-vterm"))) + +(define-public emacs-oni-ui + (package + (inherit emacs-oni-config) + (name "emacs-oni-ui") + (arguments + '(#:include '("oni-ui.el"))) + (propagated-inputs + (list emacs-beacon + emacs-diminish)) + (synopsis "My Emacs vterm configuration") + (description "This package provides my configuration for emacs-vterm"))) + +(define-public emacs-oni-gui + (package + (inherit emacs-oni-config) + (name "emacs-oni-gui") + (arguments + '(#:include '("oni-gui.el"))) + (propagated-inputs + (list emacs-oni-ui + emacs-oni-hydra + emacs-yoshi-theme + emacs-diminish)) + (synopsis "My Emacs vterm configuration") + (description "This package provides my configuration for emacs-vterm"))) + +(define-public emacs-oni-elfeed + (package + (inherit emacs-oni-config) + (name "emacs-oni-elfeed") + (arguments + '(#:include '("oni-elfeed.el"))) + (propagated-inputs + `(("emacs-elfeed" ,emacs-elfeed))) + (synopsis "My Emacs elfeed configuration") + (description "This package provides my configuration for emacs-elfeed"))) + +(define-public emacs-oni-magit + (package + (inherit emacs-oni-config) + (name "emacs-oni-magit") + (arguments + '(#:include '("oni-magit.el"))) + (propagated-inputs + (list emacs-magit + emacs-magit-popup + emacs-oni-hydra)) + (synopsis "My Emacs elfeed configuration") + (description "This package provides my configuration for emacs-elfeed"))) + +(define-public emacs-oni-alert + (package + (inherit emacs-oni-config) + (name "emacs-oni-alert") + (arguments + '(#:include '("oni-alert.el"))) + (propagated-inputs + `(("emacs-alert" ,emacs-alert))) + (synopsis "My Emacs alert configuration") + (description "This package provides my configuration for emacs-alert"))) + +(define-public emacs-oni-bookmark + (package + (inherit emacs-oni-config) + (name "emacs-oni-bookmark") + (arguments + '(#:include '("oni-bookmark.el"))) + (synopsis "My Emacs bookmark configuration") + (description "This package provides my configuration for the bookmark library +in Emacs"))) + +(define-public emacs-oni-lui + (package + (inherit emacs-oni-config) + (name "emacs-oni-lui") + (arguments + '(#:include '("oni-lui.el"))) + (propagated-inputs + `(("emacs-circe" ,emacs-circe))) + (synopsis "My Emacs Line-UI configuration") + (description "This package provides my configuration for the lui library in +Emacs"))) + +(define-public emacs-oni-circe + (package + (inherit emacs-oni-config) + (name "emacs-oni-circe") + (arguments + '(#:include '("oni-circe.el"))) + (propagated-inputs + `(("emacs-circe" ,emacs-circe) + ("emacs-circe-serenityc" ,emacs-circe-serenity) + ("emacs-oni-lui" ,emacs-oni-lui) + ("emacs-olivetti" ,emacs-olivetti))) + (synopsis "My Emacs Circe configuration") + (description "This package provides my configuration for emacs-circe"))) + +(define-public emacs-oni-embrace + (package + (inherit emacs-oni-config) + (name "emacs-oni-embrace") + (arguments + '(#:include '("oni-embrace.el"))) + (propagated-inputs + `(("emacs-embrace" ,emacs-embrace))) + (synopsis "My Emacs Embrace configuration") + (description "This package provides my configuration for emacs-embrace"))) + +(define-public emacs-oni-hydra + (package + (inherit emacs-oni-config) + (name "emacs-oni-hydra") + (arguments + '(#:include '("oni-hydra.el"))) + (propagated-inputs + `(("emacs-hydra" ,emacs-hydra) + ("emacs-posframe" ,emacs-posframe))) + (synopsis "My Emacs Hydra configuration") + (description "This package provides my configuration for emacs-hydra"))) + +(define-public emacs-oni-data-dir + (package + (inherit emacs-oni-config) + (name "emacs-oni-data-dir") + (arguments + '(#:include '("oni-data-dir.el"))) + (synopsis "Data dir configuration") + (description "Utilities for placing all state files in 'data/' inside my +`user-emacs-directory'."))) + +(define-public emacs-oni-core + (package + (inherit emacs-oni-config) + (name "emacs-oni-core") + (arguments + '(#:include '("oni-core.el"))) + (propagated-inputs + `(("emacs-oni-data-dir" ,emacs-oni-data-dir) + ("emacs-oni-embrace" ,emacs-oni-embrace) + ("emacs-oni-hydra" ,emacs-oni-hydra) + ("emacs-expand-region" ,emacs-expand-region) + ("emacs-multiple-cursors" ,emacs-multiple-cursors) + ("emacs-gcmh" ,emacs-gcmh) + ("emacs-diminish" ,emacs-diminish) + ("emacs-ws-butler" ,emacs-ws-butler) + ("emacs-which-key" ,emacs-which-key) + ("emacs-insert-char-preview" ,emacs-insert-char-preview) + ("emacs-mixed-pitch" ,emacs-mixed-pitch) + ("emacs-ace-window" ,emacs-ace-window) + ("emacs-vertico" ,emacs-vertico) + ("emacs-marginalia" ,emacs-marginalia) + ("emacs-orderless" ,emacs-orderless) + ("emacs-consult" ,emacs-consult) + ("emacs-embark" ,emacs-embark) + ("emacs-docstr" ,emacs-docstr) + ("emacs-mini-frame" ,emacs-mini-frame))) + (synopsis "My core Emacs configuration") + (description "This package provides my core configuration for Emacs"))) + +(define-public emacs-oni-smartparens + (package + (inherit emacs-oni-config) + (name "emacs-oni-smartparens") + (arguments + '(#:include '("oni-smartparens.el"))) + (propagated-inputs + `(("emacs-smartparens" ,emacs-smartparens))) + (synopsis "My Emacs smartparens configuration") + (description "This package provides my configuration for Emacs smartparens"))) + +(define-public emacs-oni-flycheck + (package + (inherit emacs-oni-config) + (name "emacs-oni-flycheck") + (arguments + '(#:include '("oni-flycheck.el"))) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-flycheck-posframe" ,emacs-flycheck-posframe) + ("emacs-flycheck-cask" ,emacs-flycheck-cask))) + (synopsis "My Emacs flycheck configuration") + (description "This package provides my configuration for Emacs flycheck"))) + +(define-public emacs-oni-lsp + (package + (inherit emacs-oni-config) + (name "emacs-oni-lsp") + (arguments + '(#:include '("oni-lsp.el"))) + (propagated-inputs + `(("emacs-lsp-mode" ,emacs-lsp-mode) + ("emacs-lsp-ui" ,emacs-lsp-ui) + ("emacs-lsp-ivy" ,emacs-lsp-ivy))) + (synopsis "My Emacs LSP configuration") + (description "This package provides my configuration for Emacs LSP"))) + +(define-public emacs-oni-c + (package + (inherit emacs-oni-config) + (name "emacs-oni-c") + (arguments + '(#:include '("oni-c.el"))) + (propagated-inputs + `(("emacs-oni-flycheck" ,emacs-oni-flycheck) + ("emacs-oni-lsp" ,emacs-oni-lsp) + ("emacs-reformatter" ,emacs-reformatter) + ("emacs-ccls" ,emacs-ccls) + ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) + ;; For `clang-format'. + ("clang" ,clang))) + (synopsis "My Emacs C coding configuration") + (description "This package provides my configuration for coding in C"))) + +(define-public emacs-oni-sh + (package + (inherit emacs-oni-config) + (name "emacs-oni-sh") + (arguments + '(#:include '("oni-sh.el"))) + (propagated-inputs + `(("emacs-reformatter" ,emacs-reformatter) + ("emacs-oni-flycheck" ,emacs-oni-flycheck) + ("emacs-oni-smartparens" ,emacs-oni-smartparens) + ("shfmt" ,shfmt))) + (synopsis "My Emacs Shell coding configuration") + (description "This package provides my configuration for coding in Shell"))) + +(define-public emacs-oni-yasnippet + (package + (inherit emacs-oni-config) + (name "emacs-oni-yasnippet") + (arguments + '(#:include '("oni-yasnippet.el"))) + (propagated-inputs + `(("emacs-yasnippet" ,emacs-yasnippet) + ("emacs-yasnippet-snippets" ,emacs-yasnippet-snippets) + ("emacs-diminish" ,emacs-diminish))) + (synopsis "My Emacs yasnippet configuration") + (description "This package provides my configuration for yasnippet"))) + +(define-public emacs-oni-bats + (package + (inherit emacs-oni-config) + (name "emacs-oni-bats") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-bats + (lambda _ + (chdir "oni-bats")))) + #:include '("\\.el$" "^snippets\\/bats-mode\\/"))) + (propagated-inputs + `(("emacs-bats" ,emacs-bats) + ("emacs-oni-sh" ,emacs-oni-sh) + ("emacs-oni-yasnippet" ,emacs-oni-yasnippet) + ("bats" ,bats))) + (synopsis "My Emacs Bats coding configuration") + (description "This package provides my configuration for coding in Bats"))) + +(define-public emacs-oni-org + (package + (inherit emacs-oni-config) + (name "emacs-oni-org") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-org + (lambda _ + (chdir "oni-org")))) + #:include '("\\.el$" + "^snippets\\/org-mode\\/" + "^capture-templates\\/" + "^icons\\/"))) + (propagated-inputs + `(("emacs-oni-yasnippet" ,emacs-oni-yasnippet) + ("emacs-oni-alert" ,emacs-oni-alert) + ("emacs-oni-hydra" ,emacs-oni-hydra) + ("emacs-org" ,emacs-org) + ("emacs-org-contrib" ,emacs-org-contrib) + ("emacs-org-bullets" ,emacs-org-bullets) + ("emacs-org-edna" ,emacs-org-edna) + ("emacs-diminish" ,emacs-diminish) + ("emacs-all-the-icons" ,emacs-all-the-icons) + ("emacs-olivetti" ,emacs-olivetti) + ("emacs-form-feed" ,emacs-form-feed) + ("emacs-org-pretty-table" ,emacs-org-pretty-table))) + (synopsis "My Emacs Org configuration") + (description "This package provides my configuration for org"))) + +(define-public emacs-oni-org-roam + (package + (inherit emacs-oni-config) + (name "emacs-oni-org-roam") + (arguments + '(#:include '("oni-org-roam.el"))) + (propagated-inputs + `(("emacs-oni-org" ,emacs-oni-org) + ("emacs-org-roam" ,emacs-org-roam))) + (synopsis "My Emacs Org Roam configuration") + (description "This package provides my configuration for Org Roam"))) + +(define-public emacs-oni-browse-url + (package + (inherit emacs-oni-config) + (name "emacs-oni-browse-url") + (arguments + '(#:include '("oni-browse-url.el"))) + (synopsis "My Emacs Browse Url configuration") + (description "This package provides my configuration for Browse Url"))) + +(define-public emacs-oni-prescient + (package + (inherit emacs-oni-config) + (name "emacs-oni-prescient") + (arguments + '(#:include '("oni-prescient.el"))) + (propagated-inputs + `(("emacs-prescient" ,emacs-prescient) + ("emacs-oni-data-dir" ,emacs-oni-data-dir))) + (synopsis "My Emacs prescient configuration") + (description "This package provides my configuration for prescient"))) + +(define-public emacs-oni-company + (package + (inherit emacs-oni-config) + (name "emacs-oni-company") + (arguments + '(#:include '("oni-company.el"))) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-oni-prescient" ,emacs-oni-prescient) + ("emacs-company-posframe" ,emacs-company-posframe) + ("emacs-diminish" ,emacs-diminish))) + (synopsis "My Emacs Company configuration") + (description "This package provides my configuration for company"))) + +(define-public emacs-oni-paredit + (package + (inherit emacs-oni-config) + (name "emacs-oni-paredit") + (arguments + '(#:include '("oni-paredit.el"))) + (propagated-inputs + `(("emacs-paredit" ,emacs-paredit) + ("emacs-diminish" ,emacs-diminish))) + (synopsis "My Emacs paredit configuration") + (description "This package provides my configuration for paredit"))) + +(define-public emacs-oni-clojure + (package + (inherit emacs-oni-config) + (name "emacs-oni-clojure") + (arguments + '(#:include '("oni-clojure.el"))) + (propagated-inputs + `(("emacs-clojure-mode" ,emacs-clojure-mode) + ("emacs-oni-company" ,emacs-oni-company) + ("emacs-cider" ,emacs-cider) + ("emacs-oni-paredit" ,emacs-oni-paredit) + ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) + ("emacs-oni-data-dir" ,emacs-oni-data-dir))) + (synopsis "My Emacs Clojure configuration") + (description "This package provides my configuration for Clojure"))) + +(define-public emacs-oni-cmake + (package + (inherit emacs-oni-config) + (name "emacs-oni-cmake") + (arguments + '(#:include '("oni-cmake.el"))) + (propagated-inputs + `(("emacs-cmake-mode" ,emacs-cmake-mode) + ("emacs-oni-company" ,emacs-oni-company) + ("emacs-oni-flycheck" ,emacs-oni-flycheck) + ("emacs-oni-lsp" ,emacs-oni-lsp) + ("emacs-cmake-font-lock" ,emacs-cmake-font-lock) + ("emacs-eldoc-cmake" ,emacs-eldoc-cmake))) + (synopsis "My Emacs CMake confifguration") + (description "This package provides my configuration for CMake"))) + +(define-public emacs-oni-common-lisp + (package + (inherit emacs-oni-config) + (name "emacs-oni-common-lisp") + (arguments + '(#:include '("oni-common-lisp.el"))) + (propagated-inputs + `(("emacs-oni-company" ,emacs-oni-company) + ("emacs-oni-flycheck" ,emacs-oni-flycheck) + ("emacs-oni-paredit" ,emacs-oni-paredit) + ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) + ("emacs-slime" ,emacs-slime) + ("emacs-slime-company" ,emacs-slime-company))) + (synopsis "My Emacs Common Lisp configuration") + (description "This package provides my configuration for Common Lisp"))) + +(define-public emacs-oni-compilation + (package + (inherit emacs-oni-config) + (name "emacs-oni-compilation") + (arguments + '(#:include '("oni-compilation.el"))) + (propagated-inputs + `(("emacs-oni-alert" ,emacs-oni-alert) + ("emacs-xterm-color" ,emacs-xterm-color))) + (synopsis "My Emacs Compilation configuration") + (description "This package provides my configuration for Compilation mode"))) + +(define-public emacs-oni-conf + (package + (inherit emacs-oni-config) + (name "emacs-oni-conf") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-conf + (lambda _ (chdir "oni-conf")))) + #:include '("\\.el$" + "^snippets\\/conf-mode\\/"))) + (propagated-inputs + `(("emacs-oni-yasnippet" ,emacs-oni-yasnippet))) + (synopsis "My Emacs Conf mode configuration") + (description "This pakcage provides my configuation for Conf mode"))) + +(define-public emacs-oni-counsel + (package + (inherit emacs-oni-config) + (name "emacs-oni-counsel") + (arguments + '(#:include '("oni-counsel.el"))) + (propagated-inputs + `(("emacs-counsel" ,emacs-counsel) + ("emacs-diminish" ,emacs-diminish))) + (synopsis "My Emacs Counsel configuration") + (description "This package provides my configuration for Counsel mode"))) + +(define-public emacs-oni-cpp + (package + (inherit emacs-oni-config) + (name "emacs-oni-cpp") + (arguments + '(#:include '("oni-cpp.el"))) + (propagated-inputs + `(("emacs-oni-company" ,emacs-oni-company) + ("emacs-oni-flycheck" ,emacs-oni-flycheck))) + (synopsis "My Emacs C++ configuration") + (description "This package provides my configuration for programming in C++."))) + +(define-public emacs-oni-csharp + (package + (inherit emacs-oni-config) + (name "emacs-oni-csharp") + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-csharp + (lambda _ (chdir "oni-csharp")))) + #:include '("\\.el$" "^snippets\\/"))) + (propagated-inputs + `(("emacs-csharp-mode" ,emacs-csharp-mode) + ("emacs-oni-company" ,emacs-oni-company) + ("emacs-oni-flycheck" ,emacs-oni-flycheck) + ("emacs-oni-yasnippet" ,emacs-oni-yasnippet) + ("emacs-oni-hydra" ,emacs-oni-hydra) + ("emacs-oni-lsp" ,emacs-oni-lsp) + ("emacs-oni-smartparens" ,emacs-oni-smartparens))) + (synopsis "My Emacs C# configuration") + (description "This package provides my configuration for programming in C#."))) + +(define-public emacs-oni-css + (package + (inherit emacs-oni-config) + (name "emacs-oni-css") + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-css + (lambda _ (chdir "oni-css")))) + #:include '("\\.el$" "^snippets\\/"))) + (propagated-inputs + `(("emacs-oni-company" ,emacs-oni-company) + ("emacs-oni-hydra" ,emacs-oni-hydra) + ("emacs-rainbow-mode" ,emacs-rainbow-mode) + ("emacs-oni-yasnippet" ,emacs-oni-yasnippet))) + (synopsis "My Emacs CSS configuration") + (description "This package provides my configuration for writing CSS."))) + +(define-public emacs-oni-diff-hl + (package + (inherit emacs-oni-config) + (name "emacs-oni-diff-hl") + (arguments + '(#:include '("oni-diff-hl.el"))) + (propagated-inputs + `(("emacs-diff-hl" ,emacs-diff-hl))) + (synopsis "My Emacs Diff Highlight configuration") + (description "This package provides my configuration for Diff Highlight."))) + +(define-public emacs-oni-elisp + (package + (inherit emacs-oni-config) + (name "emacs-oni-elisp") + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-oni-elisp + (lambda _ (chdir "oni-elisp")))) + #:include '("\\.el$" "^snippets\\/"))) + (propagated-inputs + `(("emacs-oni-company" ,emacs-oni-company) + ("emacs-oni-flycheck" ,emacs-oni-flycheck) + ("emacs-oni-paredit" ,emacs-oni-paredit) + ("emacs-oni-yasnippet" ,emacs-oni-yasnippet) + ("emacs-oni-hydra" ,emacs-oni-hydra) + ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) + ("emacs-nameless" ,emacs-nameless) + ("emacs-erefactor" ,emacs-erefactor) + ("emacs-flycheck-relint" ,emacs-flycheck-relint) + ("emacs-handle" ,emacs-handle) + ("emacs-elisp-format" ,emacs-elisp-format))) + (synopsis "My Emacs Lisp configuration") + (description "This package provides my configuration for Emacs Lisp."))) + +(define-public emacs-oni-eshell + (package + (inherit emacs-oni-config) + (name "emacs-oni-eshell") + (arguments + '(#:include '("oni-eshell.el"))) + (propagated-inputs + `(("emacs-esh-autosuggest" ,emacs-esh-autosuggest) + ("emacs-xterm-color" ,emacs-xterm-color) + ("emacs-eshell-syntax-highlighting" ,emacs-eshell-syntax-highlighting) + ("emacs-eshell-fringe-status" ,emacs-eshell-fringe-status))) + (synopsis "My Emacs Lisp configuration") + (description "This package provides my configuration for Emacs Lisp."))) 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+)))) +