Skip to content

gcuth/.dotfiles

Repository files navigation

.dotfiles

dotfiles made painless and idempotent with dotbot.

Quick Start

Fresh macOS machine (run from any terminal):

curl -fsSL https://raw.githubusercontent.com/gcuth/.dotfiles/master/bootstrap | bash

This installs Xcode CLI Tools, Homebrew, clones the repo to ~/.dotfiles, runs the full installer, and optionally configures macOS system preferences.

Already cloned (re-run anytime — it's idempotent):

cd ~/.dotfiles && ./install

What's Included

Category Details
Shell Zsh + Starship prompt, aliases, completions
Git Global config, aliases, GPG signing, pre-commit hooks
Editors Neovim, Zed (settings + keymap)
CLI tools ripgrep, fzf, jq, tmux, gh, pandoc, and more via Homebrew
Languages Python, Node (nvm), Ruby (rbenv), Rust, Java, Clojure
Apps iTerm2, Docker, Obsidian, Signal, 1Password, and others via Homebrew Cask
Fonts Fira Code, Hack Nerd Font, B612
Snippets Espanso text expansion (dates, email, name)
Cron jobs Music logging, writing progress tracking, log rotation
Scripts dotfiles-health, dotfiles-diff, backup-status, rotate-logs, and more in ~/.local/bin/

Repository Structure

.dotfiles/
├── bootstrap          # Fresh machine setup (curl-friendly)
├── install            # Main installer (invokes Dotbot)
├── install.conf.yaml  # Dotbot config: symlinks, packages, cron jobs
├── aliases            # Shell aliases (~230 lines, 7 categories)
├── profile            # Login shell profile
├── starship.toml      # Starship prompt config
├── zsh/               # zshrc, zprofile, completions
├── git/               # gitconfig, gitignore, hooks
├── zed/               # Zed editor settings + keymap
├── scripts/           # Utility scripts (symlinked to ~/.local/bin/)
├── snippets/          # Espanso text expansion configs
├── macos/             # macOS system preferences script
├── applescripts/      # AppleScript/JXA automation
├── dotbot/            # Dotbot framework (submodule)
├── dotbot-brew/       # Homebrew plugin (submodule)
└── crontab-dotbot/    # Cron plugin (submodule)

Useful Commands

dotfiles-health          # Verify setup: commands, symlinks, cron, git
dotfiles-diff            # Check for drift between repo and live config
brewup                   # Update + upgrade + cleanup Homebrew

How It Works

The install script runs Dotbot with two plugins (dotbot-brew, crontab-dotbot). All configuration lives in install.conf.yaml, which:

  1. Creates directories (~/.local/bin/, ~/Developer/, ~/Logs/, etc.)
  2. Symlinks all config files to their expected locations
  3. Installs Homebrew packages and casks
  4. Registers cron jobs

Everything is symlinked, so this repo is the single source of truth — edit here, not in ~/.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors