init.el (3273B)
1 ;; this init file is primarily focused around developing and 2 ;; evaluating theming outside of ones own emacs.d. 3 4 ;; you can run like 'emacs -q -l {{pkg-dir}}/dev-emacs.d/init.el' 5 (when load-file-name 6 (setq user-emacs-directory 7 (expand-file-name (file-name-directory load-file-name)))) 8 9 (setq pop-up-frame-function nil 10 inhibit-startup-screen t 11 initial-scratch-message nil 12 make-backup-files nil 13 auto-save-default nil 14 create-lockfiles nil 15 display-buffer-alist 16 '((".*" (display-buffer-reuse-window 17 display-buffer-same-window))) 18 enable-local-variables nil 19 web-mode-enable-engine-detection t 20 ediff-make-buffers-readonly-at-startup nil 21 ediff-diff-options "" 22 magit-diff-refine-hunk 'all 23 magit-diff-refine-ignore-whitespace nil 24 ediff-window-setup-function 'ediff-setup-windows-plain 25 ;; 26 ) 27 28 (require 'subr-x) 29 30 (when load-file-name 31 (add-to-list 'load-path 32 (expand-file-name 33 "lisp" 34 (file-name-as-directory 35 (file-name-directory load-file-name))))) 36 37 (require 'solarized-dev) 38 (require 'solarized-dev-keys) 39 40 (when load-file-name 41 (dev-setup-paths (file-name-as-directory 42 (file-name-directory load-file-name)))) 43 44 (defun dev-debug-make-frame () 45 ;; debug-on-entry on make-frame does not work 46 (define-advice make-frame (:around (fn &rest args) suppress) 47 "Suppress making new frame; return existing frame." 48 (debug) 49 (message "make-frame suppressed; proceed at your own peril.") 50 (selected-frame))) 51 ;; (dev-debug-make-frame) 52 ;; (toggle-debug-on-error) 53 54 55 56 (defun dev-open-merge() 57 (interactive) 58 (find-file (expand-file-name "dev-emacs.d/test-repo/" dev-project-root))) 59 60 (require 'package) 61 (package-initialize) 62 63 (defun require-package (package &optional min-version no-refresh) 64 (if (package-installed-p package min-version) 65 t 66 (if (or (assoc package package-archive-contents) no-refresh) 67 (package-install package) 68 (progn 69 (package-refresh-contents) 70 (require-package package min-version t))))) 71 72 73 (mapc 'require-package 74 '(;; utility/convenience 75 flx-ido projectile 76 ;; utility/convenience + face testing 77 magit smartparens htmlize 78 ;; editor major modes for face testing 79 web-mode haskell-mode go-mode js2-mode markdown-mode rust-mode php-mode)) 80 81 (setq auto-mode-alist 82 (append '(("\\.webmode\\'" . web-mode)) 83 auto-mode-alist)) 84 85 (when load-file-name 86 (smartparens-global-mode) 87 (show-smartparens-global-mode) 88 (smartparens-global-strict-mode) 89 (ido-mode 1) 90 (ido-everywhere 1) 91 (flx-ido-mode 1) 92 (projectile-global-mode) 93 (global-set-key (kbd "C-h h") 'ibuffer) 94 (global-set-key (kbd "C-h g") 'magit)) 95 96 (setq 97 projectile-sort-order 'recently-active 98 projectile-completion-system 'ido 99 projectile-switch-project-action 'projectile-dired 100 projectile-verbose nil) 101 102 (dev-set-solarized-settings) 103 104 (when load-file-name 105 (dev-disable-all-themes) 106 (load-theme 'my-solarized-dark t) 107 (dev-disable-all-themes) 108 (load-theme 'my-solarized-light t) 109 (dev-disable-all-themes) 110 (load-theme 'solarized-dark t) 111 (dev-disable-all-themes) 112 (load-theme 'solarized-light t))