# 使用 Homebrew, apk, apt, dnf, MacPorts, Nix 安装 ormolu

查看 ormolu 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:ormolu
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install ormolu
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ormolu
```

  证据: MacPorts ports tree: devel/ormolu/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ormolu
```

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

- Debian apt (92%):

```sh
sudo apt install ormolu
```

  证据: Debian stable package indexes: ormolu from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install ormolu
```

  证据: Fedora Rawhide package metadata: ormolu 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#ormolu
```

  证据: nixpkgs package indexes: ormolu from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

## 软件包事实

- **软件包键:** brew:ormolu
- **软件包管理器:** Homebrew
- **版本:** 0.8.2.0
- **来源摘要:** Formatter for Haskell source code
- **主页:** <https://ormolu-live.tweag.io>
- **仓库:** <https://github.com/tweag/ormolu>
- **最后更新:** 2026-07-27T16:22:18Z
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- ormolu (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 0.8.2.0
## 项目历史与用法

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.

### 时间线

- 2018-11-25: tweag/ormolu repository created on GitHub.
- 2019-05-27: Tweag announced Ormolu before ZuriHac 2019.
- 2019-10-11: Tweag announced the first Ormolu release.
- 2021-04: Tweag described follow-up work around parser upgrades, bugs, and industrial use.
- 2021-10: Tweag described internship work on Ormolu Live, Cabal-file support, CPP handling, and magic comments.

### Related projects

- Related Haskell formatting tools include Brittany, Hindent, Stylish Haskell, haskell-formatter, and Fourmolu. Related infrastructure includes GHC, ghc-lib-parser, Hackage, Stackage, Haskell Language Server, ormolu-action, and Ormolu Live.

### 来源

- <https://api.github.com/repos/tweag/ormolu>
- <https://formulae.brew.sh/formula/ormolu>
- <https://github.com/tweag/ormolu>
- <https://github.com/tweag/ormolu/blob/master/DESIGN.md>
- <https://hackage.haskell.org/package/ormolu>
- <https://tweag.io/blog/2019-05-27-ormolu/>
- <https://tweag.io/blog/2019-10-11-ormolu-first-release/>
- <https://tweag.io/blog/2021-04-23-ormolu-intership/>
- <https://tweag.io/blog/2021-10-28-hacking-on-ormolu/>


## 安全说明

没有找到 ormolu 的匹配本地密钥处理 manifest。Nucleus 软件包元数据仍在此发布，以便未来覆盖拥有稳定的软件包 URL。


## 其他软件包管理器记录

- Debian apt - ormolu - 0.7.2.0-1+b1: normalized package name match | Debian stable package indexes: ormolu from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | formatter for Haskell source code | https://github.com/tweag/ormolu
- Nix - ormolu: normalized package name match | nixpkgs package indexes: ormolu from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - ormolu - 0.5.3.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: ormolu from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | formatter for Haskell source code | https://github.com/tweag/ormolu
- apk - ormolu - 0.8.1.1-r0: normalized package name match | Alpine Linux edge package indexes: ormolu from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Formatter for Haskell source code | https://github.com/tweag/ormolu
- apk - ormolu-doc - 0.8.1.1-r0: normalized package name match | Alpine Linux edge package indexes: ormolu-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Formatter for Haskell source code (documentation) | https://github.com/tweag/ormolu
- dnf - ormolu - 0.7.7.0-13.fc45: normalized package name match | Fedora Rawhide package metadata: ormolu from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | A formatter for Haskell source code | https://hackage.haskell.org/package/ormolu
- MacPorts - ormolu: normalized package name match | MacPorts ports tree: devel/ormolu/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/ormolu.yml](https://github.com/mxcl/pkgdb/blob/main/combined/ormolu.yml)


## 来源

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