______________________________________________________________________
How this skill is triggered — by the user, by Claude, or both
Slash command
/aldoborrero-nix-search:nix-searchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
______________________________________________________________________
Use the nix-search CLI tool to search packages, options, and flakes from search.nixos.org. Run searches proactively whenever you need package information - don't ask permission for read-only searches.
When users ask "what package provides X?" or need a specific binary:
nix-search -p <program-name>
Examples:
nix-search -p gcc - Find package providing gcc compilernix-search -p terraform - Find Terraform packagenix-search -p "aws*" - Find AWS-related programs (wildcards supported)After finding: Provide installation commands based on context.
When writing Nix code or verifying exact package names:
nix-search -n <package-name>
Examples:
nix-search -n python3 - Find python3 packagenix-search -n "emacsPackages.*" - Find Emacs packages (wildcards supported)nix-search -n terraform - Get exact attribute nameAfter finding: Use the attribute name directly in Nix code.
For general discovery when users describe what they need:
nix-search "<description keywords>"
Examples:
nix-search "python linter" - Find Python linting toolsnix-search "web browser" - Find browser packagesnix-search golang - Find Go-related packagesAfter finding: Show relevant options, let user clarify if needed.
When users ask about system configuration:
nix-search -t options "<option-pattern>"
Examples:
nix-search -t options "networking.firewall" - Find firewall optionsnix-search -t options "services.nginx" - Find nginx configuration optionsnix-search -t options boot - Find boot-related optionsAfter finding: Provide configuration.nix example with the option.
When users need to discover flakes:
nix-search -t flakes <query>
Examples:
nix-search -t flakes wayland - Find Wayland-related flakesnix-search -t flakes home-manager - Find home-manager flakesWhen architecture matters:
nix-search --platform <arch> <query>
Platforms: x86_64-linux, aarch64-linux, aarch64-darwin, x86_64-darwin, i686-linux, armv7l-linux, riscv64-linux, powerpc64le-linux
Example:
nix-search --platform aarch64-darwin python3 - Check if Python 3 is available for Apple SiliconTo check specific NixOS releases:
nix-search -c <channel> <query>
Common channels: unstable, 24.11, 24.05, 23.11, 23.05
Example:
nix-search -c 24.05 firefox - Find Firefox in stable 24.05nix-search -c unstable nodejs - Find latest Node.jsTo find or verify specific versions:
nix-search <package> -v "<version-pattern>"
Examples:
nix-search golang -v "1.21" - Find Go version 1.21nix-search terraform -v "1.*" - Find Terraform 1.x versionsAfter running searches, take appropriate action based on context:
Detect: Editing flake.nix or user asks to modify flake Action: Insert package attribute directly into code
# User: "Add terraform to my devShell"
# → Run: nix-search -n terraform
# → Insert into flake.nix:
{
devShells.default = pkgs.mkShell {
packages = with pkgs; [
terraform
];
};
}
Detect: Editing configuration.nix or user asks about system packages Action: Add to environment.systemPackages or appropriate service configuration
# User: "Install firefox system-wide"
# → Run: nix-search -n firefox
# → Insert:
environment.systemPackages = with pkgs; [
firefox
];
Detect: User asking "how do I install X?" or "what package has Y?" Action: Show package info with installation commands
# User: "How do I install gcc?"
# → Run: nix-search -p gcc
# → Response:
The gcc package provides the GCC compiler collection.
Install temporarily (for current shell):
nix shell nixpkgs#gcc
Install persistently:
nix profile install nixpkgs#gcc
Or add to your flake.nix or configuration.nix
Detect: Questions about "how do I configure X?" or "what's the option for Y?" Action: Provide configuration example
# User: "How do I enable the firewall?"
# → Run: nix-search -t options "networking.firewall.enable"
# → Response:
Add to your configuration.nix:
networking.firewall.enable = true;
networking.firewall.allowedTCPPorts = [ 80 443 ];
Detect: Questions about "is X available for Y?" or "what version of Z?" Action: Check across channels/platforms and report
# User: "Is Python 3.12 available for ARM?"
# → Run: nix-search --platform aarch64-linux python3 -v "3.12"
# → Report availability and recommend channel if needed
nix-search -p X or nix-search Xnix-search -p Ynix-search -n Z to verify package existsnix-search -t options "services.W"nix-search --platform <arch> XRun searches without announcing them. Just show results or integrate into code/answers.
Use -d flag when user needs more details:
nix-search -d python3
For programmatic parsing (rare, only if needed for complex logic):
nix-search --json python3
For advanced scenarios (pagination, complex filtering, JSON parsing), see references/search-patterns.md.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub joshuarweaver/cascade-code-devops-misc-2 --plugin aldoborrero-nix-search