programs.claude-code.commands
Home-Manager option
Custom commands for Claude Code. The attribute name becomes the command filename, and the value is either: Inline content as a string A path to a file containing the command content Commands are stored in .claude/commands/ directory.
type: attribute set of (strings concatenated with “\n” or absolute path)Default
{ }Example
declared in: <home-manager/modules/programs/claude-code.nix>source unavailable{ changelog = '' --- allowed-tools: Bash(git log:*), Bash(git diff:*) argument-hint: [version] [change-type] [message] description: Update CHANGELOG.md with new entry --- Parse the version, change type, and message from the input and update the CHANGELOG.md file accordingly. ''; fix-issue = ./commands/fix-issue.md; commit = '' --- allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*) description: Create a git commit with proper message --- ## Context - Current git status: !`git status` - Current git diff: !`git diff HEAD` - Recent commits: !`git log --oneline -5` ## Task Based on the changes above, create a single atomic git commit with a descriptive message. ''; }