Personal configuration files for development environment setup.
This repository contains configuration files for:
- Ghostty - Terminal emulator with Catppuccin Mocha theme
- Zed - Code editor with Biome formatter and language servers
- Zsh - Shell with Oh My Zsh, Spaceship theme, and useful plugins
Use the interactive script to copy configuration files to their system locations:
./scripts/copy-configs.shThe script will:
- Check for required dependencies (
gumandjq) - Offer to auto-install missing tools (defaults to Yes)
- Present an interactive menu to select configs
- Confirm before overwriting existing files
- Copy selected files to their destinations
Configuration files are mapped in paths.json:
| Config | Source File | Destination |
|---|---|---|
| Ghostty | ghostty_config |
~/Library/Application Support/com.mitchellh.ghostty/config |
| Zed | zed_settings.json |
~/.config/zed/settings.json |
| Zsh | .zshrc |
~/.zshrc |
- Font: Monaspace Argon (16pt)
- Theme: Catppuccin Mocha
- Appearance: Transparent background with blur effect
- Shell Integration: Zsh
- Font: Monaspace Argon (14pt for editor, 18pt for UI)
- Theme: Catppuccin Mocha (dark) / Catppuccin Latte (light)
- Formatter: Biome for JavaScript, TypeScript, JSON, and CSS
- Keymap: VSCode
- AI Agent: Claude Sonnet
-
Framework: Oh My Zsh
-
Theme: Spaceship (async disabled)
-
Plugins:
gh- GitHub CLI integrationgit- Git aliases and completionsmacos- macOS-specific aliasesnpm- NPM completionsyou-should-use- Reminds you of existing aliaseszsh-autosuggestions- Fish-like autosuggestionszsh-bat- Bettercatwith syntax highlightingzsh-syntax-highlighting- Command syntax highlighting
-
Development Tools:
- Node Version Manager (nvm)
- pnpm
- Bun
- mise (runtime version manager)
- PostgreSQL 17
- Ruby (Homebrew)
-
Default Editor: Zed (
zed --wait)
Both can be installed automatically by the script, or manually:
brew install gum jq- Oh My Zsh
- Spaceship Prompt
- Zsh plugins (install via Oh My Zsh or manually)
- Homebrew - Package manager for macOS
- nvm - Node version manager
- mise - Runtime version manager
- Monaspace - Font family
.
├── README.md # This file
├── paths.json # Maps config keys to system paths
├── ghostty_config # Ghostty terminal configuration
├── zed_settings.json # Zed editor settings
├── .zshrc # Zsh shell configuration
├── scripts/
│ └── copy-configs.sh # Interactive copy script
└── backups/ # For storing backups (empty)
- Add the config file to the repository root
- Update
paths.jsonwith the new mapping:{ "app-name": "~/path/to/config/file" } - Update
get_source_file()function inscripts/copy-configs.sh:app-name) echo "filename_in_repo" ;;
Personal configuration files. Feel free to use as reference or inspiration for your own setup.