# 使用 Homebrew, Nix 安装 fourmolu

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

## 安装

```sh
sudo av install brew:fourmolu
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install fourmolu
```

  证据: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#fourmolu
```

  证据: nixpkgs package indexes: pkgs/by-name/fo/fourmolu/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:fourmolu
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/fourmolu>
- **版本:** 0.20.0.0
- **来源摘要:** Formatter for Haskell source code
- **主页:** <https://fourmolu.github.io/>
- **仓库:** <https://github.com/fourmolu/fourmolu>
- **上游文档:** <https://fourmolu.github.io/>
- **许可证:** BSD-3-Clause
- **源码归档:** <https://hackage.haskell.org/package/fourmolu-0.20.0.0/fourmolu-0.20.0.0.tar.gz>
- **最后更新:** 2026-07-22T05:23:32Z
- **已生成:** 2026-08-04T22:13:35+00:00

## 可执行文件

- fourmolu (cli)
- fourmolu (别名)

## 依赖

- gmp

## 构建依赖

- cabal-install
- ghc

## macOS 提供的库

- libffi

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-08-04
- 管理器版本: 0.20.0.0
- 管理器更新时间: 2026-07-22
- 本地数据: OK
- 上游仓库: https://fourmolu.github.io/
- 信息: Release/tag comparison is only available for GitHub repositories.
## 项目历史与用法

Fourmolu is a formatter for Haskell source code. It is an Ormolu fork that keeps Ormolu's parser-driven, idempotent formatting goals while adding configurable style options through CLI flags and `fourmolu.yaml`.

### 项目历史

The repository was created in 2020 and describes itself as a fork of Ormolu with upstream improvements continually merged. The official README frames the project around one key departure from Ormolu: replacing the no-configuration style rule with configurable parameters.

The changelog shows a pattern of adding Fourmolu-specific configuration while also importing upstream Ormolu changes, including parser updates, formatting fixes, and support for new GHC language features.

### 采用历史

Fourmolu is adopted by Haskell projects that want automatic formatting but need policy knobs that Ormolu intentionally avoids. The README documents installation through GHCup, Cabal, Stack, release notes, editor integration through Haskell Language Server, and CI through the recommended `run-fourmolu` GitHub Action.

### 使用方式

Users run `fourmolu Module.hs` to print formatted output, `fourmolu -i` to rewrite files, or `fourmolu --mode check` in CI. Configuration can be written in `fourmolu.yaml`, discovered from parent directories and the XDG config directory, or passed as command-line options.

### 为什么软件包爱好者会关心

Fourmolu is a package-nerd case study in formatter governance. It forked an intentionally opinionated tool not to change the parser architecture, but to change the social contract around style configuration, while still tracking upstream Ormolu.

### 时间线

- 2020: The public `fourmolu/fourmolu` repository was created.
- 2023: v0.13.x and v0.14.x releases continued the configurable formatter line.
- 2024: v0.16.x added explicit configuration-file selection and upstream parser updates.
- 2025: v0.19.0.0 added options such as `haddock-location-signature` and `if-style`.
- 2026: v0.20.0.0 made Fourmolu installable with GHCup and added more import-grouping and record-style configuration.

### Related projects

- Fourmolu is directly related to Ormolu, GHC, ghc-lib-parser, Cabal, Stack, GHCup, Haskell Language Server, Hackage, and the `run-fourmolu` GitHub Action.

### 来源

- <https://api.github.com/repos/fourmolu/fourmolu>
- <https://api.github.com/repos/fourmolu/fourmolu/releases>
- <https://fourmolu.github.io/>
- <https://fourmolu.github.io/changelog/>
- <https://fourmolu.github.io/config/>
- <https://github.com/fourmolu/fourmolu>
- <https://raw.githubusercontent.com/fourmolu/fourmolu/main/README.md>


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals


## 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: fourmolu.yaml
## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** fourmolu
- **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

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

- Nix - fourmolu: normalized package name match | nixpkgs package indexes: pkgs/by-name/fo/fourmolu/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## 相关链接

- [Source-control packages](https://pkg.so/zh-hans/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://pkg.so/zh-hans/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://pkg.so/zh-hans/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://pkg.so/zh-hans/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cabal-install](https://pkg.so/zh-hans/brew/cabal-install/) - Build dependency declared by Homebrew.
- [ghc](https://pkg.so/zh-hans/brew/ghc/) - Build dependency declared by Homebrew.
- [scalariform](https://pkg.so/zh-hans/brew/scalariform/) - Shares pkgdb curated category or tags: cli, developer-tools, formatter, source-code.
- [hindent](https://pkg.so/zh-hans/brew/hindent/) - Shares pkgdb curated category or tags: cli, developer-tools, formatter, haskell, source-code.
- [swift-format](https://pkg.so/zh-hans/brew/swift-format/) - Shares pkgdb curated category or tags: cli, developer-tools, formatter, source-code.
- [goimports](https://pkg.so/zh-hans/brew/goimports/) - Shares pkgdb curated category or tags: cli, developer-tools, formatter.
- [ktfmt](https://pkg.so/zh-hans/brew/ktfmt/) - Shares pkgdb curated category or tags: cli, developer-tools, formatter.
- [ormolu](https://pkg.so/zh-hans/brew/ormolu/) - Shares pkgdb curated category or tags: cli, developer-tools, formatter, haskell.
- [haskell-language-server](https://pkg.so/zh-hans/brew/haskell-language-server/) - Shares pkgdb curated category or tags: cli, developer-tools, haskell.
- [dfmt](https://pkg.so/zh-hans/brew/dfmt/) - Shares pkgdb curated category or tags: cli, developer-tools, formatter, source-code.
- [cgrep](https://pkg.so/zh-hans/brew/cgrep/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, code, developer, developer-tools, gmp.

## Combined YAML source

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


## 来源

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