home / skills / trentshaines / dotfiles / config

config skill

/dot_claude/skills/config

This skill provides an overview of Trent's development environment and dotfiles setup, highlighting fish shell usage and key workflows.

npx playbooks add skill trentshaines/dotfiles --skill config

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.3 KB
---
name: config
description: Overview of Trent's development environment and dotfiles setup. Use this skill first to understand the overall setup, then reference specific skills for details. CRITICAL - Trent uses fish shell, NOT zsh.
---

# Trent's Development Environment

## Quick Reference

| Tool | Purpose | Skill | Config Location |
|------|---------|-------|-----------------|
| **fish** | Shell (PRIMARY) | `fish` | `~/.config/fish/config.fish` |
| **chezmoi** | Dotfile management | `chezmoi` | `~/.local/share/chezmoi/` |
| **tmux** | Terminal multiplexer | `tmux` | `~/.tmux.conf` |
| **sesh** | Tmux session switcher | `tmux` | - |
| **tmuxinator** | Tmux session templates | `tmux` | `~/.config/tmuxinator/*.yml` |
| **lazyvim** | Neovim distribution | `lazyvim` | `~/.config/nvim/` |
| **aerospace** | Window manager | `aerospace` | `~/.config/aerospace/aerospace.toml` |
| **obsidian** | Notes/Zettelkasten | `obsidian` | `~/Documents/obsidian-vault/` |
| **starship** | Prompt | - | `~/.config/starship.toml` |

## Critical Facts

1. **Fish is the primary shell** - Always add aliases/functions to fish, never zsh
2. **Chezmoi manages dotfiles** - After editing configs, sync with `chezmoi add` or `cadd`
3. **Tmux uses 1-based indexing** - Panes and windows start at 1, not 0
4. **Vi mode everywhere** - Fish, tmux, and nvim all use vi keybindings

## Machines

| Name | Address | Access |
|------|---------|--------|
| Mac Mini | `100.77.152.106` | `mm` alias (SSH + port forward 3000, 8000) |

## Common Paths

```
~/.config/fish/           # Fish shell config
~/.config/nvim/           # Neovim/LazyVim config
~/.config/tmuxinator/     # Tmux session templates
~/.config/aerospace/      # Window manager config
~/.local/share/chezmoi/   # Chezmoi source (dotfiles repo)
~/.claude/skills/         # Claude Code skills
~/git/                    # Git projects
```

## Chezmoi Workflow

After editing any config file:
```fish
cadd                      # Re-add changed files to chezmoi
# or
chezmoi add ~/.config/... # Add specific file
```

Then commit in `~/.local/share/chezmoi/`.

## Key Aliases

```fish
# Config editing
ef                        # Edit fish config
v                         # Neovim

# Chezmoi
cadd                      # chezmoi re-add
capply                    # chezmoi apply

# Tmux
ts                        # Session switcher (fzf)
tnw                       # New window with 3-pane layout

# SSH
mm                        # SSH to Mac Mini with port forwards
```

## Tmuxinator Sessions

- `config` - Dotfiles editing (root: ~/.config)
- `admin` - System monitoring (btop + terminals)
- `default` - Template for project sessions

## When Editing Configs

1. Use the appropriate skill for detailed help (fish, tmux, lazyvim, etc.)
2. Remember to sync to chezmoi after changes
3. Fish syntax differs from bash/zsh:
   - `set -gx VAR value` not `export VAR=value`
   - `(command)` not `$(command)`
   - Functions go in `~/.config/fish/functions/name.fish`

## Skills Index

- **fish** - Shell config, aliases, functions, vi mode
- **tmux** - Sessions, tmuxinator templates, sesh, window layouts
- **chezmoi** - Dotfile management, syncing, ansible playbooks
- **lazyvim** - Neovim config, plugins, LSP, keybindings
- **aerospace** - Window management, workspaces, tiling
- **obsidian** - Zettelkasten notes, vault search
- **claude-skills** - Creating and managing skills

Overview

This skill gives a concise overview of Trent's development environment and dotfiles layout. It orients you to the primary tools, key paths, and the workflow to edit and sync configuration. Use this skill first to get context, then open the specialized skill for detailed changes (fish, tmux, lazyvim, chezmoi, etc.).

How this skill works

The skill enumerates the core tools (fish shell, chezmoi, tmux, lazyvim, aerospace, starship, Obsidian) and where their configs live. It highlights critical rules—Fish is the primary shell (not zsh), vi keybindings are enabled across tools, and chezmoi is used to manage and commit dotfiles. It also documents common aliases, tmuxinator sessions, and the chezmoi re-add workflow after editing files.

When to use it

  • Onboarding to Trent's machine or repo to understand where configs live
  • Before editing any config so you follow the correct shell and sync workflow
  • When you need the right alias or path for quick commands (ef, v, cadd, mm)
  • Preparing or restoring dotfiles across machines using chezmoi
  • Setting up tmux sessions or tmuxinator templates for development

Best practices

  • Always add aliases/functions to fish config; do not edit zsh files
  • After changing a config, run cadd or chezmoi add and commit in chezmoi source
  • Remember tmux uses 1-based indexing for windows and panes
  • Keep functions in ~/.config/fish/functions/*.fish and use fish syntax
  • Use the dedicated skill (fish, tmux, lazyvim, chezmoi) for detailed edits

Example use cases

  • Edit fish prompt: open ef, change functions, run cadd and commit to chezmoi
  • Create a tmuxinator session for a project using ~/.config/tmuxinator/*.yml
  • SSH into the Mac Mini with mm to forward ports 3000 and 8000 and work remotely
  • Restore dotfiles on a new machine by applying chezmoi from ~/.local/share/chezmoi
  • Open Neovim using v to inspect LazyVim config at ~/.config/nvim/

FAQ

Do I ever add aliases to zsh?

No. Fish is the primary shell—add aliases and functions to fish configs only.

What is the workflow after editing a config file?

Run cadd or chezmoi add for the changed file, then commit changes in ~/.local/share/chezmoi/.