From 3c702a299ee7d67573d9bd19ab4a9fae78bdb171 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 2 May 2026 09:53:10 +0200 Subject: [PATCH] Consolidate Emacs document tooling --- ansible/inventory/group_vars/desktop.yml | 4 ++ dotfiles/desktop/.emacs.d/init.el | 3 +- .../desktop/.emacs.d/lisp/misc/documents.el | 39 +++++++++++++++++++ dotfiles/desktop/.emacs.d/lisp/misc/epub.el | 3 -- dotfiles/desktop/.emacs.d/lisp/misc/pdf.el | 22 ----------- dotfiles/desktop/.local/bin/calibredb | 2 + 6 files changed, 46 insertions(+), 27 deletions(-) create mode 100644 dotfiles/desktop/.emacs.d/lisp/misc/documents.el delete mode 100644 dotfiles/desktop/.emacs.d/lisp/misc/epub.el delete mode 100644 dotfiles/desktop/.emacs.d/lisp/misc/pdf.el create mode 100755 dotfiles/desktop/.local/bin/calibredb diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 95e8bf2..a8fd79c 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -229,6 +229,10 @@ desktop_common_dotfiles: src: .local/bin/udiskie-password dest: .local/bin/udiskie-password mode: "0755" + - name: Calibre database Flatpak wrapper + src: .local/bin/calibredb + dest: .local/bin/calibredb + mode: "0755" - name: SSH config src: .ssh/config dest: .ssh/config diff --git a/dotfiles/desktop/.emacs.d/init.el b/dotfiles/desktop/.emacs.d/init.el index 47c3354..4ebeb49 100644 --- a/dotfiles/desktop/.emacs.d/init.el +++ b/dotfiles/desktop/.emacs.d/init.el @@ -45,8 +45,7 @@ 'misc/rss 'misc/terminal 'misc/vcs - 'misc/pdf - 'misc/epub + 'misc/documents 'misc/i3-config) (message "...user configuration loaded") diff --git a/dotfiles/desktop/.emacs.d/lisp/misc/documents.el b/dotfiles/desktop/.emacs.d/lisp/misc/documents.el new file mode 100644 index 0000000..5a2e378 --- /dev/null +++ b/dotfiles/desktop/.emacs.d/lisp/misc/documents.el @@ -0,0 +1,39 @@ +;;; documents.el -*- lexical-binding: t; -*- + +(use-package pdf-tools + :ensure t + :config + (pdf-tools-install)) + +(use-package pdf-view + :config + (setq-default pdf-view-display-size 'fit-width) + (setq pdf-cache-org-imgparams t + pdf-view-use-smooth-scrolling t) + (setq pdf-annot-default-visible-properties t)) + +(with-eval-after-load 'pdf-view + (define-key pdf-view-mode-map (kbd "n") 'pdf-view-next-page) + (define-key pdf-view-mode-map (kbd "p") 'pdf-view-previous-page) + (define-key pdf-view-mode-map (kbd "q") 'pdf-view-close)) + +(use-package nov + :ensure t + :mode ("\\.epub\\'" . nov-mode)) + +(use-package calibre + :ensure t + :commands calibre-library + :config + (setq calibre-calibredb-executable + (or (executable-find "calibredb") + (let ((flatpak-wrapper (expand-file-name "~/.local/bin/calibredb"))) + (when (file-executable-p flatpak-wrapper) + flatpak-wrapper)) + "calibredb") + calibre-libraries + `(("Library" . ,(expand-file-name "~/Documents/Library"))))) + +(provide 'misc/documents) + +;;; documents.el ends here diff --git a/dotfiles/desktop/.emacs.d/lisp/misc/epub.el b/dotfiles/desktop/.emacs.d/lisp/misc/epub.el deleted file mode 100644 index edbc0e0..0000000 --- a/dotfiles/desktop/.emacs.d/lisp/misc/epub.el +++ /dev/null @@ -1,3 +0,0 @@ -(use-package nov - :ensure t - :mode ("\\.epub\\'" . nov-mode)) diff --git a/dotfiles/desktop/.emacs.d/lisp/misc/pdf.el b/dotfiles/desktop/.emacs.d/lisp/misc/pdf.el deleted file mode 100644 index 2b85fa1..0000000 --- a/dotfiles/desktop/.emacs.d/lisp/misc/pdf.el +++ /dev/null @@ -1,22 +0,0 @@ -;;; pdf.el -*- lexical-binding: t; -*- - -(use-package pdf-tools - :ensure t - :config - (pdf-tools-install)) - -(use-package pdf-view - :config - (setq-default pdf-view-display-size 'fit-width) - (setq pdf-cache-org-imgparams t - pdf-view-use-smooth-scrolling t) - (setq pdf-annot-default-visible-properties t)) - -(with-eval-after-load 'pdf-view - (define-key pdf-view-mode-map (kbd "n") 'pdf-view-next-page) - (define-key pdf-view-mode-map (kbd "p") 'pdf-view-previous-page) - (define-key pdf-view-mode-map (kbd "q") 'pdf-view-close)) - -(provide 'misc/pdf) - -;;; pdf.el ends here diff --git a/dotfiles/desktop/.local/bin/calibredb b/dotfiles/desktop/.local/bin/calibredb new file mode 100755 index 0000000..9c875e1 --- /dev/null +++ b/dotfiles/desktop/.local/bin/calibredb @@ -0,0 +1,2 @@ +#!/bin/sh +exec flatpak run --command=calibredb com.calibre_ebook.calibre "$@"