Skip to content
cccskills
FreePublished on GitHub

validation

Validate a package change before committing. Use after editing any Nix expression — covers the evaluation, build, and format checks, reading common eval and build errors, and the full pre-commit checklist.

The English summary is being prepared. Showing the original description.

ekala-project/corepkgs94 stars(GitHub 94 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Package Validation

All package changes must pass three validation steps:

1. Evaluation Check

Verify Nix expression evaluates correctly:

nix-instantiate -A <package-name>

Expected: /nix/store/abc123...-package-1.0.0.drv

For non-derivations:

nix-instantiate --eval -A <attribute>

2. Build Check

Verify package builds successfully:

nix-build -A <package-name>

Expected: result symlink to /nix/store/xyz789...-package-1.0.0

Inspect results:

ls -la result/
./result/bin/example --version
ldd result/lib/libexample.so

3. Format Check

Ensure code follows formatting standards:

nix fmt <path-to-file>

Format all modified files:

git diff --name-only '*.nix' | xargs -I {} nix fmt {}

Checking Dependencies

Verify dependencies exist before porting:

# Single dependency
nix-instantiate -A zlib

# Multiple dependencies
for dep in acl lzo cmocka zlib zstd; do
  echo -n "$dep: "
  nix-instantiate -A $dep >/dev/null 2>&1 && echo "✓" || echo "✗"
done

DO NOT search top-level.nix with grep. Packages in pkgs/ and pkgs-many/ are auto-registered.

Common Errors

Evaluation Errors

Missing dependency:

error: attribute 'somelib' missing

Port the dependency or add TODO comment.

Syntax error:

error: syntax error, unexpected ')'

Fix the syntax in the Nix expression.

Build Errors

Missing build tool:

error: Program 'pkg-config' not found

Add to nativeBuildInputs.

Missing library:

/nix/store/.../bin/ld: cannot find -lz

Add to buildInputs.

Test failures: Tests are disabled by default. Investigate or keep disabled.

Complete Validation Workflow

# Validate a package
PACKAGE="example"

# 1. Evaluate
nix-instantiate -A $PACKAGE

# 2. Build
nix-build -A $PACKAGE

# 3. Test result
./result/bin/$PACKAGE --version

# 4. Format
nix fmt pkgs/$PACKAGE/default.nix

Validation Checklist

  • nix-instantiate -A <package> succeeds
  • nix-build -A <package> succeeds
  • Built binary/library works
  • All dependencies verified with nix-instantiate
  • nix fmt run on all edited files
  • No meta.maintainers or meta.teams
  • TODO comments for missing dependencies

Advanced Validation

Check closure size:

nix-store -q --tree $(nix-build -A example --no-out-link)

Check runtime dependencies:

nix-store -q --references $(nix-build -A example --no-out-link)

Rebuild from scratch:

nix-build -A example --rebuild

Reproducibility check:

nix-build -A example --check

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Review a package expression for best-practices compliance. Use when reviewing PRs or auditing existing packages — checks meta completeness, build-system idioms (cmakeEntries, mesonEntries, pyproject), dependency placement, and packaging conventions.

The English summary is being prepared. Showing the original description.

ekala-project/corepkgs94Updated Oct 26, 2026

cmake

Free

Package a CMake-based project for corepkgs. Use when a source tree has a CMakeLists.txt — covers the minimal derivation, cmakeEntries, cross-compilation, and diagnosing CMake configure failures.

The English summary is being prepared. Showing the original description.

ekala-project/corepkgs94Updated Oct 26, 2026

Fix all broken package builds in the repository. Runs a full build of ci/packages.nix in the background while iterating on failures in the foreground until everything builds.

The English summary is being prepared. Showing the original description.

ekala-project/corepkgs94Updated Oct 26, 2026

go

Free

Package a Go module for corepkgs. Use when writing or editing a buildGoModule derivation — covers vendorHash, ldflags, subPackages, tags, env.CGO_ENABLED, proxyVendor, shell completions, and pinning a Go version.

The English summary is being prepared. Showing the original description.

ekala-project/corepkgs94Updated Oct 26, 2026

meson

Free

Package a Meson/Ninja project for corepkgs. Use when a source tree has a meson.build — covers mesonFlags, auto features, cross-compilation, and diagnosing Meson setup failures.

The English summary is being prepared. Showing the original description.

ekala-project/corepkgs94Updated Oct 26, 2026

Work with multi-version packages under pkgs-many (guile, go, erlang, perl, openssl, ...). Use when adding or changing a package that ships several versions side by side — covers the default.nix/variants.nix/generic.nix three-file pattern, the packageOlder/packageAtLeast version helpers, and mkVariantPassthru.

The English summary is being prepared. Showing the original description.

ekala-project/corepkgs94Updated Oct 26, 2026

See all skills by ekala-project

Report a problem with this skill