Day One: Getting Started¶
Welcome to your new terminal environment! This guide bridges the gap between "installed" and "productive" by walking through the core workflows and tools you'll use every day.
1. The Terminal Experience¶
Open your terminal. You should see a prompt that looks something like this:
This is Powerlevel10k. It's context-aware:
- Path: Shows your current directory (truncated intelligently).
- Git: Branch, status (✚ modified, ? untracked, ⇡ ahead, ⇣ behind).
- Tool Versions: Shows the active version of Node, Python, Rust, etc., managed by
mise. - Execution Time: If a command takes >2s, it shows how long.
Modern Core Utilities¶
We've replaced the standard unix tools with modern, Rust-based alternatives:
| Command | Replaces | Why? |
|---|---|---|
ls | ls | eza: Icons, git status, tree view (tree). |
cat | cat | bat: Syntax highlighting, line numbers, git diffs. |
grep | grep | ripgrep (rg): Blazing fast, ignores .gitignore. |
find | find | fd: Simple syntax, ignores .gitignore. |
ps | ps | procs: Tree view, readable output. |
df | df | duf: Visual disk usage charts. |
Note: We use "smart wrappers". Typing
lsactually runseza. Typingcatrunsbat. If you ever need the real command, usecommand ls.
2. Navigation Flow¶
Stop typing cd ../../. There's a better way.
Jumping with zoxide (z)¶
zoxide learns your habits. The more you visit a directory, the higher it ranks.
z proj: Jumps to~/projects(or your most visited "proj" folder).z dot: Jumps to~/repos/dotfiles.cdi: Interactive selection. Type a few letters, then pick from a list.
Fuzzy Finding (fzf)¶
fzf is the glue that connects everything.
Ctrl+T: "I need a file." Opens a fuzzy finder for all files in the current subtree. Preview the content on the right.Alt+C: "I need a subdirectory." Fuzzy find a folder andcdinto it.Ctrl+R: "I typed this yesterday." Fuzzy search your command history.
3. File Management¶
Yazi (y / ya)¶
Yazi is a blazing fast terminal file manager.
- Type
yato open it. - Navigate with vim keys (
h/j/k/l) or arrows. - Preview files (even images!) instantly on the right.
- Press
qto quit. Crucially,yachanges your shell's working directory to where you were in Yazi.
4. Git Workflow¶
Lazygit (lg)¶
Stop fighting with git CLI arguments for complex tasks.
- Type
lgto open lazygit. - Status: Use
Spaceto stage/unstage files. - Commit: Press
cto commit. - Push: Press
Pto push. - Branches: Press
nto create a branch.
It handles interactive rebasing (r), cherry-picking (c), and resolving conflicts visually.
Git Status in Tmux (gitmux)¶
Look at your tmux status bar (bottom right). It shows the git status of the active pane's directory: [branch ↑1 ↓2]
5. Editing¶
Neovim (v / vim / nv)¶
This setup uses a pre-configured Neovim based on LazyVim.
- Space (
<leader>) is your command key. <leader>ff: Find files (Telescope).<leader>sg: Grep (search text) in project.<leader>e: Toggle file explorer (Neo-tree).K: Hover documentation.gd: Go to definition.
6. Secrets Setup¶
Don't paste API keys in your shell history!
-
Quick Start: Copy the template.
-
Secure It: Use
ageencryption to safely back them up.
See Secrets Management for details on rotation and server deployment.
7. Maintenance¶
Your environment is dynamic. Keep it healthy.
Updates¶
Run dots update (or dots up) to:
- Pull the latest dotfiles changes.
- Update
misetools. - Update system packages (if configured).
Health Check¶
Something acting weird? Run dots doctor (or dots dr). It checks:
- Paths and environment variables.
- Missing dependencies.
- Broken symlinks.
- Deprecated configs.
Key Bindings Cheat Sheet¶
| Key | Context | Action |
|---|---|---|
Ctrl+T | Shell | Find file (fzf) |
Alt+C | Shell | Change dir (fzf) |
Ctrl+R | Shell | History search |
Ctrl+O | Tmux | Switch to last active pane |
Ctrl+H/J/K/L | Vim/Tmux | Seamless navigation between splits |
g | Shell Alias | git |
lg | Shell Alias | lazygit |
d | Shell Alias | docker (or duf) |
z | Shell Alias | zoxide jump |
Related Documentation¶
- Installation Guide - Setup instructions.
- Tools Reference - Deep dive into available tools.
- Customization Guide - Personalizing your experience.