aboutsummaryrefslogtreecommitdiffstats
path: root/oni/packages/emacs-config.scm
diff options
context:
space:
mode:
Diffstat (limited to 'oni/packages/emacs-config.scm')
-rw-r--r--oni/packages/emacs-config.scm501
1 files changed, 451 insertions, 50 deletions
diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm
index c77395c..9fe2d7c 100644
--- a/oni/packages/emacs-config.scm
+++ b/oni/packages/emacs-config.scm
@@ -7,11 +7,14 @@
#: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))
+ #:use-module ((gnu packages mail)
+ #:select (emacs-notmuch))
+ #:use-module ((gnu packages python-xyz)
+ #:select (python-black))
+ #:use-module (oni packages emacs))
(define-public emacs-oni-config
- (let ((commit "8eb16a8db6424eeca3fc82bdd806529edd94bd5e")
+ (let ((commit "6747a3693c6320f0b0f3a49283c6b4d1a53fc3fa")
(revision "0"))
(package
(name "emacs-oni-config")
@@ -20,13 +23,13 @@
(origin
(method git-fetch)
(uri (git-reference
- (url "https://code.ryuslash.org/ryuslash/emacs-config.git")
+ (url "git://code.ryuslash.org/emacs-config.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0m88z982j113jdyy1zsii4m0hg5p1l6g3gj47s3msspr2dz2b9hi"))))
+ (base32 "0k4jqbiakxmahxxylfvzhbmhw4a12wid0smk83x016bmhb068slg"))))
(build-system emacs-build-system)
- (home-page "https://code.ryuslash.org/ryuslash/emacs-config")
+ (home-page "https://code.ryuslash.org/emacs-config/about/")
(synopsis "My Emacs configuration")
(description "This package provides my configuration for emacs")
(license license:gpl3+))))
@@ -42,16 +45,55 @@
(synopsis "My Emacs vterm configuration")
(description "This package provides my configuration for emacs-vterm")))
-(define-public emacs-oni-elfeed
+(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-elfeed")
+ (name "emacs-oni-gui")
(arguments
- '(#:include '("oni-elfeed.el")))
+ '(#:include '("oni-gui.el")))
(propagated-inputs
- `(("emacs-elfeed" ,emacs-elfeed)))
- (synopsis "My Emacs elfeed configuration")
- (description "This package provides my configuration for emacs-elfeed")))
+ (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
@@ -226,7 +268,8 @@ Emacs")))
`(("emacs-reformatter" ,emacs-reformatter)
("emacs-oni-flycheck" ,emacs-oni-flycheck)
("emacs-oni-smartparens" ,emacs-oni-smartparens)
- ("shfmt" ,shfmt)))
+ ;; ("shfmt" ,shfmt)
+ ))
(synopsis "My Emacs Shell coding configuration")
(description "This package provides my configuration for coding in Shell")))
@@ -251,8 +294,7 @@ Emacs")))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-oni-bats
- (lambda _
- (chdir "oni-bats"))))
+ (λ _ (chdir "oni-bats"))))
#:include '("\\.el$" "^snippets\\/bats-mode\\/")))
(propagated-inputs
`(("emacs-bats" ,emacs-bats)
@@ -262,7 +304,7 @@ Emacs")))
(synopsis "My Emacs Bats coding configuration")
(description "This package provides my configuration for coding in Bats")))
-(define-public emacs-oni-org
+(define-public (emacs-oni-org emacs)
(package
(inherit emacs-oni-config)
(name "emacs-oni-org")
@@ -270,36 +312,42 @@ Emacs")))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-oni-org
- (lambda _
- (chdir "oni-org"))))
+ (λ _ (chdir "oni-org"))))
#:include '("\\.el$"
"^snippets\\/org-mode\\/"
"^capture-templates\\/"
- "^icons\\/")))
+ "^icons\\/")
+ ;; The default #:emacs (emacs-minimal) doesn't include `range.el' and
+ ;; throws an error while trying to byte-compile oni-org.
+ #:emacs ,emacs))
(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)))
+ (list emacs-oni-yasnippet
+ emacs-oni-alert
+ emacs-oni-hydra
+ emacs-org-roam
+ emacs-org
+ emacs-org-contrib
+ emacs-org-bullets
+ emacs-org-edna
+ emacs-diminish
+ emacs-all-the-icons
+ emacs-olivetti
+ emacs-form-feed
+ emacs-org-pretty-table
+ emacs-ob-async
+ emacs-org-ql
+ emacs-org-super-agenda))
(synopsis "My Emacs Org configuration")
(description "This package provides my configuration for org")))
-(define-public emacs-oni-org-roam
+(define-public (emacs-oni-org-roam emacs)
(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-oni-org" ,(emacs-oni-org emacs))
("emacs-org-roam" ,emacs-org-roam)))
(synopsis "My Emacs Org Roam configuration")
(description "This package provides my configuration for Org Roam")))
@@ -351,21 +399,41 @@ Emacs")))
(synopsis "My Emacs paredit configuration")
(description "This package provides my configuration for paredit")))
+(define-public emacs-oni-python
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-python")
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir-oni-python
+ (λ _ (chdir "oni-python"))))
+ #:include '("\\.el$" "^snippets\\/python-mode\\/")))
+ (propagated-inputs
+ (list emacs-oni-yasnippet
+ emacs-oni-company
+ emacs-oni-flycheck
+ emacs-oni-hydra
+ emacs-oni-lsp
+ emacs-rainbow-delimiters
+ emacs-reformatter
+ python-black))))
+
(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")))
+ (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
@@ -419,7 +487,7 @@ Emacs")))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-oni-conf
- (lambda _ (chdir "oni-conf"))))
+ (λ _ (chdir "oni-conf"))))
#:include '("\\.el$"
"^snippets\\/conf-mode\\/")))
(propagated-inputs
@@ -459,7 +527,7 @@ Emacs")))
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-oni-csharp
- (lambda _ (chdir "oni-csharp"))))
+ (λ _ (chdir "oni-csharp"))))
#:include '("\\.el$" "^snippets\\/")))
(propagated-inputs
`(("emacs-csharp-mode" ,emacs-csharp-mode)
@@ -480,7 +548,7 @@ Emacs")))
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-oni-css
- (lambda _ (chdir "oni-css"))))
+ (λ _ (chdir "oni-css"))))
#:include '("\\.el$" "^snippets\\/")))
(propagated-inputs
`(("emacs-oni-company" ,emacs-oni-company)
@@ -509,7 +577,7 @@ Emacs")))
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-oni-elisp
- (lambda _ (chdir "oni-elisp"))))
+ (λ _ (chdir "oni-elisp"))))
#:include '("\\.el$" "^snippets\\/")))
(propagated-inputs
`(("emacs-oni-company" ,emacs-oni-company)
@@ -539,3 +607,336 @@ Emacs")))
("emacs-eshell-fringe-status" ,emacs-eshell-fringe-status)))
(synopsis "My Emacs Lisp configuration")
(description "This package provides my configuration for Emacs Lisp.")))
+
+(define-public emacs-oni-sendmail
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-sendmail")
+ (arguments
+ '(#:include '("oni-sendmail.el")))
+ (synopsis "My configuration to send email through Emacs.")
+ (description "This package provides my configuration for sending mail through Emacs.")))
+
+(define-public emacs-oni-notmuch
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-notmuch")
+ (arguments
+ '(#:include '("oni-notmuch.el")))
+ (propagated-inputs
+ (list emacs-oni-sendmail
+ emacs-notmuch
+ emacs-ol-notmuch
+ emacs-olivetti))
+ (synopsis "My notmuch configuration for Emacs.")
+ (description "This package provides my configuration for notmuch.")))
+
+(define-public emacs-oni-hy
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-hy")
+ (arguments
+ '(#:include '("oni-hy\\.el$")))
+ (propagated-inputs
+ (list emacs-hy-mode
+ emacs-oni-paredit
+ emacs-oni-yasnippet
+ emacs-rainbow-delimiters))
+ (synopsis "My Hy configuration")
+ (description "This package provides my configuration for Hy.")))
+
+(define-public emacs-oni-project
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-project")
+ (arguments
+ '(#:include '("oni-project\\.el$")))
+ (synopsis "My project.el configuration")
+ (description "This package provides my configuration for project.el.")))
+
+(define-public emacs-oni-dired
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-dired")
+ (arguments
+ '(#:include '("oni-dired\\.el$")))
+ (synopsis "My Dired configuration")
+ (description "This package provides my configuration for Dired.")))
+
+(define-public emacs-oni-ediff
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-ediff")
+ (arguments
+ '(#:include '("oni-ediff\\.el$")))
+ (synopsis "My Ediff configuration")
+ (description "This package provides my configuration for Ediff.")))
+
+(define-public emacs-oni-elm
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-elm")
+ (arguments
+ '(#:include '("oni-elm\\.el$")))
+ (propagated-inputs
+ (list emacs-elm-mode
+ emacs-oni-lsp
+ emacs-rainbow-delimiters))
+ (synopsis "My Elm configuration")
+ (description "This package provides my configuration for writing Elm code.")))
+
+(define-public emacs-oni-emms
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-emms")
+ (arguments
+ '(#:include '("oni-emms\\.el$")))
+ (propagated-inputs
+ (list emacs-emms))
+ (synopsis "My EMMS configuration")
+ (description "This package provides my configuration for EMMS.")))
+
+(define-public emacs-oni-epub
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-epub")
+ (arguments
+ '(#:include '("oni-epub\\.el$")))
+ (propagated-inputs
+ (list emacs-nov-el))
+ (synopsis "My configuration for reading ePub files")
+ (description "This package provides my configuration for reading ePub files.")))
+
+(define-public emacs-oni-eww
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-eww")
+ (arguments
+ '(#:include '("oni-eww\\.el")))
+ (propagated-inputs
+ (list emacs-oni-data-dir))
+ (synopsis "My configuration for EWW")
+ (description "This package provides my configuration for EWW.")))
+
+(define-public emacs-oni-grep
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-grep")
+ (arguments
+ '(#:include '("oni-grep\\.el$")))
+ (synopsis "My grep configuration")
+ (description "This package provides my configuration for grep.")))
+
+(define-public emacs-oni-haskell
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-haskell")
+ (arguments
+ '(#:include '("oni-haskell\\.el$")))
+ (propagated-inputs
+ (list emacs-haskell-mode))
+ (synopsis "My configuration for Haskell programming")
+ (description "This package provides my configuration for programming Haskell.")))
+
+(define-public emacs-oni-highlight-indent-guides
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-highlight-indent-guides")
+ (arguments
+ '(#:include '("oni-highlight-indent-guides\\.el$")))
+ (propagated-inputs
+ (list emacs-highlight-indent-guides))
+ (synopsis "My configuration for highlight indent guides")
+ (description "This package provides my configuration for highlight indent guides.")))
+
+(define-public emacs-oni-html
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-html")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir-oni-html
+ (λ _ (chdir "oni-html"))))
+ #:include '("\\.el$" "^snippets\\/")))
+ (propagated-inputs
+ (list emacs-oni-yasnippet))
+ (synopsis "My HTML configuration")
+ (description "This package provides my configuration for HTML.")))
+
+(define-public emacs-oni-java
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-java")
+ (arguments
+ '(#:include '("oni-java\\.el$")))
+ (propagated-inputs
+ (list emacs-oni-data-dir
+ emacs-oni-lsp
+ emacs-oni-hydra
+ emacs-lsp-java
+ emacs-rainbow-delimiters))
+ (synopsis "My configuration for Java")
+ (description "This package provides my configuration for writing Java.")))
+
+(define-public emacs-oni-json
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-json")
+ (arguments
+ '(#:include '("oni-json\\.el$")))
+ (propagated-inputs
+ (list emacs-json-mode))
+ (synopsis "My configuration for json")
+ (description "This package provides my configuration for writing json.")))
+
+(define-public emacs-oni-log-edit
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-log-edit")
+ (arguments
+ '(#:include '("oni-log-edit\\.el$")))
+ (synopsis "My configuration for log-edit")
+ (description "This package provides my configuration for log-edit.")))
+
+(define-public emacs-oni-lua
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-lua")
+ (arguments
+ '(#:include '("oni-lua\\.el$")))
+ (propagated-inputs
+ (list emacs-lua-mode))
+ (synopsis "My configuration for Lua")
+ (description "This package provides my configuration for writing Lua.")))
+
+(define-public emacs-oni-makefile
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-makefile")
+ (arguments
+ '(#:include '("oni-makefile\\.el$")))
+ (synopsis "My configuration for GNU Make")
+ (description "This package provides my configuration for writing Makefiles.")))
+
+(define-public emacs-oni-nxml
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-nxml")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir-oni-nxml
+ (λ _ (chdir "oni-nxml"))))
+ #:include '("\\.el$" "^snippets\\/")))
+ (propagated-inputs
+ (list emacs-oni-yasnippet
+ emacs-reformatter))
+ (synopsis "My XML configuration")
+ (description "This package provides my configuration for writing XML.")))
+
+(define-public emacs-oni-package
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-package")
+ (arguments
+ '(#:include '("oni-package\\.el$")))
+ (synopsis "My configuration for package.el")
+ (description "This package provides my configuration for package.el.")))
+
+(define-public emacs-oni-projectile
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-projectile")
+ (arguments
+ '(#:include '("oni-projectile\\.el$")))
+ (propagated-inputs
+ (list emacs-projectile))
+ (synopsis "My configuration for Projectile")
+ (description "This package provides my configuration for Projectile.")))
+
+(define-public emacs-oni-scheme
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-scheme")
+ (arguments
+ '(#:include '("oni-scheme\\.el$")))
+ (propagated-inputs
+ (list emacs-oni-company
+ emacs-oni-paredit
+ emacs-rainbow-delimiters
+ emacs-geiser
+ emacs-geiser-guile))
+ (synopsis "My configuration for Scheme")
+ (description "This package provides my configuration for writing Scheme.")))
+
+(define-public emacs-oni-shr
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-shr")
+ (arguments
+ '(#:include '("oni-shr\\.el$")))
+ (synopsis "My configuration for shr")
+ (description "This package provides my configuration for shr.")))
+
+(define-public emacs-oni-tramp
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-tramp")
+ (arguments
+ '(#:include '("oni-tramp\\.el$")))
+ (synopsis "My configuration for TRAMP")
+ (description "This package provides my configuration for TRAMP.")))
+
+(define-public emacs-oni-git-commit
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-git-commit")
+ (arguments
+ '(#:include '("oni-git-commit\\.el$")))
+ (propagated-inputs
+ (list
+ emacs-magit))
+ (synopsis "My configuration for git-commit-mode")
+ (description "This package provides my configuration for git-commit-mode.")))
+
+(define-public emacs-oni-yaml
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-yaml")
+ (arguments
+ '(#:include '("oni-yaml\\.el$")))
+ (propagated-inputs
+ (list
+ emacs-yaml-mode
+ emacs-oni-flycheck
+ emacs-oni-highlight-indent-guides
+ emacs-indent-tools
+ emacs-yaml-imenu
+ emacs-yaml-pro))
+ (synopsis "My configuration for yaml-mode.")
+ (description "This package provides my configuration for editing Yaml files.")))
+
+(define-public emacs-oni-php
+ (package
+ (inherit emacs-oni-config)
+ (name "emacs-oni-php")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir-oni-php
+ (λ _ (chdir "oni-php"))))
+ #:include '("\\.el$" "^snippets\\/")))
+ (propagated-inputs
+ (list emacs-php-mode
+ emacs-oni-yasnippet
+ emacs-oni-flycheck
+ emacs-oni-company
+ emacs-oni-hydra
+ emacs-ggtags
+ emacs-fic-mode
+ emacs-ac-php
+ ;; Actually a dependency of emacs-ac-php for using company-php.
+ emacs-xcscope))
+ (synopsis "My configuration for php-mode.")
+ (description "This package provides my configuration for editing PHP files.")))