Personal configuration files for macOS, managed with GNU Stow.
- Shell: Zsh with Oh My Zsh (Powerlevel10k theme)
- Editor: Zed (Gruvbox Dark Hard theme)
- Window Manager: AeroSpace
- Browser Router: Finicky
- Keyboard Customization: Karabiner-Elements
- Productivity: Raycast (snippets, aliases, hotkeys)
- Version Control: Git
- Node.js: Volta
brew install stowgit clone git@github.com:sgraczyk/dotfiles.git ~/Projects/sgraczyk/dotfiles
cd ~/Projects/sgraczyk/dotfiles
./install.shThe install script will:
- Install Oh My Zsh automatically (if not already installed)
- Backup existing config files (adds
.backupsuffix) - Use GNU Stow to symlink configs to your home directory
- Keep your dotfiles organized by application
The repo includes a pre-configured .p10k.zsh with my personal prompt preferences. After running ./install.sh, your prompt will match my setup automatically.
To customize your own prompt style, run:
p10k configureThis will walk you through the configuration wizard and update your ~/.p10k.zsh.
cd ~/Projects/sgraczyk/dotfiles
# Install specific package
stow zsh
# Remove a package
stow -D git
# Reinstall a package (useful after edits)
stow -R aerospace
# Install all packages
stow zsh git aerospace finicky oh-my-zsh karabiner zedEach subdirectory is a "stow package" that mirrors your home directory:
dotfiles/
├── zsh/ → ~/.zshrc, ~/.zshenv, ~/.p10k.zsh
├── git/ → ~/.gitconfig
├── aerospace/ → ~/.aerospace.toml
├── finicky/ → ~/.finicky.js
├── karabiner/ → ~/.config/karabiner/karabiner.json
├── raycast/ → Raycast.rayconfig (import manually)
├── zed/ → ~/.config/zed/settings.json
└── oh-my-zsh/ → ~/.oh-my-zsh/custom/themes/
- Clean .zshrc with no duplicate PATH entries
- Proper PATH ordering (Homebrew → Volta → others)
- Organized by application using Stow
- Easy to enable/disable specific configs
Raycast snippets (text expansions) are stored as human-readable JSON for easy version control and editing.
Export your snippets to include them in your dotfiles:
- Open Raycast and run:
Export Snippets - Save as:
~/Projects/sgraczyk/dotfiles/raycast/snippets.json - Commit to your repository
After cloning your dotfiles, import your snippets:
cd ~/Projects/sgraczyk/dotfiles/raycast
./import-snippets.shOr manually: Open Raycast → Import Snippets → Select snippets.json
- Human-readable: Edit snippets directly in JSON
- Version controlled: Track changes in git
- Easy to sync: Import once on new machines
See raycast/README.md for detailed instructions and alternative export options.