# Install gofumpt with Homebrew, Nix, pacman

Stricter gofmt. Version 0.10.0 via Homebrew; verified 2026-05-12.

## Install

```sh
sudo av install brew:gofumpt
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gofumpt
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#gofumpt
```

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

- pacman (92%):

```sh
sudo pacman -S gofumpt
```

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

## Package facts

- **Package key:** brew:gofumpt
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gofumpt>
- **Version:** 0.10.0
- **Source summary:** Stricter gofmt
- **Homepage:** <https://github.com/mvdan/gofumpt>
- **Repository:** <https://github.com/mvdan/gofumpt>
- **Upstream docs:** <https://github.com/mvdan/gofumpt#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/mvdan/gofumpt/archive/refs/tags/v0.10.0.tar.gz>
- **Last updated:** 2026-05-12T18:14:29Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gofumpt (cli)
- gofumpt (alias)

## Dependencies

- go

## 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: 0.10.0
- Package-manager updated: 2026-05-12
- Local data: ok
- Upstream repository: https://github.com/mvdan/gofumpt
- Upstream latest detected: v0.10.0 (current)
## Project history and usage

gofumpt is a stricter Go formatter that remains compatible with gofmt output. It accepts a narrower formatting style and can be used as a drop-in command for formatting Go source.

The project occupies a practical niche between the Go toolchain's conservative formatter and teams that want more consistent source layout without maintaining custom formatter rules.

### Project history

The repository began in March 2019 by importing source from cmd/gofmt and adding the first stricter formatting rules. The README continues to describe the tool as a fork of gofmt with added rules implemented in the format package.

The first release, v0.1.0 in January 2021, documented the features that had worked for more than a year. Later releases track Go formatter changes: v0.3.0 was based on Go 1.18's gofmt, v0.5.0 vendored Go formatting packages for stable behavior across build toolchains, and v0.10.0 was based on Go 1.26's gofmt.

### Adoption history

gofumpt spread through Go editor and CI workflows because it preserves gofmt compatibility while reducing formatting latitude. Its README presents it as a drop-in formatter, and the changelog notes that gopls supports gofumpt natively.

Package-manager adoption followed that formatter role: the input package facts list Homebrew, Nix, and pacman names, reflecting use across developer workstations rather than as a service dependency.

### How it is used

The common command-line pattern is gofumpt -l -w . for listing and rewriting formatted files. The README documents skipped vendor and testdata directories unless passed explicitly, and generated files only receive added rules when passed explicitly.

Teams usually run gofumpt in pre-commit hooks, CI checks, or editor format-on-save paths. Library users can also call the format package when they need gofumpt behavior inside Go tooling.

### Why package nerds care

gofumpt is package-nerd catnip because it is deliberately boring: it extends gofmt without rejecting gofmt's social contract. That made it acceptable in environments where arbitrary style formatters would be too divisive.

Its release history tracks Go's own formatter internals, so package maintainers care about which Go release a gofumpt version is based on. The vendoring change in v0.5.0 is especially important because it made output less dependent on the compiler used to build the binary.

### Timeline

- 2019: Repository starts with cmd/gofmt source and first stricter formatting rules.
- 2021: v0.1.0 documents the first released rule set and deprecates gofumports.
- 2022: v0.3.0 bases the formatter on Go 1.18's gofmt and adds concurrency-related speedups.
- 2023: v0.5.0 vendors Go formatting packages for stable formatter output.
- 2026: v0.10.0 bases the formatter on Go 1.26's gofmt and adds rule selection for extra rules.

### Related projects

- gofmt is the upstream formatter model and source base.
- gopls, the Go language server, provides editor integration that can apply gofumpt behavior.
- goimports is related in editor workflows because it formats Go code while managing imports.

### Sources

- <https://github.com/mvdan/gofumpt>
- <https://github.com/mvdan/gofumpt#readme>
- <https://github.com/mvdan/gofumpt/blob/master/CHANGELOG.md>


## Security Notes

No matching local secret-handling manifest was found for gofumpt. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gofumpt
- **Version Scheme:** 0
- **Revision:** 1
- **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

- Nix - gofumpt: normalized package name match | nixpkgs package indexes: pkgs/by-name/go/gofumpt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - gofumpt - 0.7.0-2: normalized package name match | Arch Linux sync databases: gofumpt from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A strict formatter for Go language | https://github.com/mvdan/gofumpt


## 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.
- [go](https://www.automicvault.com/pkg/brew/go/) - Runtime dependency declared by Homebrew.
- [goimports](https://www.automicvault.com/pkg/brew/goimports/) - Shares av.db curated category or tags: cli, developer-tools, formatter, go.
- [yamlfmt](https://www.automicvault.com/pkg/brew/yamlfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, go.
- [gci](https://www.automicvault.com/pkg/brew/gci/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, go.
- [jsonfmt](https://www.automicvault.com/pkg/brew/jsonfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [jsonpp](https://www.automicvault.com/pkg/brew/jsonpp/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [odinfmt](https://www.automicvault.com/pkg/brew/odinfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [pgformatter](https://www.automicvault.com/pkg/brew/pgformatter/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [rubyfmt](https://www.automicvault.com/pkg/brew/rubyfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [cljfmt](https://www.automicvault.com/pkg/brew/cljfmt/) - Local package facts share a topical domain. Shared terms: cli, code, code-style, developer, developer-tools.
- [erlfmt](https://www.automicvault.com/pkg/brew/erlfmt/) - Local package facts share a topical domain. Shared terms: cli, code, code-style, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/gofumpt.yml](https://github.com/automic-vault/db/blob/main/combined/gofumpt.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
