punix help¶
Show the help overview, or print a focused page for a specific topic.
What it does¶
- No argument — prints a short overview (quick-command list, where to go for what) followed by the catalogue of available topic pages.
- With a topic — renders the named markdown topic page to your terminal (ANSI-coloured headings + inline code on a TTY; plain-text but same structure when piped).
- Unknown topic — exits 2 with a message that names every available topic.
The pages live in the wheel itself (importlib.resources lookup) so they ship with every install — no docs-site fetch, no network.
The renderer is hand-rolled (no rich/mistune dep) and handles # / ## / ### headings, **bold**, `inline code`, ``` fenced blocks, - lists, pipe tables (via tabulate), and [label](url) links.
Topics shipped today¶
Topics are listed in reading order (not alphabetical) — start at the top if you're new:
| Topic | Covers |
|---|---|
install-workflow |
one-time setup, install/uninstall/list/profile daily loop |
collections |
packages/official/ + packages/experimental/from-X/ layout, default discovery, promotion |
generations |
atomic flip on install/uninstall, rollback, garbage-collection pinning |
upstream |
meta.upstream declaration, punix upgrade --check-all |
migration |
porting recipes from Homebrew / nixpkgs / slapos into experimental/ |
secrets |
{from_env} / {from_file} references, what's NOT in the cache |
env |
environment variables Punix reads (PUNIX_PACKAGES, PUNIX_STORE_DIR, PATH) |
errors |
[E1]–[E15] cheat sheet with cross-references |
Example¶
$ punix help
punix — typed declarative build & service deployer.
Quick commands:
punix install <pkg> # build + put on $PATH
punix uninstall <pkg> # drop from active profile
punix list # what's installed
punix search <regex> # find packages
punix info <pkg> # recipe metadata + predicted store path
punix upgrade --check-all # report newer upstream versions
punix profile list # generation history
punix profile switch N # atomic rollback to gen-N
Per-command flags: `punix <cmd> --help`.
Concept pages: `punix help <topic>` (topics below).
Full docs: https://punix.lab.abilian.com/cli/
Topics:
collections
errors
generations
install-workflow
migration
secrets
upstream
$ punix help collections | head -3
# Package collections
A Punix repository organizes packages into independent **collections**.
$ punix help nope
error: no such help topic 'nope'. Available: collections, errors,
generations, install-workflow, migration, secrets, upstream
Why punix help and not just --help?¶
--help (built into every command) lists flags and positionals.
punix help covers concepts and workflows that span commands —
things like "what does a generation manifest record?" or "where does
the brew translator put its output?". The two are complementary;
the help pages cross-link via punix help <topic> mentions.
Adding a topic¶
Drop a markdown file into src/punix/help/<topic>.md and it shows
up automatically next install. No code change. The loader picks up
every *.md resource under the package and exposes its filename
stem (lowercase, hyphenated) as the topic name.
See also¶
punix --help— flags / positionals.- CLI overview — every command.