dotfiles
Update home-manager/dotfiles configuration. Use when asked to bump dotfiles, update home-config, refresh home-manager, or similar requests about the dev environment configuration.
When & Why to Use This Skill
This Claude skill automates the maintenance of Nix-based development environments by streamlining the update process for home-manager and dotfiles. It handles complex workflows including Nix flake input updates, Git version control management, and environment deployment, ensuring developer workspaces remain synchronized and up-to-date with minimal manual intervention.
Use Cases
- Scenario 1: Automatically bumping the home-manager configuration to the latest version from a remote repository to sync new environment settings.
- Scenario 2: Managing Nix flake lock files across multiple host configurations (like 'ratched') to ensure dependency consistency within a dev-sandbox.
- Scenario 3: Executing a full 'update-commit-push-deploy' cycle for system dotfiles through a single natural language command.
| name | dotfiles |
|---|---|
| description | Update home-manager/dotfiles configuration. Use when asked to bump dotfiles, update home-config, refresh home-manager, or similar requests about the dev environment configuration. |
Dotfiles / Home-Manager Update
Updates the home-manager configuration (dotfiles) for the dev-sandbox environment. The home-config input in clusters/bedlam/flake.nix points to github:gisikw/config.
Steps
1. Update the cluster flake input
nix flake update home-config --flake ./clusters/bedlam
Updates clusters/bedlam/flake.lock with the latest commit.
2. Update ratched's flake lock
nix flake update --flake ./clusters/bedlam/hosts/ratched
Even though ratched has home-config.follows = "cluster/home-config", each flake's lock captures its own resolved state. Cannot use nix flake update home-config here since home-config is a follows directive, not a direct input.
3. Commit and push
git add clusters/bedlam/flake.lock clusters/bedlam/hosts/ratched/flake.lock
git commit -m "chore: Bump home-config to <short-sha>"
git push
4. Deploy
just deploy ratched
Waits for comin to fetch, build, and activate. Dev environment will have updated dotfiles after completion.