Skip to content

zeikar/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

My macOS Dotfiles

Minimal macOS dotfiles managed with GNU Stow.

What is tracked

  • claude/ for Claude Code global configuration (CLAUDE.md, settings.json)
  • codex/ for Codex CLI configuration (AGENTS.md β†’ symlink to CLAUDE.md)
  • zsh/ for shell configuration
  • 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/
β”‚   └── .claude/
β”‚       β”œβ”€β”€ CLAUDE.md
β”‚       └── settings.json
β”œβ”€β”€ codex/
β”‚   └── .codex/
β”‚       └── AGENTS.md -> ../../claude/.claude/CLAUDE.md
β”œβ”€β”€ install.sh
β”œβ”€β”€ macos-defaults.sh
β”œβ”€β”€ zsh/
β”‚   β”œβ”€β”€ .zshrc
β”‚   └── .zshrc.local.example
└── README.md

About

πŸ› οΈ My macOS dotfiles managed with GNU Stow.

Topics

Resources

License

Stars

Watchers

Forks

Contributors