my configs for setting up a new mac. configs live in this repo and get symlinked into place — edit here, commit, and every machine stays in sync.
git clone https://github.com/YOUR_USERNAME/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh| folder | config | target location |
|---|---|---|
zsh/ |
.zshrc — shell aliases and color settings |
~/.zshrc |
ghostty/ |
config — github dark theme, dm mono font, 16-color palette |
~/.config/ghostty/config |
vscode/ |
settings.json — prettier, material icons, github dark theme |
~/Library/Application Support/Code/User/settings.json |
the install script symlinks each config to where the tool expects it. existing files get backed up to *.backup before being replaced.
~/dotfiles/ghostty/config → ~/.config/ghostty/config
~/dotfiles/zsh/.zshrc → ~/.zshrc
~/dotfiles/vscode/settings → ~/Library/Application Support/Code/User/settings.json
edit files in this repo, commit, and the symlinks pick up changes automatically.
- create a folder:
mkdir toolname - add the config file inside it
- add a
link_fileline toinstall.sh:link_file "$DOTFILES/toolname/config" "$HOME/.config/toolname/config"
- commit and push
ghostty and vs code both use dm mono. install it with:
brew install --cask font-dm-monocode --install-extension esbenp.prettier-vscode
code --install-extension PKief.material-icon-theme
code --install-extension GitHub.github-vscode-theme
code --install-extension formulahendry.code-runnerdotfiles/
├── install.sh # symlinks everything into place
├── readme.md
├── ghostty/
│ └── config # ghostty terminal config
├── vscode/
│ └── settings.json # vs code settings
└── zsh/
└── .zshrc # shell config