(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 "dddc309e9e775069ae09de320668bb3ec8667745") (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 "0cr05brmjp4fjxmj420613ja6gd8m9jkh32f2vl825d0kn5d0yr6")))) (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) ("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 (λ _ (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.")))