;;;; pre-init.el --- Init -*- no-byte-compile: t; lexical-binding: t; -*- ;; handle emacs server (defun server-already-running-p () "Is Emacs already running?" (or (file-exists-p (format "/tmp/emacs%s/server" (user-uid))) (file-exists-p (format "/run/user/%s/snap.emacs/emacs/server" (user-uid))) (file-exists-p (format "/run/user/%s/emacs/server" (user-uid))))) (defun server-shunt () "Shunts to emacsclient" (let ((args (append '("emacsclient" "-a" "\"\"" "-c" "-n") (cdr command-line-args)))) (shell-command (substring (format "%S" args) 1 -1)) (kill-emacs))) ;; restart with emacsclient if server is running (unless (featurep 'server) (if (server-already-running-p) (server-shunt) (server-start))) (fset 'epg-wait-for-status 'ignore) (fset 'epg-pinentry-mode 'loopback) ;;(fset 'epg-debug t) (require 'package) (require 'xdg) (setq package-user-dir (expand-file-name "emacs/elpa" (xdg-cache-home))) ;; make sure the elpa/ folder exists after setting it above. (unless (file-exists-p package-user-dir) (mkdir package-user-dir t)) (provide 'pre-init)