   (setq ivy-use-virtual-buffers t)
   (setq enable-recursive-minibuffers t)
   :config
-  (ivy-mode 1))
+  (ivy-mode 1)
+  (global-set-key "\C-s" 'swiper)
+  (global-set-key (kbd "M-x") 'counsel-M-x)
+  (global-set-key (kbd "C-x C-f") 'counsel-find-file)
+  (global-set-key (kbd "<f1> f") 'counsel-describe-function)
+  (global-set-key (kbd "<f1> v") 'counsel-describe-variable)
+  (global-set-key (kbd "<f1> l") 'counsel-find-library)
+  (global-set-key (kbd "C-x l") 'counsel-locate)
+  (define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history))
 
 (use-package projectile)
 (use-package counsel-projectile)

    "t" 'dired-sidebar-toggle-sidebar
    "j" 'avy-goto-char
    "p" 'counsel-projectile
    "s" 'counsel-rg))

(use-package evil-org)
(use-package evil-magit)


(use-package window-purpose
  :config
  (purpose-mode 1)
  (add-to-list 'purpose-user-mode-purposes
               '((parinfer-mode . code)
                 (python-mode . code)
                 (go-mode . code)
                 (js2-mode . code)
                 (term-mode . terminal)
                 (shell-mode . terminal)
                 (eshell-mode . terminal)
                 (compilation-mode . messages)))
  ;;(add-to-list 'purpose-user-name-purposes '(<name> . <purpose>))
  ;;(add-to-list 'purpose-user-regexp-purposes '(<pattern> . <purpose>))
  (setq purpose-use-default-configuration t)
  (purpose-compile-user-configuration))

;; Language support -------------------------------

