diff options
| -rw-r--r-- | emacs/.config/emacs/init.el | 24 |
1 files changed, 24 insertions, 0 deletions
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))) |
