2023-09-09 01:44:01 -04:00

114 lines
3.9 KiB
EmacsLisp

(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