dotfiles

Provision a reproducible macOS developer environment with dotfiles and installer scripts.

9|1|Updated Mar 2, 2024
One-click install
npx skills add https://github.com/Proteusiq/dotfiles --skill dotfiles-proteusiq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotfiles
Source: https://github.com/Proteusiq/dotfiles/tree/main
Command: npx skills add https://github.com/Proteusiq/dotfiles --skill dotfiles-proteusiq

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires jq, curl, git, brew, uv, cargo, npm, and includes scripts (resource) components.

What problem does it solve?

Centralizes repository-specific knowledge and automates the repetitive, error-prone steps required to bootstrap and maintain a consistent macOS developer environment, making machine setup and tool provisioning predictable and idempotent.

Core Features & Use Cases

  • Declarative Package Manifest: Uses a Brewfile as the primary manifest to install Homebrew formulae, casks, and taps so environments match across machines.
  • Modular Installer & Version Tracking: install.sh coordinates staged functions (xcode, brew, node, venvs, tmux, yazi, utilities, stow) with TRACKED_TOOLS for before/after version summaries.
  • Dotfiles Management with GNU Stow: Provides a documented stow flow and package layout to symlink shell, editor, and tool configuration into the home directory.
  • Use Case: Onboard a new Mac by cloning the repo, running the bootstrap script, and using the update CLI to maintain and selectively update tool groups.

Quick Start

Clone this repository to ~/dotfiles and run the installer script ./install.sh to bootstrap the macOS developer environment.

Frequently Asked Questions about dotfiles

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bootstrap a new macOS developer environment with Homebrew and dotfiles?

To bootstrap a macOS developer environment, clone the repository to ~/dotfiles and run ./install.sh. This executes staged functions to install Homebrew packages, language runtimes, and symlink configurations using GNU Stow.

What is GNU Stow used for when managing dotfiles?

GNU Stow is used to symlink shell, editor, and tool configuration files from the repository into the home directory. This provides a documented, modular package layout for managing dotfiles without manually creating symlinks.

Can I use a Brewfile to ensure Homebrew installations match across different Mac machines?

Yes, the skill uses a Brewfile as a declarative package manifest to install Homebrew formulae, casks, and taps. This ensures environments match across machines by making package provisioning predictable and idempotent.

Does this macOS provisioning script support idempotent installs and tool version tracking?

Yes, the installer script coordinates staged functions and uses TRACKED_TOOLS to generate before and after version summaries. This ensures idempotent installs and tracks tool versions across brew, uv, cargo, and git.

Do I need to install dependencies like jq, curl, and git before running the bootstrap script?

The bootstrap script coordinates the installation of required tools like brew, uv, cargo, and npm. Prerequisites such as curl and git are expected on the macOS system to clone the repository and run the installer.

What is the best way to selectively update tool groups after the initial macOS setup?

The best way to selectively update tool groups is by using the update CLI. It exposes modular staged functions, allowing you to maintain and selectively update specific tools rather than running the full bootstrap process again.