From eea636e04e76e772380f8f96c41eb77bea24a0cd Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Mon, 1 Jul 2024 15:27:57 -0700 Subject: Copy package definitions from my ‘new-dotfiles’ project --- oni/packages/emacs-config.scm | 501 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 451 insertions(+), 50 deletions(-) (limited to 'oni/packages/emacs-config.scm') 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."))) -- cgit v1.2.3-54-g00ecf