diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm index 8c30407..ef69688 100644 --- a/oni/packages/emacs-config.scm +++ b/oni/packages/emacs-config.scm @@ -7,7 +7,7 @@ #:use-module (oni packages emacs)) (define-public emacs-oni-config - (let ((commit "b1c7553275218dd89676a1136a0e0d708acd5bec") + (let ((commit "a7bf05b48c47740de50c2adbc0fa8da703958f7b") (revision "0")) (package (name "emacs-oni-config") @@ -20,7 +20,7 @@ (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1977csi34jgvvnsn2bv1rawnw1mqvw2j8i6g9c26l49wp7l63szi")))) + (base32 "10n16bdqhq34rdjz8hqa6xlbvww05m257p815sk1vsv8k1xjn809")))) (build-system emacs-build-system) (home-page "https://sr.ht/~ryuslash/dotfiles/") (synopsis "My Emacs configuration") @@ -94,3 +94,57 @@ Emacs"))) ("emacs-oni-lui" ,emacs-oni-lui))) (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-dashboard" ,emacs-dashboard))) + (synopsis "My core Emacs configuration") + (description "This package provides my core configuration for Emacs"))) diff --git a/oni/packages/emacs.scm b/oni/packages/emacs.scm index 31a5278..1c871c5 100644 --- a/oni/packages/emacs.scm +++ b/oni/packages/emacs.scm @@ -50,3 +50,53 @@ (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) + (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+))))