75 lines
2.4 KiB
Markdown
75 lines
2.4 KiB
Markdown
# Mike's Dotfiles
|
|
|
|
Personal dotfiles managed with a Bash Script and GNU Stow. Optimized for both macOS and Linux environments.
|
|
|
|
## Features
|
|
|
|
- 🐚 **Zsh with Starship** - Fast, customizable prompt with oh-my-zsh
|
|
- 📦 **Simple Setup** - Idempotent, pure bash installation script
|
|
- 🔧 **Essential Dev Tools** - btop, gh, fzf, direnv, git-delta, bat, fd, jq, etc. (tmux on Linux only)
|
|
- 🎨 **Modern Experience** - Autosuggestions, syntax highlighting, history search
|
|
- 🤖 **AI Ready** - Shared rules for **Claude Code** and **Cursor IDE**
|
|
|
|
## Quick Start
|
|
|
|
To set up a new Mac or Linux computer, manually run the installation script from the root of this repository:
|
|
|
|
```bash
|
|
./install.sh
|
|
```
|
|
|
|
The script is idempotent and safe to run multiple times. It will:
|
|
1. Install Homebrew (if missing)
|
|
2. Install core packages and tools
|
|
3. Configure Zsh and Starship
|
|
4. Symlink configurations to your home directory using GNU Stow
|
|
5. Set up AI rules for development tools
|
|
|
|
## Structure
|
|
|
|
```
|
|
.
|
|
├── install.sh # Main installation script
|
|
├── zsh/ # Zsh configuration (.zshrc)
|
|
├── starship/ # Starship configuration (.config/starship.toml)
|
|
├── ai-instructions/ # General AI Assistant rules
|
|
├── claude/ # Claude Code configuration
|
|
├── cursor/ # Cursor IDE configuration
|
|
├── editorconfig/ # EditorConfig settings
|
|
├── gh/ # GitHub CLI configuration
|
|
└── git/ # Git configuration
|
|
```
|
|
|
|
## Installation Options
|
|
|
|
The `install.sh` script supports environment variables to customize which runtimes are installed:
|
|
|
|
```bash
|
|
INSTALL_NODE=true \
|
|
INSTALL_PYTHON=true \
|
|
INSTALL_GO=true \
|
|
INSTALL_JAVA=true \
|
|
./install.sh
|
|
```
|
|
|
|
## AI Rules System
|
|
|
|
This repository implements a shared rules system for AI coding assistants. Markdown files in `ai-instructions/` are automatically symlinked into both `~/.claude/rules/` and `~/.cursor/rules/`, ensuring consistent behavior across tools like Claude Code and Cursor.
|
|
|
|
## Making Changes
|
|
|
|
Since dotfiles are symlinked, you can edit them in place and they will be reflected in your home directory:
|
|
|
|
```bash
|
|
nano ~/.zshrc # Edit zsh config
|
|
source ~/.zshrc # Reload changes
|
|
```
|
|
|
|
Commit changes back to the repository:
|
|
|
|
```bash
|
|
git add -A
|
|
git commit -m "Update zsh config"
|
|
git push
|
|
```
|