Skip to content
daniel@cosenza:~/blog
Haiku OSHow-To May 26, 2026 2 min read

How to Install and Manage Software with HaikuDepot and pkgman

A complete walkthrough of both the graphical and command-line paths to installing, updating, and removing software on Haiku.

Haiku offers two interfaces to the same underlying packagefs-based package system: HaikuDepot, a graphical app store, and pkgman, a command-line tool. This covers both, since each is better suited to different situations.

Step 1: browse and install software with HaikuDepot

Applications menu → HaikuDepot

HaikuDepot presents available packages with descriptions, screenshots (where provided), and user ratings — browse by category or search directly, then click Install on any package. Because installation just means activating one more package in packagefs’s merge, this typically completes in seconds regardless of the package’s actual size.

Step 2: check for and apply updates via HaikuDepot

HaikuDepot → Updates tab → Update All
                            (or select individual packages to update)

HaikuDepot shows exactly which installed packages have newer versions available, letting you update everything at once or be selective about it.

Step 3: use pkgman for scripted or command-line workflows

pkgman search <name>          # find a package by name
pkgman install <name>         # install it
pkgman update                 # update all installed packages
pkgman uninstall <name>       # remove a package
pkgman list                   # list currently installed packages

pkgman is the right tool when you’re working from a terminal already, scripting a setup, or on a minimal/headless installation without the graphical desktop running.

Step 4: check for and resolve dependency issues explicitly

pkgman resolve-dependencies

Running this after installing several packages, or if something behaves unexpectedly, surfaces any dependency version mismatches directly — see fixing package conflicts and broken dependencies for a full troubleshooting path if this turns something up.

Step 5: add additional repositories if needed

pkgman list-repos                        # see currently configured repositories
pkgman add-repo <name> <url>             # add another repository

The default Haiku repositories cover a substantial amount of available software, but some packages (particularly newer or more niche software) may only be available through additional community-maintained repositories.

Step 6: roll back a problematic update

pkgman rollback

Because deactivating a package is close to instantaneous under packagefs, rolling back is a low-risk way to undo an update that turns out to cause a problem, without needing to manually reinstall a specific older version from scratch.

Step 7: check what’s installed outside the package system, if relevant

/boot/system/non-packaged/

Software installed manually, outside HaikuDepot/pkgman entirely, lives here rather than mixed into the packagefs-managed portion of /boot/system — worth checking this location specifically if you’re trying to account for software that doesn’t show up in pkgman list.

Why having both a GUI and CLI path matters

HaikuDepot’s browsing and rating-based discovery is genuinely better for finding software you didn’t already know the name of; pkgman’s scriptability is better for repeatable setups, minimal installations, or working entirely from a terminal. Both operate on exactly the same underlying package state, so switching between them as convenient for a given task — rather than needing to commit to one exclusively — carries no real downside.