107 lines
3.7 KiB
EmacsLisp
107 lines
3.7 KiB
EmacsLisp
|
(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
|