diff --git a/config/neovim/after/plugin/undotree.lua b/config/neovim/after/plugin/undotree.lua
new file mode 100644
index 00000000..2fd2cf6b
--- /dev/null
+++ b/config/neovim/after/plugin/undotree.lua
@@ -0,0 +1,3 @@
+local nmap = require "opdavies.keymap".nmap
+
+nmap { "<leader>u", vim.cmd.UndotreeToggle }
diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix
index 707026eb..2973d8cd 100644
--- a/system/shared/home-manager.nix
+++ b/system/shared/home-manager.nix
@@ -515,6 +515,7 @@ in
       vimPlugins.refactoring-nvim
       vimPlugins.rest-nvim
       vimPlugins.splitjoin-vim
+      vimPlugins.undotree
       vimPlugins.vim-abolish
       vimPlugins.vim-easy-align
       vimPlugins.vim-eunuch