Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/AnimatedGTVR/abora-os/llms.txt

Use this file to discover all available pages before exploring further.

TinyPM v4 is the app-installation and package-source layer for Abora OS. Its job is simple: give users a single grab command that figures out the best available package source automatically, and provide a system-aware bridge to the ANIX and Abora tools that live alongside it. TinyPM is powered by Parcel, the core engine that handles backend detection, multi-source installs, and system identification.

Mental Model

The three Abora tools divide responsibility clearly so they do not step on each other:
ToolResponsibility
TinyPMApp installs, package sources, system bridge
ANIXNixOS profiles, config changes, rollbacks, snapshots
AboraDistro-layer setup, health checks, recovery, updates
On Abora and other NixOS-family systems, TinyPM detects Nix as the native backend and prefers it for package installs. System-level changes — rebuilds, profile switches, generation rollbacks — still belong in ANIX and Abora.
Run tinypm sources as your first command after a fresh install. It shows exactly which backends are available on your system before you try to install anything.

Quick Start

tinypm sources          # check which backends are available
grab firefox            # install through the best available source
tinypm system           # show Abora/NixOS/ANIX system bridge status
tinypm doctor           # run health checks

Main Commands

grab

Install an app or package through the best available source. The primary TinyPM command.

tinypm search

Search for a package across native, Flatpak, and Snap sources simultaneously.

tinypm list

List installed packages from available sources.

tinypm remove

Remove a package. Supports the same source flags as grab.

tinypm update

Update package sources across all available backends.

tinypm info

Show tracking metadata and install status for a specific package.

tinypm managed

Show the packages TinyPM has tracked across all backends.

tinypm sources

Show which native, Flatpak, and Snap sources are available and configured on this system.

tinypm repair

Run repair-focused doctor checks to fix broken or misconfigured package sources.

tinypm system

Show the Abora/NixOS/ANIX system bridge status: OS layer, native PM, config dir, flake state, and command availability.

tinypm anix

Forward a command to ANIX. Any anix command can be called through this bridge.

tinypm abora

Forward a command to the Abora tool layer. Any abora command can be called through this bridge.

tinypm discover

Browse the curated TinyPM app catalog. Accepts an optional search query to filter results.

tinypm version

Print the installed TinyPM version. Quick alias: tinypm v.

Parcel --version

Show the engine name, runtime version, and a full system report. Use this to confirm which TinyPM version and backend are active.

Command Reference

Installing Packages

The primary install command is grab. It chooses the best available backend automatically and prompts you if more than one valid source exists.
grab firefox
grab blender
grab discord
Force a specific source with a flag:
# Force native (Nix on Abora)
grab -n git
grab --native git

# Force Flatpak
grab -f org.mozilla.firefox
grab -flat org.mozilla.firefox
grab -flatpak org.mozilla.firefox

# Force Snap
grab -s code
grab --snap code
The long-form tinypm install also accepts the same flags:
tinypm install --nix ripgrep
tinypm install --flatpak org.gimp.GIMP

Searching and Listing

tinypm search blender       # search all sources for "blender"
tinypm list                 # list installed packages
tinypm list -f              # list Flatpak packages only
tinypm managed              # show TinyPM-tracked packages
tinypm info firefox         # show tracking and install status

Updating and Removing

tinypm update               # update all sources
tinypm remove htop          # remove a package
tinypm remove -f org.gimp.GIMP

Discover

tinypm discover             # browse the curated TinyPM app catalog
tinypm discover blender     # filter the catalog by query

State Export and Import

tinypm export-state         # export TinyPM-tracked package state to a file
tinypm export-state my.json # export to a named file
tinypm import-state my.json # import a previously exported state file

Version and Diagnostics

tinypm version              # print the installed TinyPM version
tinypm sources              # show available backends
tinypm doctor               # run health checks
tinypm doctor --fix         # attempt automatic repair
tinypm repair               # repair-focused checks (alias for doctor --fix flow)
tinypm system               # show OS/ANIX/Abora bridge status
Parcel --version            # engine version and system report

Quick Aliases

TinyPM ships short single-letter and short-word aliases for all common commands:
AliasEquivalent
tinypm i <pkg>tinypm install <pkg>
tinypm s <query>tinypm search <query>
tinypm r <pkg>tinypm remove <pkg>
tinypm utinypm update
tinypm lstinypm list
tinypm srctinypm sources
tinypm fixtinypm repair
tinypm systinypm system
tinypm ax <cmd>tinypm anix <cmd>
tinypm vtinypm version
tinypm i firefox
tinypm s blender
tinypm r htop
tinypm u
tinypm ls
tinypm v
tinypm src
tinypm fix
tinypm sys
tinypm ax doctor

Supported Package Sources

Parcel detects and supports the following native package managers automatically:
ManagerDistro family
nixAbora OS, NixOS, any NixOS-family system
aptDebian, Ubuntu, and derivatives
dnfFedora, RHEL, and derivatives
pacmanArch Linux and derivatives
xbpsVoid Linux
zypperopenSUSE
apkAlpine Linux
emergeGentoo (Portage)
brewmacOS / Linux Homebrew
In addition to native managers, TinyPM supports:
  • Flatpak — sandboxed app installs from Flathub and other remotes
  • Snap — Canonical’s universal package format
On Abora and NixOS-family systems, TinyPM identifies nix as the native backend. Systems with ID=abora, ID=nixos, or ID_LIKE=nixos in /etc/os-release are all treated as NixOS-family. The syspm command on Abora routes through the Nix path.

Abora and ANIX Bridge

TinyPM does not rebuild the OS or switch NixOS profiles. Instead it delegates to the tools that own those operations, so you can access everything from a single command surface.
# Show full system bridge status
tinypm system

# ANIX commands via TinyPM
tinypm anix status
tinypm anix save
tinypm anix switch nix gaming
tinypm anix doctor

# Abora commands via TinyPM
tinypm abora doctor
tinypm abora recovery
tinypm abora update
The bridge commands call anix or abora directly. If the tool is not available on your system, TinyPM prints a clear error explaining what is missing.

How the Bridge Works

tinypm system prints a structured report that shows the OS layer, native package manager, install strategy, config directory, flake state, generation state, and availability of abora, anix, nix, and nixos-rebuild. This report is what drives the bridge logic.
tinypm system
Example output fields:
Parcel system layer
------------------------------------------------------------
  system             Abora OS
  os                 Abora Linux
  native_pm          nix
  strategy           Nix profile packages, with Abora/ANIX system tools available
  config_dir         /etc/nixos
  flake              present
  generation         active
  abora              available
  anix               available
  nix                available
  nixos-rebuild      available

Installing TinyPM

On an installed Abora system with anix.tinypm.enable = true in your anix.nix, TinyPM installs itself automatically on first login via a systemd user service. No manual steps are needed. To install manually from the vendored source included in the Abora repository:
cd vendor/tinypm
TINYPM_FLAVOR=abora ./install.sh
The installer creates the following commands under ~/.local/bin:
CommandRole
tinypm / tinyMain CLI
grabInstall-first entrypoint
ParcelEngine version and system report
syspmNative-only wrapper
versionQuick version check
After installing, open a new shell or run hash -r, then test with:
grab firefox
tinypm system
tinypm doctor
Parcel --version
To run TinyPM directly from the vendor directory without installing:
vendor/tinypm/tinypm --version
vendor/tinypm/tinypm sources
vendor/tinypm/tinypm system
vendor/tinypm/scripts/e2e-smoke.sh
The ANIX and Abora bridge commands (tinypm anix, tinypm abora) only work on an installed Abora system where those tools are present. On a live ISO or a plain NixOS install without the Abora toolchain, the bridge will tell you what is missing rather than silently doing nothing.

Build docs developers (and LLMs) love