My personal setup scripts for Mac and Linux machines. Clone the repo, run one command, and you're done.
Caution
This is my personal config. It makes lots of assumptions about how I like things set up. Feel free to browse and borrow ideas, but don't expect it to work for you out of the box.
- Installs your preferred CLI tools and apps
- Sets up shell configs (Fish, Zsh, Bash)
- Manages dotfiles with GNU Stow
- Configures system settings
- Sets up SSH keys
| Platform | Version |
|---|---|
| macOS | 10.15 (Catalina) or later |
| Linux | Debian-based (Ubuntu, Pop!_OS, etc.) |
macOS:
xcode-select --installLinux:
sudo apt update && sudo apt install -y git curlmacOS:
curl -o ~/.dotfilesrc https://raw.githubusercontent.com/steveclarke/dotfiles/master/.dotfilesrc.templateLinux:
wget -qO ~/.dotfilesrc https://raw.githubusercontent.com/steveclarke/dotfiles/master/.dotfilesrc.templateEdit ~/.dotfilesrc to match your preferences.
git clone https://github.com/steveclarke/dotfiles.git ~/.local/share/dotfiles
cd ~/.local/share/dotfiles
bash install.shNote
The script detects your OS. It uses Homebrew on macOS and apt on Linux.
macOS:
- Homebrew (if missing)
- GNU Stow
- CLI tools from Brewfile
- GUI apps (if enabled)
- SSH keys (if set up)
- System settings
- Shell configs
Linux:
- Build tools
- GNU Stow
- CLI tools
- GUI apps (if enabled)
- SSH keys (if set up)
- Shell configs
| Folder | What It Contains |
|---|---|
ai/ |
AI prompts, skills, and agents. See AI README. |
configs/ |
Stow packages for app configs. Fonts live here too. |
docs/ |
Guides and reference docs. |
fixes/ |
Scripts to fix issues. Run by hand when needed. |
install/ |
Install scripts by category (see below). |
setups/ |
Config scripts for things Stow can't handle. |
| Folder | Purpose |
|---|---|
install/prereq/ |
Tools needed by other scripts |
install/cli/ |
Command line tools |
install/apps/ |
GUI apps |
install/desktop-entries/ |
.desktop files (web app wrappers) |
install/optional/ |
Extra software. Run by hand. |
Pull the latest changes:
git pullUpdate configs and packages:
dotfiles stow # Update symlinks
dotfiles brew # Update Homebrew packages
dotfiles update # Run bothNew install scripts don't run on their own. Run them by hand:
bash install/cli/some-tool.sh
bash install/optional/steam.shThe ~/.dotfilesrc file holds your settings and secrets. Fish and Zsh load it on startup.
Important
This file is NOT tracked in git. It's safe for secrets and machine-specific settings.
Add secrets like this:
# API keys
export MY_API_KEY="your-secret-key"
export GITHUB_TOKEN="ghp_..."
# Database credentials
export DATABASE_URL="postgresql://user:pass@host/db"| Guide | Description |
|---|---|
| ZSH Shell Guide | Shell startup files, shell types, OS differences |
| AI Resources | Prompts, skills, and agents for AI coding tools |
- Repo goes in
~/.local/share/dotfiles(or set a custom path in.dotfilesrc) - macOS: Xcode Command Line Tools
- Linux: Debian-based distro (apt package manager)