# Install yamlfix with Homebrew, Nix

Simple and configurable YAML formatter that keeps comments. Version 1.19.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:yamlfix
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install yamlfix
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#yamlfix
```

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

## Package facts

- **Package key:** brew:yamlfix
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/yamlfix>
- **Version:** 1.19.1
- **Source summary:** Simple and configurable YAML formatter that keeps comments
- **Homepage:** <https://lyz-code.github.io/yamlfix/>
- **Repository:** <https://github.com/lyz-code/yamlfix>
- **Upstream docs:** <https://lyz-code.github.io/yamlfix>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://files.pythonhosted.org/packages/93/1d/b60d4411ff495de9b7598cc041e29c661e8e2f9d476a8a09bad1f54c1bce/yamlfix-1.19.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- yamlfix (cli)
- yamlfix (alias)

## Dependencies

- pydantic
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.19.1
- Local data: ok
- Upstream repository: https://lyz-code.github.io/yamlfix/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

yamlfix is a Python YAML formatter focused on applying a consistent style while preserving comments. It is both a command-line tool and a library, aimed at making YAML files more regular without stripping the human annotations that configuration files often rely on.

### Project history

The repository was created on 2020-11-24. The README and documentation describe yamlfix as an opinionated formatter that keeps comments, fixes indentation, adds or removes document starts, normalizes truthy values, adjusts line endings and whitespace, and respects Jinja2 syntax.

The official references section explains the project in relation to an earlier yamlfmt project: yamlfix was created as a new formatter because its author wanted stronger tests, CI, and documentation. It builds on ruyaml for YAML parsing/round-tripping, Click for the CLI, and maison for configuration discovery.

### Adoption history

yamlfix grew in the Python tooling lane rather than the Go single-binary lane. Its docs start with `pip install yamlfix`, but the supplied package data also shows packaging in Homebrew and Nix, making it available to users who curate YAML-heavy repositories from system package managers.

The project is especially relevant where YAML is hand-edited, reviewed, and linted: repository metadata, GitHub Actions, Docker Compose, Kubernetes-adjacent files, and documentation examples. Its promise to keep comments addresses a practical blocker for formatter adoption in configuration files.

### How it is used

The documented CLI accepts files or directories: `yamlfix file.yaml file2.yml` for individual files and `yamlfix .` for recursive formatting. The library API exposes `fix_files` and `fix_code` for embedding the formatter in Python code.

Configuration is loaded from `pyproject.toml`, `.yamlfix.toml`, or `yamlfix.toml`, with optional custom TOML files via `-c` or `--config-file` and environment variable overrides using the `YAMLFIX_` prefix.

### Why package nerds care

yamlfix matters because YAML formatting is harder than it looks: comments, quotes, null spellings, truthy strings, flow versus block sequences, Jinja snippets, and line wrapping all affect whether a formatter is trusted in real repos.

In a package catalog, yamlfix sits next to linters and formatters as the Python/comment-preserving answer to the recurring question: can this YAML be autoformatted without losing the parts humans care about?

### Timeline

- 2020-11-24: GitHub repository created.
- 2020s: Documentation framed yamlfix as a comment-preserving alternative inspired by yamlfmt.
- 2020s: Configuration support settled around pyproject.toml, .yamlfix.toml, yamlfix.toml, custom TOML files, and YAMLFIX_ environment variables.

### Related projects

- The official references name mmlb/yamlfmt, ruyaml, Click, maison, pytest, mypy, Flakeheaven, Black, Autoimport, isort, PDM, MkDocs, Safety, and Bandit.

### Sources

- <https://api.github.com/repos/lyz-code/yamlfix>
- <https://github.com/lyz-code/yamlfix>
- <https://raw.githubusercontent.com/lyz-code/yamlfix/main/README.md>
- <https://raw.githubusercontent.com/lyz-code/yamlfix/main/docs/index.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- 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: pyproject.toml, .yamlfix.toml, yamlfix.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** yamlfix
- **Version Scheme:** 0
- **Revision:** 1
- **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 - yamlfix: normalized package name match | nixpkgs package indexes: pkgs/by-name/ya/yamlfix/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## 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.
- [yamlfmt](https://www.automicvault.com/pkg/brew/yamlfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, yaml.
- [gofumpt](https://www.automicvault.com/pkg/brew/gofumpt/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [goimports](https://www.automicvault.com/pkg/brew/goimports/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [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.
- [autopep8](https://www.automicvault.com/pkg/brew/autopep8/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, formatter, python.
- [black](https://www.automicvault.com/pkg/brew/black/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, formatter, python.
- [darker](https://www.automicvault.com/pkg/brew/darker/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, formatter, python.

## Combined YAML source

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