        (ac-config-default))
 
 (progn (pkg 'smart-mode-line)
-       (setq
-	sml/no-confirm-load-theme t
-	sml/theme 'respectful)
+       (setq-default
+        sml/no-confirm-load-theme t
+        sml/theme 'respectful)
        (sml/setup))
 
 (progn (pkg 'git-gutter)


       ;; Preserve visual mode
       (defun evil-shift-left-visual ()
	 (interactive)
	 (evil-shift-left (region-beginning) (region-end))
	 (evil-normal-state)
	 (evil-visual-restore))

       (defun evil-shift-right-visual ()
	 (interactive)
	 (evil-shift-right (region-beginning) (region-end))
	 (evil-normal-state)
	 (evil-visual-restore))

       (define-key evil-visual-state-map (kbd ">") 'evil-shift-right-visual)
       (define-key evil-visual-state-map (kbd "<") 'evil-shift-left-visual)

       (progn (pkg 'evil-leader)
	      (global-evil-leader-mode)
	      (evil-leader/set-leader "<SPC>"))

       (progn (pkg 'evil-surround)
	      (global-evil-surround-mode 1))

       (progn (pkg 'evil-mc)
	      (global-evil-mc-mode 1))

       (progn (pkg 'evil-commentary)
	      (evil-commentary-mode)))

(progn (pkg 'ivy) (pkg 'counsel) (pkg 'swiper) (pkg 'flx)
       (ivy-mode 1)
       (setq
	ivy-use-virtual-buffers t
	ivy-initial-inputs-alist nil
	ivy-re-builders-alist '((ivy-switch-buffer . ivy--regex-plus)
				(t . ivy--regex-fuzzy)))
       (define-key evil-normal-state-map "\C-s" 'swiper)
       (define-key evil-normal-state-map (kbd "C-c C-r") 'ivy-resume)
       (define-key evil-normal-state-map (kbd "<f6>") 'ivy-resume)

  (unless (file-exists-p filename)
    (let ((dir (file-name-directory filename)))
      (unless (file-exists-p dir)
        (make-directory dir)))))

;; Right-aligned linum
(defadvice
