Browse Source

moving from a .emacs to multiple files, and use-package

Josh Bicking 7 years ago
parent
commit
7334d1ec9c
3 changed files with 151 additions and 104 deletions
  1. 58 103
      emacs.d/init.el
  2. 92 0
      emacs.d/plugins/init-powerline.el
  3. 1 1
      makedots.sh

+ 58 - 103
emacs → emacs.d/init.el

@@ -8,22 +8,23 @@
       initial-scratch-message ""	; I like things empty.
       initial-scratch-message ""	; I like things empty.
       initial-major-mode 'text-mode)	; I'm usually not writing elisp.
       initial-major-mode 'text-mode)	; I'm usually not writing elisp.
 
 
-;;;; Base
+;; Base
 
 
-;; Disable beep & flash
+(setq ring-bell-function 'ignore) ; Disable beep & flash
-(setq ring-bell-function 'ignore)
-
-;; Disable blinking cursor
 (blink-cursor-mode 0)
 (blink-cursor-mode 0)
 
 
-;; Disable scroll bar
+;; No scroll bar
 (when (boundp 'scroll-bar-mode)
 (when (boundp 'scroll-bar-mode)
   (scroll-bar-mode -1))
   (scroll-bar-mode -1))
 
 
-;; Smooth scrolling
+;; Disable toolbar
-(setq auto-hscroll-mode 't)
+(when (display-graphic-p)
-(setq hscroll-margin 0
+  (tool-bar-mode -1))
-      hscroll-step 1)
+
+;; smoother scrolling
+(setq scroll-margin 0
+scroll-conservatively 9999
+scroll-step 1)
 
 
 
 
 ;; Line settings and indicators
 ;; Line settings and indicators
@@ -51,9 +52,6 @@
 (savehist-mode 1)
 (savehist-mode 1)
 (setq savehist-additional-variables '(kill-ring search-ring regexp-search-ring))
 (setq savehist-additional-variables '(kill-ring search-ring regexp-search-ring))
 
 
-;; Auto-enable elisp when opening .emacs in dotfiles (without the .)
-(add-to-list 'auto-mode-alist '("emacs" . emacs-lisp-mode))
-
 ;; Always show matching parens
 ;; Always show matching parens
 (show-paren-mode t)
 (show-paren-mode t)
 
 
@@ -89,47 +87,6 @@
 (setq auto-save-file-name-transforms
 (setq auto-save-file-name-transforms
           `((".*" , "~/.emacs.d/backups/auto-saves" t)))
           `((".*" , "~/.emacs.d/backups/auto-saves" t)))
 
 
-;; Disable toolbar
-(when (display-graphic-p)
-  (tool-bar-mode -1)
-  )
-
-;; Save session including tabs
-;; http://stackoverflow.com/questions/22445670/save-and-restore-elscreen-tabs-and-split-frames
-(defun session-save ()
-    "Store the elscreen tab configuration."
-    (interactive)
-    (if (desktop-save user-emacs-directory)
-        (with-temp-file (concat user-emacs-directory ".elscreen")
-            (insert (prin1-to-string (elscreen-get-screen-to-name-alist))))))
-
-;; Load session including tabs
-(defun session-load ()
-    "Restore the elscreen tab configuration."
-    (interactive)
-    (if (desktop-read)
-        (let ((screens (reverse
-                        (read
-                         (with-temp-buffer
-                          (insert-file-contents (concat user-emacs-directory ".elscreen"))
-                          (buffer-string))))))
-            (while screens
-                (setq screen (car (car screens)))
-                (setq buffers (split-string (cdr (car screens)) ":"))
-                (if (eq screen 0)
-                    (switch-to-buffer (car buffers))
-                    (elscreen-find-and-goto-by-buffer (car buffers) t t))
-                (while (cdr buffers)
-                    (switch-to-buffer-other-window (car (cdr buffers)))
-                    (setq buffers (cdr buffers)))
-                (setq screens (cdr screens))))))
-
-;; smoother scrolling
-(setq scroll-margin 0
-scroll-conservatively 9999
-scroll-step 1)
-
-
 ;; remember cursor position
 ;; remember cursor position
 (toggle-save-place-globally)
 (toggle-save-place-globally)
 
 
@@ -236,7 +193,6 @@ scroll-step 1)
 	;undo-tree
 	;undo-tree
 	evil
 	evil
 	evil-leader
 	evil-leader
-	evil-tabs
 	powerline-evil
 	powerline-evil
 	monokai-theme
 	monokai-theme
 	challenger-deep-theme
 	challenger-deep-theme
@@ -280,6 +236,16 @@ scroll-step 1)
 ;; Activate installed packages
 ;; Activate installed packages
 (package-initialize)
 (package-initialize)
 
 
+(add-to-list 'load-path (expand-file-name "plugins" user-emacs-directory))
+
+(require 'diminish)
+(diminish 'visual-line-mode)
+(diminish 'abbrev-mode)
+
+
+(use-package autorevert
+  :diminish auto-revert-mode)
+
 
 
 (use-package recentf
 (use-package recentf
   :config 
   :config 
@@ -289,7 +255,6 @@ scroll-step 1)
 
 
 
 
 (use-package evil
 (use-package evil
-  :ensure t
   :config
   :config
   (evil-mode t)
   (evil-mode t)
   (setq evil-want-C-i-jump nil)
   (setq evil-want-C-i-jump nil)
@@ -329,18 +294,24 @@ scroll-step 1)
     (interactive "@")
     (interactive "@")
     (set-window-hscroll (selected-window) (- (current-column) (window-width) -1)))
     (set-window-hscroll (selected-window) (- (current-column) (window-width) -1)))
 
 
-  :bind (:map evil-normal-state-map
+   ;; Horizontal scrolling
-              ("zs" . hscroll-cursor-left)
+   (setq auto-hscroll-mode 't)
-              ("ze" . hscroll-cursor-right)
+   (setq hscroll-margin 0
-              ("[s" . flyspell-goto-previous-error)
+         hscroll-step 1)
-              ("]s" . flyspell-goto-next-error)
-              ("\C-x \C-e" . evil-eval-last-sexp)))
-
 
 
-
+  :bind (:map evil-normal-state-map
-(use-package evil-tabs
+         ("zs" . hscroll-cursor-left)
-  :config 
+         ("ze" . hscroll-cursor-right)
-  (global-evil-tabs-mode t))
+         ("[s" . flyspell-goto-previous-error)
+         ("]s" . flyspell-goto-next-error)
+         ("\C-x \C-e" . evil-eval-last-sexp)
+         :map Info-mode-map
+         ("g" . nil)
+         ("n" . nil)
+         ("p" . nil)
+         :map evil-window-map
+         ("q" . delete-window)
+         ("C-q" . delete-window)))
 
 
 
 
 
 
@@ -350,6 +321,10 @@ scroll-step 1)
 	 ("C-c C-d" . evil-numbers/dec-at-pt)))
 	 ("C-c C-d" . evil-numbers/dec-at-pt)))
 
 
 
 
+(use-package undo-tree
+  :diminish undo-tree-mode)
+
+
 (use-package undohist
 (use-package undohist
   :config
   :config
   ;; ;; Save undo history under .emacs.d/undohist
   ;; ;; Save undo history under .emacs.d/undohist
@@ -360,9 +335,10 @@ scroll-step 1)
   (undohist-initialize))
   (undohist-initialize))
 
 
 
 
-(use-package powerline
+;(use-package powerline
-  :config
+;  :config
-  (powerline-evil-vim-color-theme))
+;  (powerline-evil-vim-color-theme))
+(require 'init-powerline)
 
 
 
 
 (use-package web-mode
 (use-package web-mode
@@ -380,6 +356,7 @@ scroll-step 1)
 
 
 
 
 (use-package linum-relative
 (use-package linum-relative
+  :diminish linum-relative-mode
   :config
   :config
   (setq linum-relative-current-symbol "")
   (setq linum-relative-current-symbol "")
   (linum-mode)
   (linum-mode)
@@ -399,7 +376,9 @@ scroll-step 1)
 
 
   (evil-leader/set-key
   (evil-leader/set-key
    "d" 'diff-buffer-with-file
    "d" 'diff-buffer-with-file
-   "b" 'buffer-menu
+   ;"b" 'buffer-menu
+   "b" 'ivy-switch-buffer
+   "C-b" 'buffer-menu
    ;"f" '(lambda ()  (interactive) (dired '"./"))
    ;"f" '(lambda ()  (interactive) (dired '"./"))
    "f" 'neotree-toggle
    "f" 'neotree-toggle
    "u" 'undo-tree-visualize
    "u" 'undo-tree-visualize
@@ -428,6 +407,7 @@ scroll-step 1)
 
 
 
 
 (use-package magit
 (use-package magit
+  :diminish magit-auto-revert-mode
   :config
   :config
   (setq evil-magit-state 'normal))
   (setq evil-magit-state 'normal))
 
 
@@ -478,24 +458,28 @@ scroll-step 1)
 
 
 
 
 (use-package editorconfig
 (use-package editorconfig
+  :diminish editorconfig-mode
   :config
   :config
   (editorconfig-mode 1))
   (editorconfig-mode 1))
 
 
 
 
 (use-package ivy
 (use-package ivy
+  :diminish ivy-mode
   :config
   :config
   (ivy-mode))
   (ivy-mode))
 
 
 
 
-(use-package fuzzy
+(use-package flx
   :config
   :config
   (setq ivy-re-builders-alist '((t . ivy--regex-fuzzy))))
   (setq ivy-re-builders-alist '((t . ivy--regex-fuzzy))))
 
 
 
 
-(use-package company)
+(use-package company
+  :diminish company-mode)
 
 
 
 
 (use-package flycheck
 (use-package flycheck
+  :diminish flycheck-mode
   :config
   :config
   (add-hook 'after-init-hook #'global-flycheck-mode)
   (add-hook 'after-init-hook #'global-flycheck-mode)
 
 
@@ -519,6 +503,7 @@ scroll-step 1)
 
 
 
 
 (use-package dtrt-indent
 (use-package dtrt-indent
+  :diminish dtrt-indent-mode
   :config 
   :config 
   (dtrt-indent-mode 1))
   (dtrt-indent-mode 1))
 
 
@@ -526,36 +511,6 @@ scroll-step 1)
 (use-package org)
 (use-package org)
 
 
 
 
-;; "after" macro definition
-(if (fboundp 'with-eval-after-load)
-    (defmacro after (feature &rest body)
-      "After FEATURE is loaded, evaluate BODY."
-      (declare (indent defun))
-      `(with-eval-after-load ,feature ,@body))
-  (defmacro after (feature &rest body)
-    "After FEATURE is loaded, evaluate BODY."
-    (declare (indent defun))
-    `(eval-after-load ,feature
-       '(progn ,@body))))
-
-
-;;;;org-mode configuration
-;; Enable transient mark mode
-(transient-mark-mode 1)
-
-(require 'diminish)
-(diminish 'visual-line-mode)
-(after 'undo-tree (diminish 'undo-tree-mode))
-(after 'company (diminish 'company-mode))
-(after 'magit (diminish 'magit-auto-revert-mode))
-(diminish 'ivy-mode)
-(diminish 'editorconfig-mode)
-(diminish 'linum-relative-mode)
-(diminish 'auto-revert-mode)
-(diminish 'flycheck-mode)
-(diminish 'abbrev-mode)
-(diminish 'dtrt-indent-mode)
-
 ;;;; System-specific configs
 ;;;; System-specific configs
 
 
 (defun win-setup ()
 (defun win-setup ()

+ 92 - 0
emacs.d/plugins/init-powerline.el

@@ -0,0 +1,92 @@
+;; Source: https://github.com/aaronbieber/dotfiles
+
+;; init-powerline.el --- Powerline configuration
+
+;;; Commentary:
+
+;;; Code:
+(defface my-pl-segment1-active
+  '((t (:foreground "#000000" :background "#E1B61A")))
+  "Powerline first segment active face.")
+(defface my-pl-segment1-inactive
+  '((t (:foreground "#CEBFF3" :background "#3A2E58")))
+  "Powerline first segment inactive face.")
+(defface my-pl-segment2-active
+  '((t (:foreground "#F5E39F" :background "#8A7119")))
+  "Powerline second segment active face.")
+(defface my-pl-segment2-inactive
+  '((t (:foreground "#CEBFF3" :background "#3A2E58")))
+  "Powerline second segment inactive face.")
+(defface my-pl-segment3-active
+  '((t (:foreground "#CEBFF3" :background "#3A2E58")))
+  "Powerline third segment active face.")
+(defface my-pl-segment3-inactive
+  '((t (:foreground "#CEBFF3" :background "#3A2E58")))
+  "Powerline third segment inactive face.")
+
+(defun air--powerline-default-theme ()
+  "Set up my custom Powerline with Evil indicators."
+  (setq-default mode-line-format
+                '("%e"
+                  (:eval
+                   (let* ((active (powerline-selected-window-active))
+                          (seg1 (if active 'my-pl-segment1-active 'my-pl-segment1-inactive))
+                          (seg2 (if active 'my-pl-segment2-active 'my-pl-segment2-inactive))
+                          (seg3 (if active 'my-pl-segment3-active 'my-pl-segment3-inactive))
+                          (separator-left (intern (format "powerline-%s-%s"
+                                                          (powerline-current-separator)
+                                                          (car powerline-default-separator-dir))))
+                          (separator-right (intern (format "powerline-%s-%s"
+                                                           (powerline-current-separator)
+                                                           (cdr powerline-default-separator-dir))))
+                          (lhs (list (let ((evil-face (powerline-evil-face)))
+                                       (if evil-mode
+                                           (powerline-raw (powerline-evil-tag) evil-face)
+                                         ))
+                                     (if evil-mode
+                                         (funcall separator-left (powerline-evil-face) seg1))
+                                     (powerline-buffer-id seg1 'l)
+                                     (powerline-raw "[%*]" seg1 'l)
+                                     (when (and (boundp 'which-func-mode) which-func-mode)
+                                       (powerline-raw which-func-format seg1 'l))
+                                     (powerline-raw " " seg1)
+                                     (funcall separator-left seg1 seg2)
+                                     (when (boundp 'erc-modified-channels-object)
+                                       (powerline-raw erc-modified-channels-object seg2 'l))
+                                     (powerline-major-mode seg2 'l)
+                                     (powerline-process seg2)
+                                     (powerline-minor-modes seg2 'l)
+                                     (powerline-narrow seg2 'l)
+                                     (powerline-raw " " seg2)
+                                     (funcall separator-left seg2 seg3)
+                                     (powerline-vc seg3 'r)
+                                     (when (bound-and-true-p nyan-mode)
+                                       (powerline-raw (list (nyan-create)) seg3 'l))))
+                          (rhs (list (powerline-raw global-mode-string seg3 'r)
+                                     (funcall separator-right seg3 seg2)
+                                     (unless window-system
+                                       (powerline-raw (char-to-string #xe0a1) seg2 'l))
+                                     (powerline-raw "%4l" seg2 'l)
+                                     (powerline-raw ":" seg2 'l)
+                                     (powerline-raw "%3c" seg2 'r)
+                                     (funcall separator-right seg2 seg1)
+                                     (powerline-raw " " seg1)
+                                     (powerline-raw "%6p" seg1 'r)
+                                     (when powerline-display-hud
+                                       (powerline-hud seg1 seg3)))))
+                     (concat (powerline-render lhs)
+                             (powerline-fill seg3 (powerline-width rhs))
+                             (powerline-render rhs)))))))
+  
+(use-package powerline
+  :ensure t
+  :config
+  (setq powerline-default-separator (if (display-graphic-p) 'arrow
+                                      nil))
+  (air--powerline-default-theme))
+
+(use-package powerline-evil
+  :ensure t)
+
+(provide 'init-powerline)
+;;; init-powerline.el ends here

+ 1 - 1
makedots.sh

@@ -25,7 +25,7 @@ then
 fi
 fi
 ln -s $DIR/zshrc $HOME/.zshrc
 ln -s $DIR/zshrc $HOME/.zshrc
 
 
-for i in vimrc vim bashrc tmux.conf zshrc emacs dircolors
+for i in vimrc vim bashrc tmux.conf zshrc emacs.d dircolors
 do
 do
 if [ -f $HOME/.$i -o -h $HOME/.$i -o -d $HOME/.$i ]
 if [ -f $HOME/.$i -o -h $HOME/.$i -o -d $HOME/.$i ]
     then
     then