Claude Code Plugins

Community-maintained marketplace

Feedback

Nix Packaging

@breakds/claude.bds
0
0

Package new software or update existing packages using Nix

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Nix Packaging
description Package new software or update existing packages using Nix

Overview

Create new Nix packages or update existing ones, with language-specific examples and guidance.

Workflow: Creating a New Package

  1. Identify the software source: internal to this repo or external (e.g., a GitHub repository).
  2. Determine the programming language(s) used.
  3. Analyze the software structure (build system, dependencies, configuration files).
  4. Create the package following language-specific guidance below.
  5. Optionally, integrate the package into the current project (e.g., add to overlay and expose via packages in flake.nix).
  6. Test iteratively: run nix build .#<package-name>, read errors, fix issues, and rebuild until successful.

Workflow: Updating an Existing Package

Typically, update the version and source fetching attributes (e.g., fetchFromGitHub). The hash field must also be updated using one of these methods:

Method 1: Calculate the new hash directly

# Get the hash
nix-prefetch-url --type sha256 --unpack https://github.com/owner/repo/archive/refs/tags/v<NEW_VERSION>.tar.gz
# Convert to SRI format
nix hash convert --hash-algo sha256 <old-hash>

Method 2: Let Nix tell you the hash Set hash = ""; and run the build. The error message will display the correct hash.

For language-specific update steps, see the references below.

Language-Specific Packaging Skills