diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm index ef69688..bfe3f4e 100644 --- a/oni/packages/emacs-config.scm +++ b/oni/packages/emacs-config.scm @@ -4,6 +4,7 @@ #: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 (oni packages emacs)) (define-public emacs-oni-config @@ -148,3 +149,45 @@ Emacs"))) ("emacs-dashboard" ,emacs-dashboard))) (synopsis "My core Emacs configuration") (description "This package provides my core configuration for Emacs"))) + +(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) + ;; For `clang-format'. + ("clang" ,clang))) + (synopsis "My Emacs C coding configuration") + (description "This package provides my configuration for coding in C"))) diff --git a/oni/packages/emacs.scm b/oni/packages/emacs.scm index 1c871c5..4ea231a 100644 --- a/oni/packages/emacs.scm +++ b/oni/packages/emacs.scm @@ -100,3 +100,49 @@ custom pairs?)") (description "Insert Unicode char via insert-char-preview similar to insert-char command, but with character preview in completion prompt.") (license license:gpl3+)))) + +(define-public emacs-flycheck-posframe + (let ((commit "8f60c9bf124ab9597d681504a73fdf116a0bde12") + (revision "0")) + (package + (name "emacs-flycheck-posframe") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/alexmurray/flycheck-posframe") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qh9hzvs95jvfrspglzkwhfq6a5pinab94bbh5vzkg8jc2fq6drf")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-posframe" ,emacs-posframe))) + (home-page "https://github.com/alexmurray/flycheck-posframe") + (synopsis "Show flycheck errors via posframe.el") + (description "Show flycheck errors via posframe.el") + (license license:gpl3+)))) + +(define-public emacs-flycheck-cask + (package + (name "emacs-flycheck-cask") + (version "0.4") + (source + (origin + (uri (git-reference + (url "https://github.com/flycheck/flycheck-cask") + (commit version))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wm5saf29gw0gp0qq5glf9qq3iras99npc2rip7bsnn0czr2mscy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/flycheck/flycheck-cask") + (synopsis "Cask support for Flycheck") + (description "Make Flycheck use Cask packages in Cask projects.") + (license license:gpl3+)))