My personal dotfiles for macOS development environment setup. This repository contains configurations for various development tools and automated installation scripts.
# Clone the repository
git clone https://github.com/ry-itto/dotfiles.git ~/ghq/github.com/ry-itto/dotfiles
cd ~/ghq/github.com/ry-itto/dotfiles
# Install everything (dotfiles + dependencies)
make all
- macOS (tested on macOS 14+)
- Command Line Tools for Xcode
- Internet connection for downloading packages
Tested on: macOS 15.5 (arm64) - Last updated: 2025-09-01 08:57 UTC
The following packages are defined in .Brewfile
for installation:
π οΈ Homebrew Formulae (30 packages)
zshι’δΏ
zsh
- Z shell - Modern shell with advanced featureszplug
- Zsh plugin manager
iOS
xcodegen
- Generate Xcode projects from spec filesxcbeautify
- Xcode build output formatter
Flutter
usbmuxd
- USB multiplexing daemon for iOS deviceslibimobiledevice
(latest development version) - iOS device communication libraryideviceinstaller
- Manage iOS apps from command lineios-deploy
- Install and debug iOS apps from command line
MCP
uv
- Fast Python package installer and resolver
γγΌγ«
ag
- The Silver Searcher - Fast code searchinggh
- GitHub CLIghq
- Git repository organizerfzf
- Fuzzy finder for command linejq
- JSON processortig
- Text-mode interface for gittree
- Display directory tree structurenkf
- Network Kanji Filter - Character encoding convertergit
- Distributed version control systememojify
- Emoji on the command linenvim
- Neovim - Hyperextensible Vim-based text editortmux
- Terminal multiplexerstarship
- Cross-shell promptmise
- Development environment manager (formerly rtx)act
- Run GitHub Actions locally
gPRC
protobuf
- Protocol Buffers - Google's data interchange format
ruby-build
openssl@3
- Cryptography and SSL/TLS toolkitreadline
- GNU readline librarylibyaml
- YAML parser and emitter libraryautoconf
- Automatic configure script buildergmp
- GNU multiple precision arithmetic library
π₯οΈ Homebrew Casks - GUI Applications (12 apps)
Cask
clipy
- Clipboard managerraycast
- Productivity launcherfont-hack-nerd-font
- Hack font with Nerd Font patchesfont-hackgen
- Japanese programming fontfont-hackgen-nerd
- HackGen with Nerd Font patchesnotion
- All-in-one workspacenotion-calendar
- Calendar app by Notionfigma
- Collaborative design tooldiscord
- Voice, video, and text chatrectangle
- Window management apphammerspoon
- Desktop automation toolwezterm
- GPU-accelerated terminal emulator
Installs all dotfiles and dependencies:
make all
Install only dotfiles (symlinks and configs):
make install
Install only dependencies (Homebrew, tools, etc.):
make deps
You can also run individual installer scripts as needed:
# Install Homebrew and packages
/bin/zsh installers/brew.sh
# Install development tools
/bin/zsh installers/mise.sh # Version management + Flutter/Rust/Vim
/bin/zsh installers/dein.sh # Vim plugin manager
/bin/zsh installers/xcode.sh # Xcode tools
/bin/zsh installers/zplug.sh # Zsh plugin manager
.
βββ .config/ # Application configs (copied to ~/.config/)
β βββ hammerspoon/ # Hammerspoon automation
β βββ karabiner/ # Karabiner-Elements key mappings
β βββ raycast/ # Raycast shortcuts
β βββ starship.toml # Starship prompt config
β βββ wezterm/ # WezTerm terminal config
βββ .zsh/ # Modular Zsh configuration
β βββ alias.zsh # Command aliases
β βββ env.zsh # Environment variables
β βββ plugin.zsh # Zsh plugins
β βββ style.zsh # Shell appearance
βββ installers/ # Installation scripts
βββ scripts/ # Utility scripts
β βββ collect_environment.sh # Collect system info
β βββ update_readme.py # Update README with env info
βββ settings/ # Platform-specific settings
β βββ macos/ # macOS system preferences
β βββ vscode/ # VSCode settings & extensions
β βββ xcode/ # Xcode themes & templates
βββ .Brewfile # Homebrew bundle definition
βββ .commit_template # Git commit template
βββ .gitconfig # Git configuration
βββ .tmux.conf # Tmux configuration
βββ .zshrc # Main shell configuration
βββ CLAUDE.md # AI assistant instructions
βββ README.md # This file (auto-generated from template)
βββ README.template.md # Template for README generation
βββ Makefile # Installation orchestrator
- Package Managers: Homebrew, mise (for version management)
- Shell: Zsh with zplug, Starship prompt
- Terminal: WezTerm, tmux
- Editors: Neovim, VSCode
- Version Control: Git, GitHub CLI, Lazygit
- iOS Development: Xcode, XcodeGen, Mint, SwiftLint, SwiftFormat
- Flutter Development: Flutter SDK, Dart, FVM
- Web Development: Node.js (via n), npm packages
- General: Go, Rust, Ruby
- Productivity: Raycast, Hammerspoon, Karabiner-Elements
- Development: Docker, Orbstack, TablePlus, Fork
- Communication: Slack, Discord, Zoom
- Utilities: 1Password, AppCleaner, The Unarchiver
The shell configuration is modular and organized in .zsh/
:
alias.zsh
: Custom command aliasesenv.zsh
: Environment variables and PATH setupplugin.zsh
: Zsh plugin configurationstyle.zsh
: Prompt and appearance settings
Custom Git configuration includes:
- Commit template for consistent commit messages
- Useful aliases and shortcuts
- GitHub CLI integration
Pre-configured with:
- Custom key bindings
- Status bar configuration
- Plugin management via TPM
Vim configuration includes:
Install extensions using:
:CocInstall {extension-name}
Included extensions:
- coc-flutter - Flutter/Dart language support
- Fork this repository to create your own version
- Edit configuration files to match your preferences:
- Modify
.Brewfile
to add/remove packages - Update
.zsh/alias.zsh
for custom aliases - Adjust
.gitconfig
with your user information
- Modify
- Add your own dotfiles - they'll be automatically symlinked
- Customize installers in the
installers/
directory
make all # Install everything
make install # Install dotfiles only
make deps # Install dependencies only
make list # List all dotfiles to be installed
make help # Show available commands
Feel free to open issues or submit pull requests if you have suggestions for improvements.
This repository is available under the MIT License. Feel free to fork and modify for your own use.
Inspired by the dotfiles community and various developers who share their configurations publicly.