<< All versions
Skill v1.0.1
currentAutomated scan100/100evanpurkhiser/dots-personal/dotfile-management
2 files
──Details
PublishedAugust 19, 2026 at 04:17 PM
Content Hashsha256:2b94edeb4c446d0a...
Git SHAeca577166fb4
Bump Typepatch
──Files
Files (1 file, 3.8 KB)
SKILL.md3.8 KBactive
SKILL.md · 143 lines · 3.8 KB
version: "1.0.1" name: dotfile-management description: Manage Evan's dotfiles using the dots utility. Use this skill when working with anything in ~/.local/etc or ~/.config.
Dotfile Management Skill
Manage Evan's dotfiles using the dots utility for organizing and installing configuration files.
Overview
Dotfiles are managed in /home/evan/.local/etc (this repository) using the dots utility. The workflow is:
- Edit configuration files in the appropriate group
- Run
dots installto install/update configs - Test the changes
- Repeat until satisfied
- Commit with descriptive message
Repository Structure
/home/evan/.local/etc/├── base/ # Core configs for all environments├── common/ # Platform-specific (osx/linux) and development configs└── machines/ # Machine-specific configurations├── home/ # Home machine configs├── work/ # Work machine configs└── server/ # Server machine configs (current machine)
Active Configuration
Check current profile and groups:
bash
~/.local/bin/dots config active
Current setup:
- Profile:
server - Groups:
base+machines/server
Common Commands
View what will be installed
bash
~/.local/bin/dots files
See differences before installing
bash
~/.local/bin/dots diff
Install/update dotfiles
bash
~/.local/bin/dots install
List available profiles
bash
~/.local/bin/dots config profiles
Switch profile (rare)
bash
~/.local/bin/dots config use <profile>
File Installation
- Default install path:
$HOME/.config(follows XDG Base Directory Standard) - Files can have
.installscripts that run after installation - Files can have
.overridesuffix to completely replace base files - Files without
.overrideare appended/merged with base files
Workflow Guidelines
When editing configs:
- Identify the right group:
base/- Used across ALL machines (bash, vim, etc.)common/development/- Development toolscommon/platform-osx/- macOS-specificmachines/server/- This server only
- Edit the config file in the appropriate location
- Install and test:
``bash ~/.local/bin/dots install # Test the changes ``
- Repeat until satisfied
- Commit with clear message:
``bash git add <files> git commit -m "<component>: <what changed>" # Examples: # "vim: Add stage hunk action" # "bash: Add ft alias for running pnpm test" # "atuin: Use direct server:7070 endpoint" ``
When asked to modify dotfiles:
- DO: Iterate with
dots installbetween changes to test - DO: Use simple, descriptive commit messages
- DO: Edit files in the source groups, not in ~/.config directly
- DON'T: Commit until changes are tested and working
- DON'T: Change profiles/groups unless explicitly needed (rare)
Examples
Adding a bash alias
- Edit
base/bash/aliasesormachines/server/bash/aliases - Run
~/.local/bin/dots install - Test:
source ~/.config/bash/aliases - Commit:
git commit -m "bash: Add new alias for X"
Updating vim config
- Edit
base/vim/vimrc - Run
~/.local/bin/dots install - Test: Open vim and verify
- Commit:
git commit -m "vim: Add/update X configuration"
Server-specific config
- Edit or create file in
machines/server/ - Run
~/.local/bin/dots install - Test the changes
- Commit:
git commit -m "<tool>: Server-specific X"
Important Notes
- The
dotsbinary is at~/.local/bin/dots - Configuration groups cascade (later groups extend/override earlier ones)
- Shebang lines are removed when files are merged/appended
- Installation scripts must be executable and have a shebang
- Always test with
dots installbefore committing