(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 "a7bf05b48c47740de50c2adbc0fa8da703958f7b") (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://git.sr.ht/~ryuslash/emacs-config") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "10n16bdqhq34rdjz8hqa6xlbvww05m257p815sk1vsv8k1xjn809")))) (build-system emacs-build-system) (home-page "https://sr.ht/~ryuslash/dotfiles/") (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-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-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))) (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"))) (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-org (lambda _ (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 (lambda _ (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))) (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) ("emacs-nroam" ,emacs-nroam))) (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")))