Skip to content
zeikarPublic

About

πŸ› οΈ macOS dotfiles + my Claude Code config β€” GNU Stow managed

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

Β 

History

119 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

macOS Dotfiles + Claude Code Config

macOS dotfiles managed with GNU Stow. Most of it is my Claude Code setup β€” CLAUDE.md, settings.json, custom skills, and subagents β€” plus the usual zsh, Brewfile, and macOS defaults.

What is tracked

  • claude/ for Claude Code global configuration (CLAUDE.md, settings.json, statusline.sh, skills/, agents/)
  • codex/ for Codex CLI configuration (AGENTS.md β€” the shared global guidelines, which Claude's CLAUDE.md imports)
  • zsh/ for shell configuration
  • git/ for the global git config (.gitconfig)
  • vscode/ keeps the last VS Code settings for reference; VS Code is uninstalled and install.sh doesn't stow it
  • Brewfile for package reproducibility
  • macos-defaults.sh for common macOS preferences

Machine-specific secrets stay outside the repo:

  • ~/.zshrc.local

Prerequisites

Required:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install stow

Optional but recommended:

brew bundle --file Brewfile

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

The shell config is defensive now, so missing optional tools will not break shell startup.

Install

./install.sh
source ~/.zshrc

What install.sh does:

  • stows tracked packages into $HOME
  • detects recursive conflicts before linking
  • backs up replaced files to ~/.dotfiles-backups/<timestamp>/
  • creates ~/.zshrc.local when missing

Restore packages

Install packages from the tracked Homebrew bundle:

brew bundle --file Brewfile

Apply macOS preferences

Review the script first, then run it manually if you want those defaults:

chmod +x macos-defaults.sh
./macos-defaults.sh

Local-only files

Example ~/.zshrc.local:

export GITHUB_TOKEN="your_token_here"
export OPENAI_API_KEY="your_key_here"

Structure

dotfiles/
β”œβ”€β”€ Brewfile
β”œβ”€β”€ CLAUDE.md          # editing notes for coding agents working on this repo
β”œβ”€β”€ LICENSE
β”œβ”€β”€ claude/
β”‚   └── .claude/
β”‚       β”œβ”€β”€ CLAUDE.md            # imports ~/.codex/AGENTS.md + Claude-only delegation section
β”‚       β”œβ”€β”€ settings.json
β”‚       β”œβ”€β”€ statusline.sh        # custom 2-line status line (context + rate-limit gauges)
β”‚       β”œβ”€β”€ agents/
β”‚       β”‚   β”œβ”€β”€ aesthetic-critic.md   # taste/craft critique of already-captured UI screenshots
β”‚       β”‚   └── usability-critic.md   # task-scenario usability critique (drives the browser itself)
β”‚       └── skills/
β”‚           β”œβ”€β”€ codex-image/          # codex image_generation skill (single/batch/parallel)
β”‚           β”œβ”€β”€ korean-polish/        # writes and polishes Korean the user posts so it reads human (rules.md; projects add their own)
β”‚           └── visual-review/        # Playwright MCP rendering critique (reads per-repo visual-review-app companion)
β”œβ”€β”€ codex/
β”‚   └── .codex/
β”‚       └── AGENTS.md  # shared global guidelines (Codex reads it directly, Claude imports it)
β”œβ”€β”€ docs/
β”‚   └── claude-code.md # what Claude Code writes into this repo, and what to do with it
β”œβ”€β”€ git/
β”‚   └── .gitconfig
β”œβ”€β”€ install.sh
β”œβ”€β”€ macos-defaults.sh
β”œβ”€β”€ vscode/            # archived VS Code settings (not stowed)
β”‚   β”œβ”€β”€ keybindings.json
β”‚   └── settings.json
β”œβ”€β”€ zsh/
β”‚   β”œβ”€β”€ .zshrc
β”‚   └── .zshrc.local.example
└── README.md

About

πŸ› οΈ macOS dotfiles + my Claude Code config β€” GNU Stow managed

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages