dotfiles/oni/packages/emacs-config.scm

604 lines
20 KiB
Scheme
Raw Normal View History

(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 ((gnu packages mail)
#:select (emacs-notmuch))
#:use-module (oni packages emacs)
#:use-module (oni packages go))
(define-public emacs-oni-config
2023-07-13 08:48:14 +02:00
(let ((commit "e38bb344e4196aa2a1488e9611d1ccecdeb5acd6")
(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
2023-07-13 08:48:14 +02:00
(base32 "15c7iyx8hisb07dpk6wi1dh8alirz0v7srca986a427b2h6002f1"))))
(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
(λ _ (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
(λ _ (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)
2023-07-11 08:22:17 +02:00
("emacs-org-pretty-table" ,emacs-org-pretty-table)
("emacs-ob-async" ,emacs-ob-async)))
(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
(λ _ (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
(λ _ (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
(λ _ (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
(λ _ (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.")))
(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))
(synopsis "My notmuch configuration for Emacs.")
(description "This package provides my configuration for notmuch.")))