diff --git a/bin/t b/bin/t
index 5ba112c7..efdbd6f3 100755
--- a/bin/t
+++ b/bin/t
@@ -1,19 +1,9 @@
 #!/usr/bin/env bash
 
-# Quickly navigate between different directories using fzf and tmux sessions
-# (Thanks, ThePrimeagen!).
-#
-# https://github.com/ThePrimeagen/.dotfiles/blob/master/bin/.local/bin/tmux-sessionizer
-# https://frontendmasters.com/workshops/dev-productivity
-
 if [[ $# -eq 1 ]]; then
   selected=$1
 else
-  # Get the session name from fuzzy-finding list of directories and generating a
-  # tmux-safe version.
-  items=$(find ~/Code -mindepth 3 -maxdepth 3 -type d ! -name .git)
-
-  selected=$(echo "${items}" | sort | fzf --reverse)
+  selected=$(zoxide query -l | grep -v /tmp | grep -v "^${HOME}/\." | grep -v "^${HOME}/Code$" | grep -v "/main$"  | fzf --reverse)
 fi
 
 if [[ -z $selected ]]; then
diff --git a/system/shared/home-manager.nix b/system/shared/home-manager.nix
index 6394e35b..6a1cbe04 100644
--- a/system/shared/home-manager.nix
+++ b/system/shared/home-manager.nix
@@ -31,6 +31,11 @@
     nix-direnv.enable = true;
   };
 
+  programs.zoxide = {
+    enable = true;
+    enableZshIntegration = true;
+  };
+
   home.sessionPath = [ "$HOME/.config/bin" ];
 
   xdg.configFile."ripgrep/config".text = ''