dotfiles

Documents GNU Stow package ownership, profiles, and setup script boundaries for the dotfiles repository.

Updated Nov 25, 2024
One-click install
npx skills add https://github.com/cbrostrom/dotfiles --skill dotfiles-cbrostrom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dotfiles
Source: https://github.com/cbrostrom/dotfiles/tree/main/stow/agents/.agents/skills/dotfiles
Command: npx skills add https://github.com/cbrostrom/dotfiles --skill dotfiles-cbrostrom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Editing a dotfiles repository without knowing which files are symlinked by GNU Stow versus managed by setup scripts leads to broken links, lost runtime state, and unsafe changes to a live home directory. ## Core Features & Use Cases - Ownership Map: Explains that stow/<package>/ mirrors $HOME paths owned exclusively by GNU Stow, while setup/ scripts handle mutable state like Pi settings, Cursor hooks, Zed settings, and Paseo plugins. - Profile Guidance: Documents the macos, linux, wsl, server, and cloudbro profiles and the stow.sh plan/apply/remove and install.sh commands. - Safety Protocol: Enforces previewing with ./stow.sh plan, testing with an isolated STOW_TARGET, never using stow --adopt on a real HOME, and verifying every managed link resolves inside the repository. - Use Case: Before adding a new shell configuration, consult this Skill to decide whether it belongs in a Stow package or a setup script, then preview and apply the change safely. ## Quick Start Ask the assistant to explain where a new configuration file belongs in the dotfiles repo and how to apply it with the correct profile.

Frequently Asked Questions about dotfiles

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

FAQPage Schema
How do I safely apply dotfiles with GNU Stow?▼

Run ./stow.sh plan <profile> to preview link changes, then ./stow.sh apply <profile> to create the symlinks. Test structural changes first with STOW_TARGET pointing to a temporary directory, and never use stow --adopt against a real HOME.

What is the difference between Stow packages and setup scripts in dotfiles?▼

Stow packages under stow/<package>/ mirror paths under $HOME and are owned exclusively by GNU Stow as symlinks. Setup scripts under setup/ handle stateful operations that cannot be symlinked, such as merging Pi settings, patching Cursor hooks, and registering Paseo plugins.

Which dotfiles profile should I use for a Linux server?▼

Use the server profile for a minimal shell and shared agent policy, or cloudbro for a lean Linux development box with Pi and a local Paseo daemon. The macos, linux, and wsl profiles target interactive workstations with GUI configuration.

Where do credentials and runtime state go in a Stow-managed dotfiles repo?▼

Credentials, caches, logs, auth files, and machine-local overrides stay outside the repository and are never Stowed. Setup scripts own these mutable effects, while Stow owns only declarative links into $HOME.

Why should stow --adopt never be used on a real home directory?▼

stow --adopt moves existing files from HOME into the repository and replaces them with links, which can silently overwrite tracked content and destroy local state. The Skill mandates previewing with stow.sh plan and testing in an isolated STOW_TARGET instead.