Skip to content

punix uninstall

Remove a module from the active per-user profile.

punix uninstall MODULE [options]

What it does

  1. Reads the active generation's installed_modules list.
  2. Writes a new generation whose symlink farm omits every binary contributed by MODULE.
  3. Atomically flips <profile-root> to point at the new generation.

The prior generation stays on disk under <parent>/profiles/gen-NNN/ so punix profile switch N rolls back instantly.

The module's content-addressed store path is not touchedpunix store gc reclaims it later if no live generation pins it. Uninstall is a "delist", not a "delete."

Example

$ punix install just
installed just  1 binary in ~/.punix/current/bin

$ punix install atuin
installed atuin  2 binaries in ~/.punix/current/bin
  atuin
  just

$ punix uninstall just
uninstalled just  dropped 1 symlink; profile now at gen-003

$ ls ~/.punix/current/bin/
atuin                  # just is gone; atuin's symlink still active

$ punix profile switch 2
switched to gen-002    # just is back

Options

  • --profile-root PATH — profile root (default ~/.punix/current).

Errors

Symptom Cause
error: no active profile at <path> (nothing installed) (exit 2) ~/.punix/current doesn't exist yet — install at least one module first.
error: 'X' is not installed in the active profile. Installed: … (exit 2) The named module isn't in the current generation's installed_modules. The error message lists what IS installed.

See also