2017-05-28 12:32:48 +02:00
|
|
|
;;; Emacs config
|
2016-10-14 14:03:30 +02:00
|
|
|
|
2012-06-15 16:54:02 +02:00
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Prerequisites
|
2013-06-07 20:17:26 +02:00
|
|
|
|
2017-06-18 19:05:50 +02:00
|
|
|
(let ((minver "24.1"))
|
|
|
|
(when (version< emacs-version minver)
|
|
|
|
(error "Your Emacs is too old -- this config requires v%s or higher" minver)))
|
|
|
|
|
2017-06-18 19:40:38 +02:00
|
|
|
;;; Speed up init.
|
|
|
|
;;; Temporarily reduce garbage collection during startup. Inspect `gcs-done'.
|
2017-06-18 19:06:09 +02:00
|
|
|
(defun reset-gc-cons-threshold ()
|
|
|
|
(setq gc-cons-threshold (car (get 'gc-cons-threshold 'standard-value))))
|
|
|
|
(setq gc-cons-threshold (* 64 1024 1024))
|
|
|
|
(add-hook 'after-init-hook 'reset-gc-cons-threshold)
|
2017-06-18 19:40:38 +02:00
|
|
|
;;; Temporarily disable the file name handler.
|
|
|
|
(setq default-file-name-handler-alist file-name-handler-alist)
|
|
|
|
(setq file-name-handler-alist nil)
|
|
|
|
(defun reset-file-name-handler-alist ()
|
|
|
|
(setq file-name-handler-alist default-file-name-handler-alist))
|
|
|
|
(add-hook 'after-init-hook 'reset-file-name-handler-alist)
|
2017-06-18 19:06:09 +02:00
|
|
|
|
2013-07-03 14:04:51 +02:00
|
|
|
(defvar emacs-cache-folder "~/.cache/emacs/"
|
|
|
|
"Cache folder is everything we do not want to track along with
|
|
|
|
the configuration files.")
|
2013-06-16 14:27:14 +02:00
|
|
|
(if (not (file-directory-p emacs-cache-folder))
|
2013-06-12 22:56:30 +02:00
|
|
|
(make-directory emacs-cache-folder t))
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Store additional config in a 'lisp' subfolder and add it to the load path so
|
|
|
|
;;; that `require' can find the files.
|
2014-11-25 08:44:22 +01:00
|
|
|
(add-to-list 'load-path "~/.emacs.d/lisp")
|
2014-02-12 17:37:43 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Local plugin folder for quick install. All files in this folder will be
|
|
|
|
;;; accessible to Emacs config. This is done to separate the versioned config
|
|
|
|
;;; files from the external packages. For instance you can put package.el in
|
|
|
|
;;; there for Emacs <24.
|
2014-03-08 11:48:35 +01:00
|
|
|
(add-to-list 'load-path "~/.emacs.d/local")
|
2012-10-12 13:47:10 +02:00
|
|
|
|
2017-05-25 11:18:34 +02:00
|
|
|
(when (require 'package nil t)
|
|
|
|
;; (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
|
|
|
|
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
|
|
|
|
(setq package-user-dir (concat emacs-cache-folder "elpa"))
|
|
|
|
(package-initialize))
|
2014-02-12 18:31:00 +01:00
|
|
|
|
2014-03-08 11:48:35 +01:00
|
|
|
(require 'functions nil t)
|
|
|
|
(require 'main nil t)
|
2016-12-12 13:53:53 +01:00
|
|
|
(require 'visual nil t)
|
2014-02-12 17:48:29 +01:00
|
|
|
|
2014-02-12 18:31:00 +01:00
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2014-03-08 11:48:35 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Assembly
|
2017-06-17 19:01:32 +02:00
|
|
|
(push 'nasm-mode package-selected-packages)
|
2016-06-08 23:31:42 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Asymptote
|
2014-12-16 10:10:41 +01:00
|
|
|
(add-to-list 'load-path "/usr/share/asymptote")
|
|
|
|
(autoload 'asy-mode "asy-mode.el" "Asymptote major mode." t)
|
|
|
|
(autoload 'lasy-mode "asy-mode.el" "Hybrid Asymptote/Latex major mode." t)
|
|
|
|
(autoload 'asy-insinuate-latex "asy-mode.el" "Asymptote insinuate LaTeX." t)
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.asy$" . asy-mode))
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; BBCode
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(bbcode-mode))
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'bbcode-mode (require 'init-bbcode))
|
2014-09-11 22:33:39 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Bibtex
|
2017-05-25 11:18:34 +02:00
|
|
|
(setq bibtex-entry-format '(opts-or-alts required-fields numerical-fields whitespace realign last-comma delimiters braces sort-fields))
|
|
|
|
(setq bibtex-field-delimiters 'double-quotes)
|
2017-05-28 14:15:51 +02:00
|
|
|
(add-hook 'bibtex-mode-hook 'turn-off-indent-tabs)
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Bison/Flex
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(bison-mode))
|
2014-03-08 15:58:29 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; C/C++
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'cc-mode (require 'init-cc))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; ChangeLog
|
2017-05-28 14:15:51 +02:00
|
|
|
(defun change-log-set-indent-rules ()
|
|
|
|
(setq tab-width 2 left-margin 2))
|
|
|
|
(add-hook 'change-log-mode-hook 'change-log-set-indent-rules)
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-06-18 18:50:31 +02:00
|
|
|
;;; Company
|
|
|
|
(nconc package-selected-packages '(company helm-company))
|
|
|
|
(when (require 'company nil t)
|
|
|
|
(setq company-idle-delay nil))
|
|
|
|
|
|
|
|
;;; Debbugs
|
|
|
|
(nconc package-selected-packages '(debbugs))
|
|
|
|
|
|
|
|
;;; Dired
|
|
|
|
;;; Dired is loaded after init.el, so configure it later.
|
|
|
|
(with-eval-after-load 'dired (require 'init-dired))
|
|
|
|
|
2017-06-20 20:38:59 +02:00
|
|
|
;;; Emms
|
2017-06-25 12:57:14 +02:00
|
|
|
(nconc package-selected-packages '(emms emms helm-emms emms-player-mpv))
|
|
|
|
(when (fboundp 'emms-all)
|
|
|
|
;; Emms has not autoload to switch to the browser, let's add one.
|
|
|
|
(autoload 'emms-smart-browse "emms-browser" nil t))
|
|
|
|
(with-eval-after-load 'emms (require 'init-emms))
|
2017-06-20 20:38:59 +02:00
|
|
|
|
2017-06-18 18:50:31 +02:00
|
|
|
;;; Evil
|
2017-06-24 11:04:05 +02:00
|
|
|
(nconc package-selected-packages '(evil evil-commentary evil-leader evil-ediff evil-magit evil-mc evil-mc-extras linum-relative))
|
2017-06-18 18:50:31 +02:00
|
|
|
(when (require 'evil nil t) (require 'init-evil))
|
|
|
|
|
|
|
|
;;; Eshell
|
|
|
|
;;; Extend completion.
|
2017-06-28 16:59:52 +02:00
|
|
|
(nconc package-selected-packages '(pcomplete-extension))
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'eshell (require 'init-eshell))
|
|
|
|
|
2017-06-18 19:44:02 +02:00
|
|
|
;;; Esup
|
|
|
|
(nconc package-selected-packages '(esup))
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; GLSL
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(glsl-mode))
|
2014-03-08 15:58:29 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Go
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(go-mode go-eldoc go-guru go-rename helm-go-package company-go))
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'go-mode (require 'init-go))
|
2014-02-21 15:23:25 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Graphviz dot
|
2017-05-28 15:59:55 +02:00
|
|
|
;; The view command is broken but the preview command works (it displays the PNG
|
|
|
|
;; in a new window), which is enough and probably not worth a fix.
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(graphviz-dot-mode))
|
2014-02-13 16:30:05 +01:00
|
|
|
|
2017-06-18 18:50:31 +02:00
|
|
|
;;; GUD (GDB, etc.)
|
|
|
|
(with-eval-after-load 'gud (require 'init-gud))
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; JavaScript
|
2017-05-25 11:18:34 +02:00
|
|
|
(add-hook 'js-mode-hook (lambda () (defvaralias 'js-indent-level 'tab-width)))
|
|
|
|
|
2017-06-18 18:50:31 +02:00
|
|
|
;;; Helm
|
|
|
|
(nconc package-selected-packages '(helm helm-descbinds helm-ls-git))
|
|
|
|
(when (require 'helm-config nil t) (require 'init-helm))
|
|
|
|
|
|
|
|
;;; Indentation engine fix.
|
|
|
|
(require 'smiext "init-smiext")
|
|
|
|
|
|
|
|
;;; Indentation style guessing.
|
|
|
|
;; (nconc 'package-selected-packages '(dtrt-indent))
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Lisp
|
2017-05-25 11:18:34 +02:00
|
|
|
(dolist (hook '(lisp-mode-hook emacs-lisp-mode-hook))
|
2017-05-28 12:12:53 +02:00
|
|
|
(add-hook hook 'turn-on-fmt-before-save)
|
2017-06-18 22:25:34 +02:00
|
|
|
(add-hook hook 'turn-on-tab-width-to-8) ; Because some existing code uses tabs.
|
|
|
|
(add-hook hook 'turn-off-indent-tabs)) ; Should not use tabs.
|
2017-05-25 22:57:51 +02:00
|
|
|
(define-key lisp-mode-shared-map "\M-." 'find-symbol-at-point)
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Common LISP
|
2017-05-25 11:18:34 +02:00
|
|
|
(setq inferior-lisp-program "clisp")
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Lua
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(lua-mode))
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'lua-mode (require 'init-lua))
|
|
|
|
|
|
|
|
;;; Magit
|
2017-06-25 14:37:15 +02:00
|
|
|
;;; Magit can be loaded just-in-time.
|
2017-06-18 18:50:31 +02:00
|
|
|
(nconc package-selected-packages '(magit))
|
2017-06-25 14:37:15 +02:00
|
|
|
(with-eval-after-load 'magit
|
2017-06-30 18:23:15 +02:00
|
|
|
(setq auto-revert-mode-text "")
|
2017-06-18 18:50:31 +02:00
|
|
|
(set-face-foreground 'magit-branch-remote "orange red")
|
|
|
|
(setq git-commit-summary-max-length fill-column)
|
2017-06-25 14:37:15 +02:00
|
|
|
(setq magit-diff-refine-hunk 'all))
|
|
|
|
(when (fboundp 'magit-status)
|
2017-06-18 18:50:31 +02:00
|
|
|
(global-set-key (kbd "C-x g") 'magit-status))
|
2014-02-21 15:23:25 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Mail with Mutt support.
|
2017-05-25 11:18:34 +02:00
|
|
|
(add-hook 'mail-mode-hook 'mail-text)
|
2017-06-03 14:53:31 +02:00
|
|
|
(defun mutt-backup-buffer ()
|
|
|
|
"Create a copy of the current buffer.
|
|
|
|
This is useful for recovery in case Mutt hangs before sending the
|
|
|
|
e-mail."
|
|
|
|
(when (not (boundp 'mutt-backup))
|
|
|
|
(set (make-local-variable 'mutt-backup) (make-temp-file (concat (buffer-name) "-"))))
|
|
|
|
(copy-file buffer-file-name mutt-backup t))
|
2017-06-26 18:13:28 +02:00
|
|
|
(defun mutt-edit ()
|
|
|
|
(mail-mode)
|
|
|
|
;; Just like magit commits.
|
|
|
|
(when (require 'with-editor nil t) (with-editor-mode))
|
|
|
|
(add-hook 'after-save-hook 'mutt-backup-buffer nil t))
|
|
|
|
(add-to-list 'auto-mode-alist '("/tmp/mutt-.*" . mutt-edit))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Makefile
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'make-mode (require 'init-makefile))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Markdown
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(markdown-mode))
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'markdown-mode (require 'init-markdown))
|
2014-02-21 15:23:25 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Matlab / Octave
|
2017-05-25 11:18:34 +02:00
|
|
|
(add-to-list 'auto-mode-alist '("\\.m\\'" . octave-mode)) ; matlab
|
2017-05-28 14:15:51 +02:00
|
|
|
(defun octave-set-comment-start ()
|
|
|
|
"Set comment character to '%' to be Matlab-compatible."
|
|
|
|
(set (make-local-variable 'comment-start) "% "))
|
|
|
|
(add-hook 'octave-mode-hook 'octave-set-comment-start)
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Maxima
|
2017-05-25 11:18:34 +02:00
|
|
|
(autoload 'maxima-mode "maxima" "Maxima mode" t)
|
|
|
|
(autoload 'maxima "maxima" "Maxima interaction" t)
|
2017-06-04 13:53:01 +02:00
|
|
|
(add-to-list 'auto-mode-alist '("\\.mac" . maxima-mode))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Mediawiki
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(mediawiki))
|
2017-06-04 13:53:01 +02:00
|
|
|
(add-to-list 'auto-mode-alist '("\\.wiki\\'" . mediawiki-mode))
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'mediawiki (require 'init-mediawiki))
|
2014-02-13 16:30:05 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Org-mode
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'org (require 'init-org))
|
|
|
|
|
|
|
|
;;; PDF
|
2017-07-12 23:51:14 +02:00
|
|
|
;;; pdf-tools requires poppler built with cairo support.
|
2017-07-02 20:07:19 +02:00
|
|
|
(nconc package-selected-packages '(pdf-tools))
|
|
|
|
(when (require 'pdf-tools nil t)
|
|
|
|
(pdf-tools-install))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Perl
|
2017-05-28 14:15:51 +02:00
|
|
|
(defun perl-set-indent-rules ()
|
|
|
|
(defvaralias 'perl-indent-level 'tab-width))
|
|
|
|
(defun perl-set-compiler ()
|
|
|
|
(setq compile-command (concat "perl " (shell-quote-argument buffer-file-name))))
|
|
|
|
(add-hook 'perl-mode-hook 'perl-set-indent-rules)
|
|
|
|
(add-hook 'perl-mode-hook 'perl-set-compiler)
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; po
|
2017-06-16 20:42:46 +02:00
|
|
|
(nconc package-selected-packages '(po-mode))
|
2014-02-21 15:23:25 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Python
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'python (require 'init-python))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Roff / Nroff
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'nroff-mode (require 'init-nroff))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Shell
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'sh-script (require 'init-sh))
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Arch Linux PKGBUILD
|
2017-05-25 11:18:34 +02:00
|
|
|
(add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode))
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; rc
|
2017-07-09 00:16:18 +02:00
|
|
|
(nconc package-selected-packages '(rc-mode))
|
2016-10-11 17:33:36 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Srt (subtitles)
|
2017-05-25 11:18:34 +02:00
|
|
|
(add-to-list 'auto-mode-alist '("\\.srt\\'" . text-mode))
|
|
|
|
|
2017-06-18 17:57:56 +02:00
|
|
|
;;; StackExchange
|
|
|
|
(nconc package-selected-packages '(sx))
|
|
|
|
(with-eval-after-load 'sx
|
|
|
|
(setq sx-cache-directory (concat emacs-cache-folder "sx")))
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; TeX / LaTeX / Texinfo
|
2017-06-18 18:50:31 +02:00
|
|
|
(with-eval-after-load 'tex-mode (require 'init-tex))
|
|
|
|
(with-eval-after-load 'texinfo (require 'init-texinfo))
|
2017-06-16 16:29:52 +02:00
|
|
|
;;; LaTeX is defined in the same file as TeX. To separate the loading, we add it
|
|
|
|
;;; to the hook.
|
2017-06-18 18:50:31 +02:00
|
|
|
(add-hook 'latex-mode-hook (lambda () (require 'init-latex)))
|
2017-07-03 23:43:37 +02:00
|
|
|
(nconc package-selected-packages '(latex-math-preview))
|
2017-05-16 21:02:51 +02:00
|
|
|
|
2017-06-18 16:21:38 +02:00
|
|
|
;;; Torrent
|
|
|
|
(nconc package-selected-packages '(tranmission))
|
|
|
|
|
2017-06-18 18:50:31 +02:00
|
|
|
;;; Translator
|
|
|
|
;;; TODO: Find alternative package.
|
|
|
|
(autoload 'itranslate "init-itranslate" nil t)
|
|
|
|
(autoload 'itranslate-lines "init-itranslate" nil t)
|
|
|
|
(autoload 'itranslate-region "init-itranslate" nil t)
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Web forms.
|
|
|
|
;;; Remove auto-fill in web edits because wikis and forums do not like it.
|
|
|
|
;;; This works for qutebrowser, but may need changes for other browsers.
|
2017-06-26 18:13:28 +02:00
|
|
|
(defun browser-edit ()
|
|
|
|
(when (require 'with-editor nil t) (with-editor-mode))
|
|
|
|
(auto-fill-mode -1))
|
|
|
|
(add-to-list 'auto-mode-alist `(,(concat (getenv "BROWSER") "-editor-*") . browser-edit))
|
2017-05-25 11:18:34 +02:00
|
|
|
|
2017-06-18 18:50:31 +02:00
|
|
|
;;; Wgrep
|
|
|
|
(nconc package-selected-packages '(wgrep-helm wgrep-pt))
|
|
|
|
(when (require 'wgrep nil t)
|
|
|
|
(set-face-attribute 'wgrep-face nil :inherit 'ediff-current-diff-C :foreground 'unspecified :background 'unspecified :box nil))
|
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; XML / SGML
|
2017-05-28 14:15:51 +02:00
|
|
|
(defun sgml-setup ()
|
|
|
|
(setq sgml-xml-mode t)
|
|
|
|
;; (toggle-truncate-lines) ; This seems to slow down Emacs.
|
|
|
|
(turn-off-auto-fill))
|
|
|
|
(add-hook 'sgml-mode-hook 'sgml-setup)
|
2017-06-23 15:41:22 +02:00
|
|
|
(with-eval-after-load 'nxml-mode
|
2017-06-28 17:02:50 +02:00
|
|
|
(set-face-foreground 'nxml-element-local-name "gold1")
|
2017-06-23 15:41:22 +02:00
|
|
|
(defvaralias 'nxml-child-indent 'tab-width))
|
|
|
|
;;; Because XML is hard to read.
|
|
|
|
(add-hook 'nxml-mode-hook 'turn-on-tab-width-to-4)
|
2014-09-16 09:02:33 +02:00
|
|
|
|
2014-02-12 18:31:00 +01:00
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Finalization
|
2016-10-14 14:03:30 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Don't let `customize' clutter my config.
|
2017-06-25 14:37:35 +02:00
|
|
|
(if (boundp 'server-socket-dir)
|
|
|
|
(setq custom-file (expand-file-name "custom.el" server-socket-dir))
|
|
|
|
(setq custom-file (expand-file-name (format "custom-%s.el" (user-uid)) temporary-file-directory)))
|
2017-06-18 16:21:08 +02:00
|
|
|
(load custom-file t)
|
2017-05-21 23:49:20 +02:00
|
|
|
|
2017-06-18 18:50:31 +02:00
|
|
|
;;; Local config. You can use it to set system specific variables, such as the
|
2017-06-04 16:31:41 +02:00
|
|
|
;;; external web browser or pdf viewer. You can also backport features for an
|
|
|
|
;;; old Emacs. For instance:
|
2017-05-28 12:32:48 +02:00
|
|
|
;;
|
|
|
|
;; (defun comment-line... ;; From emacs 25
|
|
|
|
;;
|
|
|
|
;; (transient-mark-mode 1)
|
|
|
|
;;
|
|
|
|
;; ;; Fix slow startup when network is slow. Most visible with Helm and Magit with Emacs <25.
|
|
|
|
;; (setq tramp-ssh-controlmaster-options "-o ControlMaster=auto -o ControlPath='tramp.%%C' -o ControlPersist=no")
|
2016-10-05 06:56:16 +02:00
|
|
|
|
2017-06-20 16:21:08 +02:00
|
|
|
(load "local" t t)
|