From a095f8dc7afac7100f475a981cdbc3173db57991 Mon Sep 17 00:00:00 2001 From: "Henry J. Webster" Date: Sat, 17 Oct 2026 11:51:07 -0500 Subject: emacs: move backup and auto-save dirs to $XDG_HOME_STATE --- emacs/.config/emacs/init.el | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 emacs/.config/emacs/init.el diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el new file mode 100644 index 0000000..b616a02 --- /dev/null +++ b/emacs/.config/emacs/init.el @@ -0,0 +1,24 @@ +;;; init.el --- Emacs configuration -*- lexical-binding: t; -*- + +;; Keep recovery files out of projects and the configuration directory. +(let* ((xdg-state (getenv "XDG_STATE_HOME")) + (state-dir + (expand-file-name + "emacs/" + (if (and xdg-state (not (equal xdg-state ""))) + xdg-state + "~/.local/state/"))) + (backup-dir (expand-file-name "backups/" state-dir)) + (auto-save-dir (expand-file-name "auto-saves/" state-dir))) + ;; Recovery copies may contain sensitive data. + (dolist (directory (list state-dir backup-dir auto-save-dir)) + (make-directory directory t) + (set-file-modes directory #o700)) + + (setq backup-directory-alist + `(("." . ,backup-dir)) + auto-save-file-name-transforms + `((".*" ,auto-save-dir t)) + ;; Session records used by `recover-session'. + auto-save-list-file-prefix + (expand-file-name ".saves-" auto-save-dir))) -- cgit v1.3