Skip to content

sgraczyk/dotfiles

Repository files navigation

dotfiles

Personal configuration files for macOS, managed with GNU Stow.

What's included

  • 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

Installation

Prerequisites

brew install stow

Install dotfiles

git clone git@github.com:sgraczyk/dotfiles.git ~/Projects/sgraczyk/dotfiles
cd ~/Projects/sgraczyk/dotfiles
./install.sh

The install script will:

  • Install Oh My Zsh automatically (if not already installed)
  • Backup existing config files (adds .backup suffix)
  • Use GNU Stow to symlink configs to your home directory
  • Keep your dotfiles organized by application

Powerlevel10k Configuration

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 configure

This will walk you through the configuration wizard and update your ~/.p10k.zsh.

Managing with Stow

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 zed

Directory Structure

Each 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/

Features

  • 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

Raycast snippets (text expansions) are stored as human-readable JSON for easy version control and editing.

First Time Setup

Export your snippets to include them in your dotfiles:

  1. Open Raycast and run: Export Snippets
  2. Save as: ~/Projects/sgraczyk/dotfiles/raycast/snippets.json
  3. Commit to your repository

On New Machines

After cloning your dotfiles, import your snippets:

cd ~/Projects/sgraczyk/dotfiles/raycast
./import-snippets.sh

Or manually: Open Raycast → Import Snippets → Select snippets.json

Benefits

  • 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.

About

Personal dotfiles configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages