Initial dotfiles repo for Mac and Linux
This commit is contained in:
@@ -1 +1,74 @@
|
||||
Init
|
||||
# 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user