My dotfiles for macOS.
git clone https://github.com/hytfjwr/dotfiles.git ~/dev/dotfiles
cd ~/dev/dotfiles
./setup.shThe setup.sh script runs the following in order:
- brew.sh - Installs Homebrew and all packages from
Brewfile - link.sh - Creates symlinks for configuration files
- mise.sh - Sets up mise and installs tool versions
- npm.sh - Installs global npm packages
- claude.sh - Sets up Claude Code
- bun.sh - Installs bun and adds it to PATH in
.zshrc - ohmyzsh.sh - Sets up Oh My Zsh with plugins
- macos.sh - Applies macOS system preferences
You can also run individual setup scripts using the Makefile:
make brew # Install Homebrew packages only
make link # Create symlinks only
make mise # Set up mise and install tools
make npm # Install npm packages only
make claude # Set up Claude Code
make ohmyzsh # Set up Oh My Zsh only
make macos # Apply macOS settings only
make format # Format Lua files with StyLua
make lint # Check Lua formatting and shell scriptsOr run scripts directly:
./scripts/bun.sh # Install bun onlyThis dotfiles uses mise for managing tool versions.
| Tool | Version |
|---|---|
| Node.js | 20 (LTS) |
| Python | 3.12 |
| PHP | 8.4 |
| Go | latest |
| Rust | latest |
| Ruby | 3.3 |
Global configuration is at ~/.config/mise/config.toml (symlinked from mise/config.toml).
mise respects legacy version files (.nvmrc, .python-version, etc.) for per-project configuration.
gcloud init
gcloud auth application-default login- These dotfiles are designed for macOS
- Existing configuration files may be overwritten (symlinks are created)
- It's recommended to back up important config files before running setup