macOS
brew install ormolulocal Homebrew formula metadata
brew
Formatter for Haskell source code. Version 0.8.1.1 via Homebrew; verified 2026-06-19.
install
brew install ormolulocal Homebrew formula metadata
sudo apk add ormoluAlpine Linux edge package indexes · ormolu · source: dl-cdn.alpinelinux.org
sudo apt install ormoluDebian stable package indexes · ormolu · source: deb.debian.org
sudo dnf install ormoluFedora Rawhide package metadata · ormolu · source: dl.fedoraproject.org
nix profile install nixpkgs#ormolunixpkgs package indexes · ormolu · source: raw.githubusercontent.com
overview
Formatter for Haskell source code
history
Ormolu is a formatter for Haskell source code, developed by Tweag and distributed through Hackage, Stackage, GitHub releases, package managers, and editor integrations. Its defining design choice is a single formatting style with no user style configuration, built on GHC's parser to avoid the parsing gaps that affected older Haskell formatters.
The tweag/ormolu repository was created on 2018-11-25. Tweag announced Ormolu publicly in May 2019, describing a formatter that would use GHC's own parser, aim for minimal diffs, be robust on large projects, and avoid configurable formatting styles.
Tweag announced the first Ormolu release on 2019-10-11. That post said the tool had been run on large real-world projects, legacy codebases, and popular packages, and that the first release formatted Haskell constructs, handled language extensions, placed comments, normalized pragmas and imports, and ran fast enough for large codebases.
The DESIGN.md file records the early analysis of Brittany, Hindent, Stylish Haskell, and haskell-formatter. The design borrowed goals such as preserving meaning when CPP is not used, preserving comments, idempotence, and linear space and time behavior, while avoiding parser bugs from haskell-src-exts.
Ormolu became one of the standard Haskell formatter choices because it paired opinionated formatting with ecosystem integration. The README documents Hackage and Stackage availability, release binaries for Linux, macOS, and Windows, Nix builds, editor integrations for Emacs, VS Code, and Vim, built-in Haskell Language Server support, and a recommended GitHub Action.
Tweag's 2021 internship writing says the use of the GHC parser and testing gave Ormolu a reputation as a dependable tool, with more industrial users choosing it as their Haskell formatter. Later work focused on GHC parser upgrades, Ormolu Live, Cabal-file awareness, CPP handling, and magic comments for disabling formatting regions.
Developers run ormolu on files to print formatted output, use --mode inplace to rewrite files, and use --mode check in CI to fail when code is not formatted. Recursive use is usually via find or git ls-files, while editor and HLS integrations make it part of save-time formatting.
Ormolu reads Cabal files and .ormolu files for technical formatting inputs such as default extensions, package dependencies, fixities, and re-exports, while keeping the main visual style non-configurable. Magic comments let users disable and re-enable formatting for regions that require manual layout.
Ormolu is package-nerd-significant because it captures a language-community shift toward formatter standardization: the package is small, but its value comes from reducing code-review churn, CI disagreement, and style bikeshedding in Haskell projects.
Its distribution footprint is unusually broad for a language formatter: Hackage library and executable, Stackage inclusion, binary releases, Nix support, Homebrew/Linux packages, Haskell Language Server integration, editor plugins, and GitHub Actions.
security posture
No matching local secret-handling manifest was found for ormolu. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
ormolu | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:ormolu |
|---|---|
| Version | 0.8.1.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/ormolu |
| Homepage | https://ormolu-live.tweag.io |
| Repository | https://github.com/tweag/ormolu |
| Upstream docs | https://github.com/tweag/ormolu#readme |
| License | BSD-3-Clause |
| Source archive | https://hackage.haskell.org/package/ormolu-0.8.1.1/ormolu-0.8.1.1.tar.gz |
| Last updated | 2026-06-19T07:52:40Z |
| Pulse | updated |
| Dependencies | gmp |
| Build dependencies | cabal-install, ghc |
| Uses from macOS | libffi |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | ormolu |
| 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 |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
ormolu 0.7.2.0-1+b1
formatter for Haskell source code
https://github.com/tweag/ormolu
sudo apt install ormoluormolu
nix profile install nixpkgs#ormoluormolu 0.5.3.0-1
formatter for Haskell source code
https://github.com/tweag/ormolu
sudo apt install ormoluormolu 0.8.0.2-r0
Formatter for Haskell source code
https://github.com/tweag/ormolu
sudo apk add ormoluormolu-doc 0.8.0.2-r0
Formatter for Haskell source code (documentation)
https://github.com/tweag/ormolu
sudo apk add ormolu-docormolu 0.7.7.0-12.fc45
A formatter for Haskell source code
https://hackage.haskell.org/package/ormolu
sudo dnf install ormolusource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.