Nix Skill
1. nix build
- •
YOU MUST: Always use
--no-linkoption withnix buildshnix build .#rumdl --no-link
- •
IMPORTANT: Without
--no-link, a./resultsymlink is created
2. nix run
- •
IMPORTANT: Packages registered in packages can be run with
nix runshnix run .#pike -- scan -d ./terraform
3. Adding Custom Packages
- •YOU MUST: See CONTRIBUTING.md section 1.4.2 for adding new custom packages
- •IMPORTANT: Hash acquisition flow
- •Get
hashusing nurl:nurl https://github.com/<owner>/<repo> <tag> - •Get
vendorHash/cargoHashvia build error (got:line)
- •Get
- •IMPORTANT: Add
doCheck = false;if tests fail
4. nurl
- •
IMPORTANT: nurl generates Nix fetcher calls from repository URLs
shnurl https://github.com/rvben/rumdl v0.0.206
- •
IMPORTANT: Output can be used directly in fetchFromGitHub
nixfetchFromGitHub { owner = "rvben"; repo = "rumdl"; rev = "v0.0.206"; hash = "sha256-XXX..."; } - •
IMPORTANT: For cargoHash/vendorHash, use build error method (nurl does not support these)