#:use-module (gnu home services shepherd)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
+ #:use-module (gnu packages rust-apps)
#:use-module (gnu services)
#:use-module (guix gexp)
#:export (emacs-services))
(dotfiles
(list "emacs/.config/emacs/conf/conf-calendar.el")))))
+(define emacs-consult-service
+ (service home-program-service-type
+ (home-program-configuration
+ (packages
+ (list emacs-consult
+ ripgrep))
+ (dotfiles
+ (list "emacs/.config/emacs/conf/conf-consult.el")))))
+
(define emacs-daemon-shepherd-service
(shepherd-service
(provision '(emacs))
(define emacs-services
(list emacs-batch-edit-service
emacs-calfw-service
+ emacs-consult-service
emacs-daemon-service
emacs-package-service
emacs-service))
--- /dev/null
+;; Copyright (c) 2022 Jakub Czajka <jakub@ekhem.eu.org>
+;; License: GPL-3.0 or later.
+;;
+;; conf-consult.el - configuration for the consult package.
+
+(require 'conf-package)
+
+(use-package consult
+ :ensure t
+ :bind
+ ("C-c ca" . consult-apropos)
+ ([remap bookmark-jump] . consult-bookmark)
+ ([remap switch-to-buffer] . consult-buffer)
+ ("C-c cf" . consult-find)
+ ([remap goto-line] . consult-goto-line)
+ ("C-c ci" . consult-imenu)
+ ("C-c cI" . consult-imenu-multi)
+ ("C-c cl" . consult-line)
+ ([remap project-switch-to-buffer] . consult-project-buffer)
+ ([remap jump-to-register] . consult-register)
+ ([remap point-to-register] . consult-register-store)
+ :custom
+ ;; Search in hidden folders as well.
+ (consult-find-args "find .")
+ (consult-narrow-key "<"))
+
+(use-package consult
+ :when
+ (conf:executables-p (list "rg"))
+ :bind
+ ("C-c cr" . consult-ripgrep))
+
+(use-package consult
+ :requires
+ (conf-org)
+ :bind
+ (:map org-mode-map
+ ("C-c ch" . consult-org-heading)))
+
+(provide 'conf-consult)