(package-initialize) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") ) (when (not package-archive-contents) (package-refresh-contents)) (unless (package-installed-p 'use-package) (package-install 'use-package)) (use-package auto-package-update :ensure t :config (setq auto-package-update-delete-old-versions t auto-package-update-interval 14) (auto-package-update-maybe)) (defconst private-dir (expand-file-name "private" user-emacs-directory)) (defconst temp-dir (format "%s/cache" private-dir) "Hostname-based elisp temp directories") ;; Emacs customizations (setq-default inhibit-startup-screen t initial-scratch-message nil ;; Send prompts to mini-buffer not the GUI use-dialog-box nil confirm-nonexistent-file-or-buffer t save-interprogram-paste-before-kill t mouse-yank-at-point t require-final-newline t visible-bell nil ring-bell-function 'ignore custom-file "~/.emacs.d/.custom.el" ;; http://ergoemacs.org/emacs/emacs_stop_cursor_enter_prompt.html minibuffer-prompt-properties '(read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt) ;; Disable non selected window highlight cursor-in-non-selected-windows nil highlight-nonselected-windows nil ;; PATH exec-path (append exec-path '("/usr/local/bin/")) indent-tabs-mode nil tab-width 4 inhibit-startup-message t fringes-outside-margins t x-select-enable-clipboard t use-package-always-ensure t ispell-program-name "aspell" browse-url-browser-function 'browse-url-generic browse-url-generic-program "firefox-developer-edition" frame-title-format '("" invocation-name ": "(:eval (if (buffer-file-name) (abbreviate-file-name (buffer-file-name)) "%b"))) ;; mouse-wheel-progressive-speed nil ;; Don't accelerate mouse wheel ;; mouse-wheel-scroll-amount '(5 ((shift) . 3)) use-short-answers t package-native-compile t delete-selection-mode t ) (defun assert-directory (p) (unless (file-exists-p p) (make-directory p t)) p ) (assert-directory (concat temp-dir "/auto-save-list/")) (setq autoload-directory (concat user-emacs-directory (file-name-as-directory "elisp") (file-name-as-directory "autoload"))) (add-to-list 'load-path (assert-directory autoload-directory)) ;; Bookmarks (setq ;; persistent bookmarks bookmark-save-flag t bookmark-default-file (concat temp-dir "/bookmarks")) ;; Backups enabled, use nil to disable (setq history-length 1000 backup-inhibited nil make-backup-files nil auto-save-default nil auto-save-list-file-name (concat temp-dir "/autosave") create-lockfiles nil backup-directory-alist `((".*" . ,(concat temp-dir "/backup/"))) auto-save-file-name-transforms `((".*" ,(concat temp-dir "/auto-save-list/") t))) ;; Disable toolbar & menubar (menu-bar-mode -1) (when (fboundp 'tool-bar-mode) (tool-bar-mode -1)) (when ( fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) (context-menu-mode +1) ;; Delete trailing whitespace before save (add-hook 'before-save-hook 'delete-trailing-whitespace) (use-package diminish) (provide 'base) ;;; base ends here