# Install hindent with Homebrew, MacPorts, pacman, apt

Haskell pretty printer. Version 6.3.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:hindent
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install hindent
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install hindent
```

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

### Linux

- pacman (92%):

```sh
sudo pacman -S hindent
```

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

- Ubuntu apt (92%):

```sh
sudo apt install hindent
```

  Evidence: Ubuntu 24.04 LTS package indexes: hindent from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

## Package facts

- **Package key:** brew:hindent
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/hindent>
- **Version:** 6.3.0
- **Source summary:** Haskell pretty printer
- **Homepage:** <https://github.com/mihaimaruseac/hindent>
- **Repository:** <https://github.com/mihaimaruseac/hindent>
- **Upstream docs:** <https://github.com/mihaimaruseac/hindent#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/mihaimaruseac/hindent/archive/refs/tags/v6.3.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- hindent (cli)
- hindent (alias)

## Dependencies

- gmp

## Build dependencies

- cabal-install
- ghc@9.12

## Uses from macOS

- libffi

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 6.3.0
- Local data: ok
- Upstream repository: https://github.com/mihaimaruseac/hindent
- Upstream latest detected: v6.3.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

hindent is a Haskell pretty-printer and source formatter distributed as both a Haskell package and a CLI executable. Its package-manager role is straightforward: it gives editors, hooks, and shell pipelines a stable `hindent` command for reformatting Haskell source.

### Project history

The repository history begins on 2014-08-24 with a first commit and rapid follow-up commits for printer structure, expression constructors, pattern support, declarations, where clauses, and a basic executable. The first visible tag, 1.0, followed on 2014-08-30, and the project iterated quickly through 2.x, 3.x, and 4.x tags in late 2014.

Hackage describes hindent as an extensible Haskell pretty printer, both a library and an executable, and points users to the GitHub repository for usage. Over time the package continued through 5.x and 6.x releases while tracking parser and language-extension needs in the Haskell ecosystem.

### Adoption history

hindent's adoption is tied to Haskell editor and build workflows. Its README documents use in pipeline style, Emacs `hindent-mode`, Vim `formatprg`, a Vim plugin, and JetBrains File Watchers. Hackage lists the package under development, library, and program tags, which reflects its dual role as code and executable.

The package appears in Homebrew, MacPorts, Arch, Ubuntu, Hackage, and Stackage contexts, making it familiar to developers who expect language formatters to be installable from their OS or language package manager.

### How it is used

The basic usage model is `cat path/to/sourcefile.hs | hindent` or passing filenames to the CLI. Options cover line length, indent or tab size, import sorting, trailing newline behavior, validation, and GHC language extensions.

The README documents project- or home-level `.hindent.yaml` customization with indentation, line length, import sorting, line breaks, and extensions. Editor integrations use the same CLI, so the package works without a separate daemon or language-server dependency.

### Why package nerds care

hindent matters to package nerds because it is a classic formatter package: tiny surface area, editor-friendly, pipeline-friendly, and available in multiple package systems. It represents the era when language communities standardized formatting through standalone executables before formatter support was expected inside every language server.

It is also a useful Haskell packaging specimen because it lives simultaneously on Hackage and GitHub, depends on parser libraries, and must follow language evolution as GHC syntax grows.

### Timeline

- 2014-08-24: Repository history begins with the first commit.
- 2014-08-30: 1.0 is tagged.
- 2014-09: 2.x and 3.x releases are tagged during rapid early development.
- 2014-11: 4.0 is tagged.
- 2026-01-24: Hackage records upload of hindent 6.3.0.

### Related projects

- Hackage and Stackage are the package registry and curated package-set surfaces where many Haskell developers encounter hindent.
- Editor integrations include the repository's Emacs mode, Vim `formatprg`, vim-hindent, and JetBrains File Watchers.
- Related Haskell formatting tools include stylish-haskell, ormolu, fourmolu, and brittany, though hindent's official materials focus on its own formatter and editor integrations.

### Sources

- Hackage package page for package description, versions, maintainer, upload, source repo, license, and distribution context.
- Official Git repository tags and commits for early timeline.
- Official README for usage, editor integration, and customization.


## 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:** hindent
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Ubuntu apt - hindent - 5.3.4-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: hindent from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Extensible Haskell pretty printer | https://github.com/mihaimaruseac/hindent
- pacman - hindent - 6.1.1-38: normalized package name match | Arch Linux sync databases: hindent from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Extensible Haskell pretty printer | https://github.com/mihaimaruseac/hindent
- MacPorts - hindent: normalized package name match | MacPorts ports tree: textproc/hindent/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cabal-install](https://www.automicvault.com/pkg/brew/cabal-install/) - Build dependency declared by Homebrew.
- [ghc@9.12](https://www.automicvault.com/pkg/brew/ghc-9-12/) - Build dependency declared by Homebrew.
- [findent](https://www.automicvault.com/pkg/brew/findent/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, source-code.
- [ormolu](https://www.automicvault.com/pkg/brew/ormolu/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, haskell.
- [scalariform](https://www.automicvault.com/pkg/brew/scalariform/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, source-code.
- [swift-format](https://www.automicvault.com/pkg/brew/swift-format/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, source-code.
- [air](https://www.automicvault.com/pkg/brew/air/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [alejandra](https://www.automicvault.com/pkg/brew/alejandra/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [astyle](https://www.automicvault.com/pkg/brew/astyle/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [black](https://www.automicvault.com/pkg/brew/black/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [google-java-format](https://www.automicvault.com/pkg/brew/google-java-format/) - Local package facts share a topical domain. Shared terms: cli, code, code-formatting, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/hindent.yml](https://github.com/automic-vault/db/blob/main/combined/hindent.yml)


## Sources

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