#:use-module (guix gexp)
#:export (emacs-services))
+(define emacs-batch-edit-service
+ (service home-program-service-type
+ (home-program-configuration
+ (packages
+ (list emacs-wgrep))
+ (dotfiles
+ (list "emacs/.config/emacs/conf/conf-batch-edit.el")))))
+
(define emacs-daemon-shepherd-service
(shepherd-service
(provision '(emacs))
"emacs/.local/bin/emacs_client")))))
(define emacs-services
- (list emacs-daemon-service
+ (list emacs-batch-edit-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-batch-edit.el - edit multiple files at once.
+
+(require 'conf-package)
+
+(use-package wdired
+ :custom
+ (wdired-allow-to-change-permissions t)
+ (wdired-allow-to-redirect-links t)
+ ;; Example: Renaming `b' to `a/b' will move `b' to directory `a'.
+ (wdired-create-parent-directories t))
+
+(use-package wgrep
+ :ensure t
+ :bind
+ (:map grep-mode-map
+ ("C-c C-q" . wgrep-change-to-wgrep-mode)
+ :map wgrep-mode-map
+ ("C-c C-c" . wgrep-finish-edit))
+ :custom
+ (wgrep-auto-save-buffer t))
+
+(use-package occur
+ :bind
+ (:map occur-mode-map
+ ("C-c C-q" . occur-edit-mode)))
+
+(provide 'conf-batch-edit)