______________________________________________________________________
npx claudepluginhub joshuarweaver/cascade-code-devops-misc-2 --plugin aldoborrero-nix-searchThis skill uses the workspace's default tool permissions.
______________________________________________________________________
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
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.