punix info¶
Show recipe metadata and the predicted store path for a single module.
What it does¶
- Loads + type-checks
FILE(or discovers it from$PUNIX_PACKAGESor./packages/when omitted). - Evaluates
<MODULE>__pname,<MODULE>__version,<MODULE>__recipe,<MODULE>__deps,<MODULE>__meta, and the realise binding<MODULE>__out(predicted store path; no actual build). - Annotates with
installed: yes — gen-NNNifMODULEis in the active profile.
Example¶
$ cd ~/projects/my-pcl-tree
$ punix info Ripgrep
module: Ripgrep
pname: ripgrep
version: 14.1.0
recipe: std.shell
description: fast recursive grep
homepage: https://github.com/BurntSushi/ripgrep
license: MIT
build_system: cargo
origin: brew-import
deps: rustc-bootstrap
store_path: /Users/me/.punix/store/abcd…-ripgrep-14.1.0
installed: yes — gen-003 (active)
The store path is computed via the dry-run adapter (RealiseDryRun) — same canonical-derivation hash as the real build, no I/O.
Options¶
--file FILE— explicit PCL file or directory; overrides the default discovery.--store-root PATH— store location (default~/.punix/store).--profile-root PATH— profile root (default~/.punix/current).--scenario NAME— evaluate under scenarioNAME.
Errors¶
| Symptom | Cause |
|---|---|
error: 'X' is not a package module in FILE (norecipefield) (exit 1) |
The named module exists but has no recipe — it's a config-only module. Use punix why FILE X.field to inspect plain values. |
Type-check errors ([E#]) |
The PCL tree doesn't type-check; surfaces as the same located error you'd get from punix check. |
See also¶
punix why— drill into one specific field's provenance chain.punix store path— predicted store path only, no metadata.punix list/punix search— discover modules.