managing-chezmoi-packages

Manage packages and external dependencies in a chezmoi dotfiles repository.

9|1|Updated Sep 7, 2025
One-click install
npx skills add https://github.com/martinemde/dotfiles --skill managing-chezmoi-packages
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: managing-chezmoi-packages
Source: https://github.com/martinemde/dotfiles/tree/main/.claude/skills/chezmoi
Command: npx skills add https://github.com/martinemde/dotfiles --skill managing-chezmoi-packages

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines the management of packages, external dependencies, binaries, and CLI tools within a chezmoi dotfiles repository, ensuring security, reproducibility, and automated updates.

Core Features & Use Cases

  • Package Management: Handles adding, updating, and removing packages across various ecosystems (Homebrew, mise, Python, Docker, chezmoi externals).
  • Version Pinning: Enforces immutable references (commit SHAs, specific versions) for all dependencies.
  • Automated Updates: Integrates with Renovate for automated dependency updates.
  • Organization: Organizes external dependencies using the .chezmoiexternals/ directory structure.
  • Use Case: When you need to add a new command-line tool to your development environment, this skill will guide you through selecting the correct package manager, adding the tool with a pinned version, and ensuring it's tracked for future updates.

Quick Start

Use the managing-chezmoi-packages skill to add the 'bat' utility to your system's package manager.

Frequently Asked Questions about managing-chezmoi-packages

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

FAQPage Schema
How do I manage external dependencies and binaries in a chezmoi dotfiles repository?

Managing external dependencies in chezmoi involves organizing files in the `.chezmoiexternals/` directory and updating `.chezmoidata/packages.yaml` to track binaries and CLI tools across ecosystems like Homebrew and Docker.

What is the best way to pin package versions for dotfiles managed with chezmoi?

Pinning package versions in chezmoi requires enforcing immutable references, such as specific versions or commit SHAs, for all dependencies. This ensures reproducibility and security across your development environment.

Can I automate dependency updates for Homebrew and mise packages tracked in chezmoi?

Automating dependency updates for packages like Homebrew and mise is handled by integrating Renovate. This automation keeps your tracked CLI tools and binaries current without manual intervention.

Does chezmoi support organizing external dependencies across different package ecosystems?

Chezmoi supports organizing external dependencies across multiple package ecosystems including Homebrew, mise, Python, and Docker. It selects the appropriate ecosystem when adding or updating tools in your dotfiles.

How do I add a new CLI tool to my chezmoi dotfiles while ensuring it is tracked for updates?

Adding a CLI tool involves selecting the correct package manager, adding the tool with a pinned version to `.chezmoidata/packages.yaml`, and organizing the configuration in `.chezmoiexternals/` to ensure it is tracked for automated updates.

Why use version pinning and `.chezmoiexternals/` for dotfiles package management?

Using version pinning and `.chezmoiexternals/` for dotfiles package management ensures environment reproducibility and security. It creates immutable references for external dependencies, preventing unexpected breaking changes from upstream updates.