solarized-emacs

a fork of Bozhidar Batsov's solarized-emacs
git clone https://git.trogloxene.org/solarized-emacs.git
Log | Files | Refs | README

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))