Use when editing ANY configuration file in this dotfiles repository. Ensures files are edited in the repo (not symlinks), identifies correct file locations, and tracks the repository structure.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: dotfiles-config description: Use when editing ANY configuration file in this dotfiles repository. Ensures files are edited in the repo (not symlinks), identifies correct file locations, and tracks the repository structure.
Dotfiles Config Skill
Golden Rule
ALWAYS edit files in ~/dev/dotfiles/, NEVER edit symlinked files in ~/ or ~/.config/.
The files in your home directory are symlinks pointing back to this repo. Verify with:
ls -la ~/.config/ghostty/config # Should show symlink to dotfiles
Repository Structure
~/dev/dotfiles/
βββ home/ # Base configs (all platforms)
β βββ .claude/ # Claude Code config (this skill lives here)
β βββ .config/ # XDG configs
β β βββ alacritty/
β β βββ ghostty/
β β βββ helix/
β β βββ home-manager/ # Nix Home Manager (CLI tools)
β β βββ lazygit/
β β βββ nvim/
β β βββ yazi/
β β βββ zellij/
β β βββ zsh/
β βββ .bashrc
β βββ .tmux.conf
β βββ .zshrc
βββ home-mac/ # macOS-specific configs
β βββ Brewfile # GUI apps via Homebrew
βββ home-linux/ # Linux-specific configs
βββ mac/
β βββ nix-darwin/ # macOS system settings
βββ ubuntu/ # Ubuntu-specific configs
Config File Locations
| Tool | Dotfiles Location | Symlinked To |
|---|---|---|
| Alacritty | home/.config/alacritty/ | ~/.config/alacritty/ |
| Claude Code | home/.claude/ | ~/.claude/ |
| Ghostty | home/.config/ghostty/ | ~/.config/ghostty/ |
| Helix | home/.config/helix/ | ~/.config/helix/ |
| Home Manager | home/.config/home-manager/ | ~/.config/home-manager/ |
| Lazygit | home/.config/lazygit/ | ~/.config/lazygit/ |
| Neovim | home/.config/nvim/ | ~/.config/nvim/ |
| Ripgrep | home/.config/rg/ | ~/.config/rg/ |
| Starship | home/.config/starship.toml | ~/.config/starship.toml |
| Tmux | home/.tmux.conf | ~/.tmux.conf |
| Yazi | home/.config/yazi/ | ~/.config/yazi/ |
| Zellij | home/.config/zellij/ | ~/.config/zellij/ |
| Zsh | home/.zshrc, home/.config/zsh/ | ~/.zshrc, ~/.config/zsh/ |
Package Management
CLI Tools (Nix Home Manager)
Edit: home/.config/home-manager/home.nix
Apply: home-manager switch
GUI Apps (macOS Homebrew)
Edit: home-mac/Brewfile
Apply: cd home-mac && brew bundle
Language Runtimes (mise)
Edit: home/.config/mise/config.toml
Apply: mise install
macOS System Settings (nix-darwin)
Edit: mac/nix-darwin/flake.nix
Apply: just nix-darwin-switch
Stow Commands
After adding new config files, re-run stow:
just stow-mac # macOS
just stow-linux # Linux
just stow-home # Just base home/
Skills Location
Skills live in home/.claude/skills/ and are symlinked to ~/.claude/skills/.
To create a new skill:
- Create directory:
mkdir -p home/.claude/skills/skill-name - Create SKILL.md with frontmatter (name, description)
- Stow will automatically symlink it
Common Mistakes to Avoid
- Editing symlinked files - Always navigate to
~/dev/dotfiles/first - Forgetting to stow - New files need
just stow-*to create symlinks - Wrong platform directory - macOS GUI apps go in
home-mac/, nothome/ - Editing ~/.config directly - These are symlinks, edit the source in dotfiles
Verification
Before declaring a config change complete:
- Confirm you edited the file in
~/dev/dotfiles/ - Check the symlink exists:
ls -la ~/.config/<tool>/ - Test the config works (reload app or run verification command)
More by jruz
View allUse when editing ANY Neovim configuration including init.lua, plugins, keymaps, LSP settings, or theme configuration. Provides file structure guidance and VHS testing workflow.
Use when editing ANY zellij configuration including layouts, swap layouts, keybindings, or zjstatus plugin. Provides rules for powerline characters, VHS testing, and verification.
