diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el
index 9987cbf..8e8da3d 100644
--- a/hmModules/emacs/init.el
+++ b/hmModules/emacs/init.el
@@ -548,6 +548,12 @@
 				 (eglot-ensure))))
   :mode "\\.ts\\'")
 
+(use-package rust-mode
+  :init
+  (setq rust-mode-treesitter-derive t)
+  :hook ((rust-mode . (lambda ()
+			(require 'eglot)
+			(eglot-ensure)))))
 (use-package haskell-ts-mode
   :hook ((haskell--ts-mode . eglot-ensure))
   :mode "\\.hs\\'"
diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix
index f726e67..9b366a2 100644
--- a/packages/emacs/packages.nix
+++ b/packages/emacs/packages.nix
@@ -182,6 +182,7 @@ let
           markdown-mode
           haskell-mode
           terraform-mode
+          rust-mode
           diredfl
           org-modern
           math-preview