https://github.com/sunpech/dotfiles
My dotfiles to set up new macOS installs.
https://github.com/sunpech/dotfiles
dotfiles homebrew iterm2 setup shell
Last synced: 29 days ago
JSON representation
My dotfiles to set up new macOS installs.
- Host: GitHub
- URL: https://github.com/sunpech/dotfiles
- Owner: sunpech
- Created: 2011-06-05T06:08:36.000Z (about 15 years ago)
- Default Branch: main
- Last Pushed: 2026-05-20T03:44:13.000Z (about 1 month ago)
- Last Synced: 2026-05-20T06:59:13.216Z (about 1 month ago)
- Topics: dotfiles, homebrew, iterm2, setup, shell
- Language: Vim Script
- Homepage:
- Size: 11.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sunpech's dotfiles
My dotfiles for macOS, for setting up a fresh machine.
I use [GNU stow](https://www.gnu.org/software/stow/) to manage symlinks for configurations.
## Requirements
You need to run z shell (zsh), which has been the default shell on macOS since Catalina.
You'll need to have [homebrew](https://brew.sh/) installed.
Then you'll need git and stow to install this dotfiles repository.
```bash
brew install git stow
```
## Installation
### Clone repo (with submodules)
*There are currently no submodules.*
```bash
git clone --recurse-submodules git@github.com:sunpech/dotfiles.git
mv dotfiles ~/.dotfiles
cd ~/.dotfiles
```
### Run stow
Use stow to create symlinks for config files.
I disagree with running `stow .` at the top of the project directory to symlink everything. I think it's better to organize by directory where it's more modular, which is the approach of this repo.
```bash
stow zsh powerlevel10k starship eza nvim vim git wezterm ghostty fastfetch
```
After running stow above, you should be setup with your dotfiles. If you should add other configs, you'll need to run stow again to symlink from the dotfiles directory to the home directory path.
## Applications
### Terminals
Homebrew cask available for these.
- [Ghostty](https://ghostty.org)
- [WezTerm](https://wezfurlong.org/wezterm/)
```bash
brew install --cask wezterm ghostty
```
### Z shell (zsh) Customizations
Installed via homebrew.
- [powerlevel10k](https://github.com/romkatv/powerlevel10k)
- [Starship](https://github.com/starship/starship) - I currently use my own theme: [capsule.toml](/starship/.config/capsule.toml)
- [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions) and [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)
```bash
brew install zsh-autosuggestions zsh-syntax-highlighting powerlevel10k starship
```
### Dependencies
You'll need to have these installed.
- [eza](https://github.com/eza-community/eza) - A modern, maintained replacement for ls.
- [rbenv](https://github.com/sstephenson/rbenv) - For managing rubies.
- [homebrew](http://brew.sh/) - Mac package manager.
- [zoxide](https://github.com/ajeetdsouza/zoxide) - A smarter cd command.
### Other Homebrew Installs
These are some other important homebrew packages.
#### Neovim related
```bash
brew install neovim fd rg ast-grep lazygit
```
#### Various packages
```bash
brew install node nvm openssl rbenv ruby-build wget vim tig rename ssh-copy-id rename toilet tree glances go hugo fastfetch yt-dlp fzf zoxide eza gitmoji cmatrix ffmpeg exiftool
```
#### Fonts
I'm a fan of [JetBrains Mono font](https://www.jetbrains.com/lp/mono/).
```bash
brew install --cask font-meslo-lg-nerd-font font-jetbrains-mono-nerd-font font-fira-code
```
### Recommended Applications
- [Git Fork](https://git-fork.com/) - A fast and friendly git client.
- [Github Desktop](https://desktop.github.com/download/) - Github Git GUI.
- [Google Antigravity](https://antigravity.google) - Google's AI IDE.
- [Microsoft Visual Studio Code](https://code.visualstudio.com/) - Microsoft's AI IDE.
- [Obsidian](https://obsidian.md/) - The free and flexible app for your private thoughts.
- [pgAdmin](https://www.pgadmin.org/) - Popular PostgreSQL admin tool.
- [Postgres.app](http://postgresapp.com/) - Postgres for Mac.
- [Sourcetree](https://www.sourcetreeapp.com/) - Git GUI from Atlassian.
- [Sublime Text](https://www.sublimetext.com/) and [Sublime Merge](https://www.sublimemerge.com) - Text Editor and Git GUI.
I also have a more up to date repo, [Best Software List](https://github.com/sunpech/best_software_list).
## Misc
You may want to:
1. [Change your computer's name or local hostname on Mac](https://support.apple.com/guide/mac-help/change-computers-local-hostname-mac-mchlp2322/mac#:~:text=On%20your%20Mac%2C%20choose%20Apple,Click%20About.&text=Select%20the%20current%20computer%20name%2C%20then%20type%20a%20new%20name.)
2. [Disable Apple Photos from auto-launching when plugging in sdcard](http://petapixel.com/2015/12/21/stop-apple-photos-from-auto-launching-in-os-x-with-one-command/). Run command below.
```bash
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES
```
3. Prevent macOS from Creating .DS_Store on Network and USB/external Drives
```bash
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool TRUE
```