# Install monolith with Homebrew, apk, MacPorts, Nix, pacman, scoop, winget

CLI tool for saving complete web pages as a single HTML file. Version 2.10.1 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#monolith.

## Install

```sh
sudo av install brew:monolith
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install monolith
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install monolith
```

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

### Linux

- apk (92%):

```sh
sudo apk add monolith
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#monolith
```

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

- pacman (92%):

```sh
sudo pacman -S monolith
```

  Evidence: Arch Linux sync databases: monolith from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- Scoop (92%):

```sh
scoop install main/monolith
```

  Evidence: Scoop official bucket manifest trees: bucket/monolith.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id Y2Z.Monolith -e
```

  Evidence: Windows Package Manager source index: Y2Z.Monolith from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:monolith
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/monolith>
- **Version:** 2.10.1
- **Source summary:** CLI tool for saving complete web pages as a single HTML file
- **Homepage:** <https://github.com/Y2Z/monolith>
- **Repository:** <https://github.com/Y2Z/monolith>
- **License:** CC0-1.0
- **Source archive:** <https://github.com/Y2Z/monolith/archive/refs/tags/v2.10.1.tar.gz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- monolith (cli)
- monolith (alias)

## Build dependencies

- pkgconf
- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 2.10.1
- Local data: ok
- Upstream repository: https://github.com/Y2Z/monolith
- Upstream latest detected: v2.10.1 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

Monolith is a Rust CLI and library for saving a web page as a single self-contained HTML document. The project README presents it as an alternative to the browser "Save page as" workflow: instead of writing an HTML file plus a directory of assets, Monolith embeds CSS, images, and JavaScript into one HTML5 file for storage or sharing.

### Project history

The tool appeared in developer and archiving circles by 2019, including a Show HN discussion where users compared it with MHTML, PDF archiving, and browser-extension approaches such as SingleFile. That discussion captures its practical tradeoff: it favors a static, portable HTML artifact that can be searched, copied, and archived, while browser-driven tools may be better for pages that require extensive JavaScript execution before capture.

### How it is used

Monolith's ecosystem role stayed small and focused. It is distributed through Rust's crates.io ecosystem and package managers such as Homebrew, and it was important enough to be compiled into WebAssembly for the separate Monolith of Web Chrome extension. Users reach for it in scripts, personal archival workflows, data-hoarding setups, or reproducible captures where one file is easier to manage than a browser-generated folder tree.

### Sources

- <https://crates.io/crates/monolith>
- <https://github.com/Y2Z/monolith>
- <https://github.com/rhysd/monolith-of-web>
- <https://news.ycombinator.com/item?id=20774322>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** monolith
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - monolith: normalized package name match | nixpkgs package indexes: pkgs/by-name/mo/monolith/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - monolith - 2.10.1-r0: normalized package name match | Alpine Linux edge package indexes: monolith from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | CLI tool for saving complete web pages as a single HTML file | https://github.com/Y2Z/monolith
- pacman - monolith - 2.10.1-1: normalized package name match | Arch Linux sync databases: monolith from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | CLI to save web pages as single HTML files | https://github.com/Y2Z/monolith
- MacPorts - monolith: normalized package name match | MacPorts ports tree: www/monolith/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/monolith: normalized package name match | Scoop official bucket manifest trees: bucket/monolith.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - Y2Z.Monolith: normalized package name match | Windows Package Manager source index: Y2Z.Monolith from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://pkg.so/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://pkg.so/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [pkgconf](https://pkg.so/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://pkg.so/brew/rust/) - Build dependency declared by Homebrew.
- [himalaya](https://pkg.so/brew/himalaya/) - Shares pkgdb curated category or tags: cli, productivity, rust.
- [yazi](https://pkg.so/brew/yazi/) - Shares pkgdb curated category or tags: cli, productivity, rust.
- [fresh-editor](https://pkg.so/brew/fresh-editor/) - Shares pkgdb curated category or tags: cli, productivity, rust.
- [marp-cli](https://pkg.so/brew/marp-cli/) - Shares pkgdb curated category or tags: cli, html, productivity.
- [mdcat](https://pkg.so/brew/mdcat/) - Shares pkgdb curated category or tags: cli, productivity, rust.
- [taskwarrior-tui](https://pkg.so/brew/taskwarrior-tui/) - Shares pkgdb curated category or tags: cli, productivity, rust.
- [pake](https://pkg.so/brew/pake/) - Shares pkgdb curated category or tags: cli, productivity, rust.
- [gdrive](https://pkg.so/brew/gdrive/) - Shares pkgdb curated category or tags: cli, productivity, rust.
- [joshuto](https://pkg.so/brew/joshuto/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, file, productivity, rust.

## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
