diff --git a/.config/tmux/plugins/tpm b/.config/tmux/plugins/tpm
new file mode 160000
index 00000000..99469c4a
--- /dev/null
+++ b/.config/tmux/plugins/tpm
@@ -0,0 +1 @@
+Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946
diff --git a/.tmux.conf b/.config/tmux/tmux.conf
similarity index 94%
rename from .tmux.conf
rename to .config/tmux/tmux.conf
index 5c36876e..27b3420d 100644
--- a/.tmux.conf
+++ b/.config/tmux/tmux.conf
@@ -119,6 +119,10 @@ bind -Troot C-g switch-client -Tfzf-git
bind C-y run -b ~/.dotfiles/bin/,tmux-copy
-bind r source-file ~/.tmux.conf \; display 'Reloaded tmux.conf'
+bind r source-file ~/.config/tmux/tmux.conf \; display 'Reloaded tmux.conf'
-if-shell "[[ -e ~/.tmux.conf.local ]]" "source-file ~/.tmux.conf.local"
+if-shell "[[ -e ~/.config/tmux/tmux.conf.local ]]" "source-file ~/.config/tmux/tmux.conf.local"
+
+set -g @plugin 'tmux-plugins/tpm'
+
+run '~/.config/tmux/plugins/tpm/tpm'
diff --git a/.gitignore b/.gitignore
index 756133d4..e1b0e79d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@ private
!.config/sketchybar
!.config/starship
!.config/starship.toml
+!.config/tmux
!.config/tridactyl
!.config/wezterm
!.config/yabai
diff --git a/.gitmodules b/.gitmodules
index 8891bb64..fd7e0487 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -154,3 +154,7 @@
path = .local/share/nvim/site/pack/alpha/start/abolish
url = https://github.com/tpope/vim-abolish.git
branch = master
+[submodule "tpm"]
+ path = .config/tmux/plugins/tpm
+ url = https://github.com/tmux-plugins/tpm
+ branch = master