(package-initialize) (use-package use-package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") ) (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)) (defun assert-directory (p) (unless (file-exists-p p) (make-directory p t)) p ) (defconst private-dir (expand-file-name "private" user-emacs-directory)) (defconst temp-dir (format "%s/cache" private-dir) "Hostname-based elisp temp directories") (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)) (setq-default ;; Disable backup files and lockfiles make-backup-files nil auto-save-default nil create-lockfiles nil ;; Unless otherwise specified, always install packages if they are absent. use-package-always-ensure t ;; Point custom-file at /dev/null so emacs does not write any settings to my dotfiles. custom-file "/dev/null" ;; Don't pop up a small window at the bottom of emacs at launch. inhibit-startup-screen t inhibit-startup-message t ;; Give the scratch buffer a clean slate. initial-major-mode 'fundamental-mode initial-scratch-message nil ;; Send prompts to mini-buffer not the GUI use-dialog-box nil ;; End files with line break require-final-newline t ;; Use spaces, not tabs indent-tabs-mode nil ;; Use a better frame title frame-title-format '("" invocation-name ": "(:eval (if (buffer-file-name) (abbreviate-file-name (buffer-file-name)) "%b"))) ;; Use 'y' or 'n' instead of 'yes' or 'no' use-short-answers t ;; Natively compile packages package-native-compile t ;; Typed text replaces selection delete-selection-mode t ) ;; (setq-default fringes-outside-margins t) (pixel-scroll-precision-mode) ;; ;; Emacs customizations ;; (setq-default ;; confirm-nonexistent-file-or-buffer t ;; save-interprogram-paste-before-kill t ;; mouse-yank-at-point t ;; visible-bell nil ;; ring-bell-function 'ignore ;; ;; 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/")) ;; tab-width 4 ;; fringes-outside-margins t ;; x-select-enable-clipboard t ;; ispell-program-name "aspell" ;; browse-url-browser-function 'browse-url-generic ;; browse-url-generic-program "firefox-developer-edition" ;; ;; mouse-wheel-progressive-speed nil ;; Don't accelerate mouse wheel ;; ;; mouse-wheel-scroll-amount '(5 ((shift) . 3)) ;; ) ;; ;; 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))) ;; Delete trailing whitespace before save (add-hook 'before-save-hook 'delete-trailing-whitespace) (provide 'base) ;;; base ends here