██████╗ ██████╗ ████████╗███████╗██╗██╗ ███████╗███████╗
██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██║██║ ██╔════╝██╔════╝
██║ ██║██║ ██║ ██║ █████╗ ██║██║ █████╗ ███████╗
██║ ██║██║ ██║ ██║ ██╔══╝ ██║██║ ██╔══╝ ╚════██║
██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
Personal macOS developer environment setup — by Noofreuuuh
| Component | Description |
|---|---|
| Homebrew | Package manager |
| Git | Version control — prompts for username & email |
| Zsh + Oh My Zsh | Shell + PowerLevel10k theme, plugins, aliases |
| ASDF | Runtime version manager — Node.js, pnpm, Python, Java |
Optional software bundles selectable from the interactive menu: Development, Tools, Communication, Office, Games, Others, LLM Tools, Pro Bundle.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/noofreuuuh/Dotfiles/main/bootstrap.sh)"The script will ask where to clone the repo, then launch the interactive setup.
git clone https://github.com/noofreuuuh/Dotfiles.git ~/Dotfiles
cd ~/Dotfiles
bash main.shbash main.sh --dry-run # Simulate without installing anything
bash main.sh --doctor # Check environment health
bash main.sh --profile=core # Install Brew + Git + Zsh + ASDF
bash main.sh --profile=dev # core + Development bundle
bash main.sh --brew --zsh --asdf # Pick individual componentsbootstrap.sh # One-liner entry point
main.sh # Orchestration + interactive menu
lib/
├── colors.sh # Colors, log helpers, progress bar
├── ui.sh # Banner, prerequisites check, summary
├── doctor.sh # Environment health check (--doctor)
├── install_core.sh # Brew, Git, Zsh, ASDF
├── install_software.sh # Software bundles
└── prompt_for_multiselect.sh # Interactive checkbox menu
config/
├── zsh/ # Zsh config (preload, postload, aliases, p10k)
├── asdf/ # tool-versions
└── nvim/ # Neovim config
tests/ # Bats test suite
After install, ~/.zshrc contains two injected blocks:
- pre-omz — exports
DOTFILE_PATHand sourcesconfig/zsh/zsh_preload.zsh(theme, plugins) before Oh My Zsh loads - post-omz — sources
config/zsh/zsh_postload.zsh(PATH, aliases, tools, p10k) at end of file
Personal overrides go in ~/.zsh_custom.zsh — created once on first install, never overwritten.