Dotfiles-nix zoxide-nav
Navigate to directories using zoxide (frecency-based directory jumper).
install
source · Clone the upstream repo
git clone https://github.com/not-matthias/dotfiles-nix
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/not-matthias/dotfiles-nix "$T" && mkdir -p ~/.claude/skills && cp -r "$T/modules/home/programs/cli-agents/shared/skills/zoxide-nav" ~/.claude/skills/not-matthias-dotfiles-nix-zoxide-nav && rm -rf "$T"
manifest:
modules/home/programs/cli-agents/shared/skills/zoxide-nav/SKILL.mdsource content
<!-- Sources: https://github.com/ajeetdsouza/zoxide, barleytea/dotfiles zoxide-guide skill -->
Zoxide Directory Navigation
Navigate to directories using zoxide, a frecency-based directory jumper that learns from usage patterns.
How Zoxide Works
Zoxide maintains a database of directories the user has visited. Each directory gets a frecency score (frequency × recency). When you query with a partial name, zoxide returns the highest-scoring match.
- The database lives at
~/.local/share/zoxide/db.zo - Scores increase on each visit, decay over time
- Multiple query terms are matched in order:
matches paths containingzoxide query foo bar
thenfoobar
Finding a Directory
Use
zoxide query to resolve a partial name to a full path:
# Find the best match (prints the path) zoxide query <partial-name> # Examples zoxide query dot # → /home/user/Documents/technical/git/dotfiles-nix zoxide query apollo # → /home/user/Documents/technical/git/apollo # Multiple terms narrow results zoxide query git dot # matches path containing "git" then "dot" # List all matches ranked by score zoxide query -l <partial-name>
Workflow
- Run
to resolve the user's partial name to a full path.zoxide query <name> - Use the resolved path as your working directory for subsequent commands.
- If the query returns an error or empty result, tell the user no match was found and ask for clarification.
Example
User says: "go to my dotfiles"
# Resolve the directory zoxide query dotfiles # Output: /home/user/Documents/technical/git/dotfiles-nix # Now use that path for further work ls /home/user/Documents/technical/git/dotfiles-nix
Important Notes
- Non-interactive shell: The
/z
shell aliases do NOT work in the Bash tool because it runs a non-interactive shell. Always usej
instead.zoxide query
alias: The user's fish shell hasj
as an alias forj
(zoxide). When they say "j dot", they mean "jump to the directory matching 'dot'".z- No cd needed: You don't need to
— just resolve the path withcd
and use absolute paths in subsequent commands.zoxide query