# Install gersemi with Homebrew, Nix, winget

Formatter to make your CMake code the real treasure. Version 0.27.7 via Homebrew; verified 2026-05-28.

## Install

```sh
sudo av install brew:gersemi
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gersemi
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#gersemi
```

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

### Windows

- winget (92%):

```sh
winget install --id BlankSpruce.Gersemi -e
```

  Evidence: Windows Package Manager source index: BlankSpruce.Gersemi from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:gersemi
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gersemi>
- **Version:** 0.27.7
- **Source summary:** Formatter to make your CMake code the real treasure
- **Homepage:** <https://github.com/BlankSpruce/gersemi>
- **Repository:** <https://github.com/BlankSpruce/gersemi>
- **Upstream docs:** <https://github.com/BlankSpruce/gersemi#readme>
- **License:** MPL-2.0
- **Source archive:** <https://files.pythonhosted.org/packages/01/45/93f06bcc8fd631e50875ae70c542de7a46e6a06b9e19f39fb903b61e8ac8/gersemi-0.27.7.tar.gz>
- **Last updated:** 2026-05-28T21:43:39Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gersemi (cli)
- gersemi (alias)

## Dependencies

- libyaml
- python@3.14

## Build dependencies

- rust

## 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.27.7
- Package-manager updated: 2026-05-28
- Local data: ok
- Upstream repository: https://github.com/BlankSpruce/gersemi
- info: No cached GitHub release or tag data was available.
## Project history and usage

gersemi is a Python-based formatter for CMake source files. It targets CMakeLists.txt, CMakeLists.txt.in, .cmake, and .cmake.in files, and aims to provide a low-configuration formatting style for build-system code.

### Project history

The gersemi repository was opened in 2020. Its README describes a formatter that can be installed from PyPI, run as a command-line tool, configured with `.gersemirc`, and integrated into pre-commit through a dedicated hook repository.

### Adoption history

gersemi fills a practical niche for projects that already enforce code style but also want deterministic formatting for CMake files. Package availability through Homebrew, Nix, and Windows package metadata reflects use beyond direct PyPI installs.

### How it is used

Practitioners run gersemi in check, in-place, or diff mode across files or directories. The tool discovers common CMake file names, reads formatting configuration from `.gersemirc` or command-line flags, supports custom command definitions and extensions, and can be used in pre-commit hooks.

### Why package nerds care

For package-manager users, gersemi is useful because it brings Black-like formatting habits to CMake projects through a single CLI. It is especially handy in CI and pre-commit setups where reproducible formatting matters more than editor-specific integrations.

### Timeline

- 2020: The gersemi repository was opened on GitHub.
- 2020s: The README documents PyPI installation, CLI modes, `.gersemirc`, pre-commit integration, extensions, cache support, and ignore-file handling.

### Related projects

- CMake, pre-commit, PyPI, gersemi-pre-commit

### Sources

- <https://api.github.com/repos/BlankSpruce/gersemi>
- <https://github.com/BlankSpruce/gersemi>
- <https://github.com/BlankSpruce/gersemi-pre-commit>
- <https://raw.githubusercontent.com/BlankSpruce/gersemi/master/README.md>


## Security Notes

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



## 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: .gersemirc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gersemi
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - gersemi: normalized package name match | nixpkgs package indexes: pkgs/by-name/ge/gersemi/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- winget - BlankSpruce.Gersemi: normalized package name match | Windows Package Manager source index: BlankSpruce.Gersemi from https://cdn.winget.microsoft.com/cache/source.msix


## 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.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [black](https://www.automicvault.com/pkg/brew/black/) - Shares av.db curated category or tags: cli, code-formatting, code-style, developer-tools, formatter.
- [djhtml](https://www.automicvault.com/pkg/brew/djhtml/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, pre-commit.
- [isort](https://www.automicvault.com/pkg/brew/isort/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, pre-commit.
- [darker](https://www.automicvault.com/pkg/brew/darker/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, python.
- [ktfmt](https://www.automicvault.com/pkg/brew/ktfmt/) - Shares av.db curated category or tags: cli, code-formatting, code-style, developer-tools, formatter.
- [reorder-python-imports](https://www.automicvault.com/pkg/brew/reorder-python-imports/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, pre-commit, python.
- [scalariform](https://www.automicvault.com/pkg/brew/scalariform/) - Shares av.db curated category or tags: cli, code-formatting, code-style, developer-tools, formatter.
- [swiftformat](https://www.automicvault.com/pkg/brew/swiftformat/) - Shares av.db curated category or tags: cli, code-formatting, code-style, developer-tools, formatter.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
