Skip to content

tinywaves/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Modular macOS bootstrap dotfiles for Homebrew, Oh My Zsh, Zsh config, and Git work/personal split.

Highlights

  • Homebrew installs core tools via modules/brew/brewfile
  • Oh My Zsh + common plugins
  • Git configs split by directory (work vs personal) with automatic includeIf
  • Work git user.name and user.email are prompted on first install
  • Node.js environment via nvm (includes Node.js LTS, yarn, pnpm)

Quick Start

  1. Clone this repo (recommended path: ~/.dotfiles).
  2. Put your Oh My Zsh template at templates/.zshrc or set OMZ_TEMPLATE.
  3. Run one of the following:

Option 1: Full Installation

Run all modules in order:

./install.sh

Option 2: Run Individual Modules Directly

Each module can be run independently:

./modules/prereq/run.sh    # Install prerequisites (Xcode, Homebrew)
./modules/brew/run.sh      # Install Homebrew packages
./modules/omz/run.sh       # Install Oh My Zsh
./modules/zshrc/run.sh     # Setup Zsh configuration
./modules/git/run.sh       # Setup Git configuration
./modules/nodejs/run.sh    # Setup Node.js environment (nvm, yarn, pnpm)
./modules/rime/run.sh      # Setup Rime input method

Option 3: Run via Module Entry Script

Use the unified module runner:

./run-module.sh brew       # Run a specific module
./run-module.sh --list     # List all available modules
./run-module.sh --help     # Show help

Directory Layout

  • install.sh: entry script that runs each module in order
  • modules/: setup steps with clear console separators
  • utils/: shared shell helpers
  • templates/: templates for Zsh, Git, and Rime
  • templates/git/: git config templates (base/work/personal)
  • templates/rime-config/: Rime input method config templates

Configuration Notes

Oh My Zsh Template

  • Default template path: templates/.zshrc
  • Override via environment variable:
OMZ_TEMPLATE=/path/to/your/.zshrc ./install.sh

Git Work/Personal Split

The base config is installed at ~/.config/git/config and includes:

  • ~/.config/git/config-work for work repos
  • ~/.config/git/config-personal for personal/open-source repos

Defaults:

  • Work dir: ~/Developer/work
  • Personal dir: ~/Developer/personal

First install will prompt for work user.name and user.email.

Update user.name and user.email in:

  • ~/.config/git/config-work
  • ~/.config/git/config-personal

Rime Configuration

Rime config files are installed from templates/rime-config/ to ~/Library/Rime/.

After installation, deploy the configuration by:

  • Clicking the Squirrel icon in the menu bar → Select "Deploy"
  • Or run: killall Squirrel && open -a Squirrel

Libraries & Tools Links

Modules

  • modules/prereq/run.sh (Xcode tools + Homebrew bootstrap)
  • modules/brew/run.sh (Brewfile packages)
  • modules/omz/run.sh (Oh My Zsh)
  • modules/zshrc/run.sh (template applied to ~/.zshrc)
  • modules/git/run.sh (work/personal configs)
  • modules/nodejs/run.sh (nvm + Node.js LTS + yarn + pnpm)
  • modules/rime/run.sh (Rime/Squirrel input method config)

Notes

  • Uses Homebrew wherever possible.
  • Designed for macOS only.
  • Each module prints a clear separator in the console.