Emacs: Move user-emacs-directory to cache

master
Pierre Neidhardt 2018-02-16 23:08:18 +01:00
parent c5797d3287
commit 02b58cc380
9 changed files with 9 additions and 50 deletions

View File

@ -20,16 +20,14 @@
(setq file-name-handler-alist default-file-name-handler-alist))
(add-hook 'after-init-hook 'ambrevar/reset-file-name-handler-alist)
(defvar ambrevar/emacs-cache-folder "~/.cache/emacs/"
"Cache folder is everything we do not want to track together
with the configuration files.")
(if (not (file-directory-p ambrevar/emacs-cache-folder))
(make-directory ambrevar/emacs-cache-folder t))
;;; Store additional config in a 'lisp' subfolder and add it to the load path so
;;; that `require' can find the files.
;;; This must be done before moving `user-emacs-directory'.
(add-to-list 'load-path (expand-file-name "lisp/" user-emacs-directory))
;;; Move user-emacs-directory so that user files don't mix with cache files.
(setq user-emacs-directory "~/.cache/emacs/")
(when (require 'package nil t)
;; TODO: MELPA's https sometimes return
;; emacs melpa invalid: certificate host does not match hostname
@ -38,7 +36,6 @@
(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")))
(add-to-list 'package-archives '("melpa" . "https://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
(setq package-user-dir (concat ambrevar/emacs-cache-folder "elpa"))
(package-initialize))
;;; Site Lisp folder for local packages and development.
@ -50,7 +47,7 @@
(dolist (dir (directory-files path t "^[^\\.]"))
(when (file-directory-p dir)
(setq load-path (add-to-list 'load-path dir))))))
(let ((site-lisp (expand-file-name "site-lisp/" user-emacs-directory)))
(let ((site-lisp (expand-file-name "site-lisp/" "~/.local/share/emacs/")))
(add-to-list 'load-path site-lisp)
(ambrevar/package-refresh-load-path site-lisp))
@ -109,8 +106,7 @@
;;; Debbugs
(nconc package-selected-packages '(debbugs))
(with-eval-after-load 'debbugs
(setq debbugs-gnu-all-severities t
debbugs-gnu-persistency-file (expand-file-name "debbugs" ambrevar/emacs-cache-folder)))
(setq debbugs-gnu-all-severities t))
;;; Diff
;;; TODO: In diff-mode, both `[[` and `C-M-a` do not go back to previous index
@ -383,8 +379,6 @@
;;; StackExchange
(nconc package-selected-packages '(sx))
(with-eval-after-load 'sx
(setq sx-cache-directory (concat ambrevar/emacs-cache-folder "sx")))
;;; Syntax checking
(nconc package-selected-packages '(flycheck helm-flycheck))

View File

@ -1,6 +1,6 @@
;;; Elfeed
(setq elfeed-db-directory (concat ambrevar/emacs-cache-folder "elfeed"))
(setq elfeed-db-directory (expand-file-name "elfeed" user-emacs-directory))
(defun ambrevar/elfeed-play-with-mpv ()
"Play entry link with mpv."

View File

@ -4,7 +4,6 @@
;;; TODO: Change face from purple to white?
;;; TODO: Delete entry from cache? See `emms-cache-del'.
(setq emms-directory (concat ambrevar/emacs-cache-folder "emms"))
(emms-all)
;; TODO: emms-all causes some "require"d files to be loaded twice if called after, say, emms-browser was loaded.
(emms-history-load)

View File

@ -96,8 +96,6 @@
;;; REVIEW: `kill -#' does not work.
;;; See #29156.
(setq eshell-directory-name (concat ambrevar/emacs-cache-folder "eshell"))
;;; Use TRAMP to use Eshell as root.
(require 'em-tramp)
(setq password-cache t)

View File

@ -23,8 +23,6 @@
;;; Needs dvipng.
;;; With TeXlive, the following packages are needed: psnfss, symbol, zapfding
(when (and (executable-find "dvipng") (require 'latex-math-preview nil t))
(setq latex-math-preview-cache-directory-for-insertion
(concat ambrevar/emacs-cache-folder "latex-math-preview-cache"))
(local-set-key (kbd "C-c p") 'latex-math-preview-expression)
(local-set-key (kbd "C-c j") 'latex-math-preview-insert-symbol)
(local-set-key (kbd "C-c C-j") 'latex-math-preview-last-symbol-again)

View File

@ -5,8 +5,6 @@
(define-key org-mode-map (kbd "C-c C-a") 'org-agenda)
(setq
;; Move annoying babel folder.
org-babel-temporary-directory (concat ambrevar/emacs-cache-folder "babel")
;; Disable line splitting on M-RET.
org-M-RET-may-split-line '((default))
org-insert-heading-respect-content t

View File

@ -16,37 +16,21 @@
(setq echo-keystrokes 0.5)
;;; Remember last cursor position.
(setq save-place-file (concat ambrevar/emacs-cache-folder "saveplace"))
(save-place-mode)
;;; When the daemon is killed abruptly, places are not saved. Adding this hook
;;; allows to save places at a strategic moment.
(add-hook 'before-save-hook 'save-place-kill-emacs-hook)
;;; Network files
(setq url-cookie-file (concat ambrevar/emacs-cache-folder "url.cookies")
url-cache-directory (expand-file-name "url/cache" ambrevar/emacs-cache-folder))
(with-eval-after-load 'nsm
(setq nsm-settings-file (concat ambrevar/emacs-cache-folder "network-security.data")))
;;; Bookmark file to cache folder.
(setq bookmark-default-file (concat ambrevar/emacs-cache-folder "emacs.bmk"))
;;; Recent files.
(setq recentf-save-file (concat ambrevar/emacs-cache-folder "recentf")
recentf-max-saved-items 40)
(setq recentf-max-saved-items 40)
;;; Save M-: history.
(setq savehist-file (concat ambrevar/emacs-cache-folder "savehist"))
(savehist-mode)
;;; Disable autosave features.
(setq auto-save-default nil)
(setq auto-save-list-file-prefix nil)
;;; Place backup files in specific directory.
(setq backup-directory-alist
`(("." . ,(concat ambrevar/emacs-cache-folder "backups/"))))
;;; Default mode
(setq-default major-mode 'text-mode)
@ -273,8 +257,6 @@
;; might never be saved. See
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28943.
desktop-auto-save-timeout 5
desktop-dirname (expand-file-name "desktop" ambrevar/emacs-cache-folder)
desktop-path (list desktop-dirname)
;; desktop-restore-eager 4 ; Can be annoying as you don't have your last-loaded buffers immediately.
desktop-load-locked-desktop 'ask
desktop-restore-frames nil
@ -286,8 +268,6 @@
(add-hook 'after-make-frame-functions 'ambrevar/desktop-init) ; This does not fix the window register restoration.
(add-to-list 'desktop-modes-not-to-save 'pdf-view-mode)
(add-to-list 'desktop-modes-not-to-save 'image-mode)
(unless (file-directory-p desktop-dirname)
(make-directory desktop-dirname t))
;; TODO: `compile-history' should be buffer local but that does not work.
;; http://user42.tuxfamily.org/compile-history-local/index.html
;; http://stackoverflow.com/questions/22995203/one-compile-command-per-buffer-not-directory
@ -360,10 +340,6 @@
("Australia/Melbourne" "Melbourne")
("Africa/Nairobi" "Uganda")))
;;; Tramp
(setq tramp-persistency-file-name (concat ambrevar/emacs-cache-folder "tramp")
tramp-backup-directory-alist backup-directory-alist)
;;; Frame title
(setq frame-title-format (concat "%b" (unless (daemonp) " [serverless]")))
@ -379,7 +355,4 @@
(when (require 'pinentry nil t)
(pinentry-start))
;;; Semanticdb folders must be set before starting semantic.
(setq semanticdb-default-save-directory (concat ambrevar/emacs-cache-folder "semanticdb"))
(provide 'main)

View File

@ -1 +0,0 @@
((nil . ((ambrevar/prettify-inhibit-p . t))))

2
.gitignore vendored
View File

@ -22,7 +22,6 @@
.config/transmission-daemon/stats.json
.config/transmission-daemon/torrents/
.dbus
.emacs.d/site-lisp/
.fontconfig
.gimp*
.gnupg
@ -30,6 +29,7 @@
.lesshst
.local/share/Trash
.local/share/applications/wine*
.local/share/emacs
.local/share/icons
.local/share/mime/*
.mbsyncrc