본문으로 건너뛰기
cccskills
무료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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekala-project/corepkgs스타 94(GitHub 94 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md2.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekala-project/corepkgs942026년 10월 26일 업데이트

cmake

무료

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekala-project/corepkgs942026년 10월 26일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekala-project/corepkgs942026년 10월 26일 업데이트

go

무료

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekala-project/corepkgs942026년 10월 26일 업데이트

meson

무료

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekala-project/corepkgs942026년 10월 26일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekala-project/corepkgs942026년 10월 26일 업데이트

ekala-project의 스킬 모두 보기

이 스킬의 문제 신고