# Install buku with Homebrew, apk, apt, dnf, MacPorts, Nix

Powerful command-line bookmark manager. Version 5.1 via Homebrew; verified 2026-07-10. Also installable with debian: sudo apt install buku.

## Install

```sh
sudo av install brew:buku
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install buku
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install buku
```

  Evidence: MacPorts ports tree: python/buku/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add buku
```

  Evidence: Alpine Linux edge package indexes: buku from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install buku
```

  Evidence: Debian stable package indexes: buku from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install buku
```

  Evidence: Fedora Rawhide package metadata: buku from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#buku
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bu/buku/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:buku
- **Package manager:** Homebrew
- **Version:** 5.1
- **Source summary:** Powerful command-line bookmark manager
- **Homepage:** <https://github.com/jarun/buku>
- **Repository:** <https://github.com/jarun/buku>
- **Last updated:** 2026-07-10T16:25:07-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- buku (alias)
- bukuserver (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 5.1
## Project history and usage

buku is a command-line bookmark manager built around a private, portable SQLite bookmark database. It sits in the Unix tradition of personal information tools that are scriptable, editor-friendly, and intentionally local-first.

### Project history

The `jarun/buku` repository was created on 2015-11-01. In the README, the author explains that buku was written because they could not find a flexible command-line bookmark manager with a private, portable, mergeable database and seamless GUI integration.

Over time buku grew beyond simple URL storage into a bookmark database with browser import, automatic title/tag/description fetching, regex and fielded search, Wayback Machine lookups, import/export formats, manual encryption, shell completion, a Python API, and the optional `bukuserver` web UI.

### Adoption history

buku's adoption followed the path of many beloved CLI productivity tools: distribution through PyPI and operating-system package managers, then auxiliary frontends and integrations around the core database. The input package facts list Homebrew, Debian, Ubuntu, Fedora, Alpine, MacPorts, Nix, and PyPI-adjacent installation routes.

The upstream README lists related projects such as a browser WebExtension, rofi frontend, search-as-you-type CLI frontend, and Android app, plus press/tutorial mentions. That ecosystem points to adoption by users who wanted browser bookmarks to become a portable, searchable personal dataset.

### How it is used

Users add, edit, tag, search, open, import, export, and refresh bookmarks from the terminal. Common workflows include importing browser bookmarks, adding URLs with fetched metadata, searching by tags or URL/title/comment markers, exporting subsets to HTML/XBEL/Markdown/Org/RSS, and using an editor for bookmark entry.

`bukuserver` gives users a local web UI, while the Python API and related tools allow custom integrations. The database location can be redirected through `BUKU_DEFAULT_DBDIR` or XDG paths, which makes syncing and backups straightforward.

### Why package nerds care

buku is package-nerd catnip because it turns a browser-owned feature into a plain local database with a normal CLI. It is small enough to understand, useful enough to package everywhere, and scriptable enough to become part of shell workflows.

Its charm is that it treats bookmarks like data: searchable, exportable, mergeable, syncable, and private by default rather than bound to one browser profile or cloud account.

### Timeline

- 2015: Public `jarun/buku` repository is created.
- 2010s: buku gains packaging across Python and Linux/macOS package managers.
- 2010s: Related projects appear around browser integration, rofi, Android, and web UI workflows.
- 2026: The repository remains active and continues to document package-manager installation and a broad feature set.

### Related projects

- buku is related to `bukuserver`, bukubrow, oil, buku_run, buku-dmenu, buku-android, browser bookmark import/export formats, SQLite, PyPI packaging, and XDG data-directory conventions.

### Sources

- <https://api.github.com/repos/jarun/buku>
- <https://buku.readthedocs.io/en/latest>
- <https://github.com/jarun/buku#readme>
- <https://github.com/jarun/buku/wiki>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for buku. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: $BUKU_DEFAULT_DBDIR/bookmarks.db, $XDG_DATA_HOME/buku/bookmarks.db, ~/.local/share/buku/bookmarks.db, ./bookmarks.db
- Windows: %APPDATA%\buku\bookmarks.db, .\bookmarks.db
## Other Package-Manager Records

- Debian apt - buku - 4.9+ds-1: normalized package name match | Debian stable package indexes: buku from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Powerful command-line bookmark manager | https://github.com/jarun/Buku
- Nix - buku: normalized package name match | nixpkgs package indexes: pkgs/by-name/bu/buku/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - buku - 4.8+ds-1: normalized package name match | Ubuntu 24.04 LTS package indexes: buku from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Powerful command-line bookmark manager | https://github.com/jarun/Buku
- apk - buku - 5.1.1-r0: normalized package name match | Alpine Linux edge package indexes: buku from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Cmdline bookmark management utility | https://github.com/jarun/Buku
- apk - buku-bash-completion - 5.1.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for buku | https://github.com/jarun/Buku
- apk - buku-doc - 5.1.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Cmdline bookmark management utility (documentation) | https://github.com/jarun/Buku
- apk - buku-fish-completion - 5.1.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for buku | https://github.com/jarun/Buku
- apk - buku-pyc - 5.1.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for buku | https://github.com/jarun/Buku
- apk - buku-zsh-completion - 5.1.1-r0: normalized package name match | Alpine Linux edge package indexes: buku-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for buku | https://github.com/jarun/Buku
- dnf - buku - 4.9-5.fc45: normalized package name match | Fedora Rawhide package metadata: buku from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Powerful command-line bookmark manager | https://github.com/jarun/Buku
- MacPorts - buku: normalized package name match | MacPorts ports tree: python/buku/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/buku.yml](https://github.com/mxcl/pkgdb/blob/main/combined/buku.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
