Nix commands and package management guide. Use when: - Running nix build, nix run - Adding custom packages - Using nurl for hash acquisition
Install
npx skillscat add i9wa4/dotfiles/nix Install via the SkillsCat registry.
SKILL.md
Nix Skill
1. nix build
YOU MUST: Always use
--no-linkoption withnix buildnix build .#rumdl --no-linkIMPORTANT: Without
--no-link, a./resultsymlink is created
2. nix run
IMPORTANT: Packages registered in packages can be run with
nix runnix 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:nix run 'nixpkgs#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
nix run 'nixpkgs#nurl' -- https://github.com/rvben/rumdl v0.0.206IMPORTANT: Output can be used directly in fetchFromGitHub
fetchFromGitHub { owner = "rvben"; repo = "rumdl"; rev = "v0.0.206"; hash = "sha256-XXX..."; }IMPORTANT: For cargoHash/vendorHash, use build error method
(nurl does not support these)