   ;; if I just want to click open some file
   :ensure smartparens
   :defer 1
-  :bind
-  (:map smartparens-mode-map
-        ;; paredit stuff
-        ("C-)" . sp-forward-slurp-sexp)
-        ("C-}" . sp-dedent-adjust-sexp) ;; cp. sp-forward-barf-sexp
-        ("C-(" . sp-backward-slurp-sexp)
-        ("C-{" . sp-backward-barf-sexp)
-        ("<C-backspace>" . sp-splice-sexp-killing-backward)
-        ("C-M-d" . sp-splice-sexp-killing-forward) ;; overrides down-list
-        ("M-s" . sp-splice-sexp)
-        ;; <---??? maybe reconsider these key cords
-        ("M-S" . sp-split-sexp)
-        ("M-J" . sp-join-sexp)
-        ("M-C" . sp-convolute-sexp) ;; formerly M-?
-        ;; more magic added by smartparens
-        ("M-A" . sp-absorb-sexp)
-        ("M-E" . sp-emit-sexp)
-        ("M-I" . sp-indent-defun)
-        ("M-R" . sp-rewrap-sexp)
-        ("M-W" . sp-swap-enclosing-sexp)
-        ("M-(" . sp-extract-before-sexp)
-        ("M-)" . sp-extract-after-sexp)
-        ("C-<" . sp-indent-adjust-sexp) ;; cp. sp-add-to-previous-sexp
-        ("C->" . sp-add-to-next-sexp)
-        ;; they are kinda hard to remember ???--->
-        ("M-[" . sp-select-previous-thing-exchange)
-        ("M-]" . sp-select-next-thing)
-        ("C-M-w" . sp-copy-sexp)
-        ("C-M-S-w" . sp-backward-copy-sexp)
-        ("C-M-u" . sp-unwrap-sexp) ;; overrides backward-up-list
-        ("C-M-S-u" . sp-backward-unwrap-sexp)
-        ;; navigation via parentheses
-        ("M-n" . sp-down-sexp)
-        ("M-P" . sp-backward-down-sexp)
-        ("M-p" . sp-backward-up-sexp)
-        ("M-N" . sp-up-sexp)
-        ;; emacs stuff ;; overrides
-        ("C-M-f" . sp-forward-sexp)      ;; forward-sexp
-        ("C-M-b" . sp-backward-sexp)     ;; backward-sexp
-        ("C-M-a" . sp-beginning-of-sexp) ;; beginning-of-defun
-        ("C-M-e" . sp-end-of-sexp)       ;; end-of-defun
-        ("C-M-n" . sp-next-sexp)         ;; forward-list
-        ("C-M-p" . sp-previous-sexp)     ;; backward-list
-        ("C-j" . sp-newline) ;; electric-newline-and-maybe-indent
-        ("C-M-t"   . sp-transpose-sexp)             ;; transpose-sexp
-        ("C-x C-t" . sp-transpose-hybrid-sexp)      ;; transpose-lines
-        ("C-M-k"           . sp-kill-sexp)          ;; kill-sexp
-        ("<C-M-backspace>" . sp-backward-kill-sexp) ;; backward-kill-sexp
-        ;; strict mode stuff
-        ("C-d"   . sp-delete-char)          ;; delete-char
-        ("DEL"   . sp-backward-delete-char) ;; backward-delete-char
-        ("M-d"   . sp-kill-word)            ;; kill-word
-        ("M-DEL" . sp-backward-kill-word)   ;; backward-kill-word
-        ("C-k"   . sp-kill-hybrid-sexp)     ;; kill-line
-        )
-
   :config
   (set-face-attribute 'sp-show-pair-match-face nil ;; ELEGENT WEAPONS
                       :weight 'black :background "black" :foreground "firebrick")

(use-package exec-path-from-shell
  ;; sets environment variables correctly for OS X
  :if (memq window-system '(mac ns))
  :config
  (exec-path-from-shell-initialize)
  (exec-path-from-shell-copy-envs '("PATH" "LANG" "LC_ALL"))
  ;; fullscreen shortcut for mac, 's' is the right cmd key
  :bind (("<C-s-f>" . toggle-frame-fullscreen)
         ("<C-s-268632070>" . toggle-frame-fullscreen)))

(use-package hc-zenburn-theme
  ;; custom color theme
  :config (load-theme 'hc-zenburn t)

  (use-package hl-line
    :config (global-hl-line-mode 1))

  (use-package powerline
    :config (powerline-center-theme))

  (use-package rainbow-delimiters
    :config (add-hook 'prog-mode-hook #'rainbow-delimiters-mode-enable)))

(use-package magit
  ;; defer til the mode is called
  :commands magit-status)

(use-package rainbow-mode
  ;; can be handy sometimes but rarely needed
  ;; defer til the mode is called
  :commands rainbow-mode)

;;;;;;;;;;;;;;;

;;   :init &rest EXPRS                                    ;;
;;   evals EXPRS before loading package-name              ;;
;;                                                        ;;
;;   :defer                                               ;;
;;   defers loading package-name                          ;;
;;   implied by :commands :bind :bind* :mode :interpreter ;;
;;   t can also be an integer,                            ;;
