   :config
   (add-hook 'prog-mode-hook 'rainbow-delimiters-mode))
 
+;; Elixir
+(use-package elixir-mode
+  :ensure t)
+
+(use-package alchemist
+  :ensure t)
+
+;; Go
+(use-package go-mode
+  :ensure t)
+
+(use-package company-go
+  :ensure t
+  :config
+  (add-to-list 'company-backends 'company-go))
+
+(use-package go-eldoc
+  :ensure t
+  :config
+  (add-hook 'go-mode-hook 'go-eldoc-setup))
+
+;; Rust
+(use-package rust-mode
+  :mode "\\.rs\\'"
+  :init
+  (csetq rust-format-on-save t))
+
+(use-package lsp-mode
+  :ensure t
+  :config
+  (use-package lsp-flycheck
+    :ensure f
+    :after flycheck))
+
+(use-package lsp-rust
+  :ensure t
+  :after lsp-mode)
+
 ;; Clojure
 (use-package clojure-mode
   :ensure t)
 
 (use-package cider
-  :ensure t)
-
-;; Elixir
-(use-package elixir-mode
-  :ensure t)
-
-(use-package alchemist
-  :ensure t)
-
-;; Go
-(use-package go-mode
-  :ensure t)
-
-(use-package company-go
-  :ensure t
-  :config
-  (add-to-list 'company-backends 'company-go))
-
-(use-package go-eldoc
-  :ensure t
-  :config
-  (add-hook 'go-mode-hook 'go-eldoc-setup))
-
-;; Clojure
-(use-package clojure-mode
-  :ensure t)
-
-(use-package cider
+  :pin melpa-stable
   :ensure t)
 
 (use-package clj-refactor
+  :pin melpa-stable
   :ensure t)
 
 ;; Haskell


;; Multiple Cursors
(use-package multiple-cursors
              :ensure t)

;; Ibuffer
(use-package ibuffer
  :bind
  ("C-x C-b" . ibuffer)
  :config
  (setq ibuffer-saved-filter-groups
        '(("default"
           ("dired" (mode . dired-mode))

;; Editorconfig
(use-package editorconfig
  :ensure t)


(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(org-support-shift-select t)
 '(package-selected-packages
   (quote
    (lsp-rust ac-emmet lsp-mode yaml-mode which-key use-package undo-tree rainbow-delimiters puppet-mode markdown-mode magit macrostep lispy ivy-hydra intero ibuffer-projectile gruvbox-theme go-eldoc expand-region exec-path-from-shell editorconfig discover-my-major diminish counsel-projectile company-go clj-refactor alchemist aggressive-indent))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )
