# Install esphome with Homebrew, Nix, pacman

Make creating custom firmwares for ESP32/ESP8266 super easy. Version 2026.6.4 via Homebrew; verified 2026-07-02.

## Install

```sh
sudo av install brew:esphome
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install esphome
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#esphome
```

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

- pacman (92%):

```sh
sudo pacman -S esphome
```

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

## Package facts

- **Package key:** brew:esphome
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/esphome>
- **Version:** 2026.6.4
- **Source summary:** Make creating custom firmwares for ESP32/ESP8266 super easy
- **Homepage:** <https://esphome.io/>
- **Repository:** <https://github.com/esphome/esphome>
- **Upstream docs:** <https://developers.esphome.io/>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/1d/e2/d10f9b8e68374ecb2cc9175e7e1f024aafd0e6a44b146f0af4e8f79dec4d/esphome-2026.6.4.tar.gz>
- **Last updated:** 2026-07-02T21:05:43Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- esphome (cli)
- esphome (alias)

## Dependencies

- certifi
- cryptography
- libyaml
- pillow
- pydantic
- 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: 2026.6.4
- Package-manager updated: 2026-07-02
- Local data: ok
- Upstream repository: https://esphome.io/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

ESPHome is a configuration-driven firmware system for turning ESP32, ESP8266, BK72xx, RP2040, and related microcontroller boards into Home Assistant-friendly smart home devices.

### Project history

Early ESPHome releases used the esphomelib and esphomeyaml names, and the project's own 1.7.0 changelog describes a rapid user increase after a Home Assistant blog post. Over time the project consolidated around ESPHome as the user-facing tool and documentation site.

The core idea stayed unusually package-friendly: users write YAML configuration, ESPHome generates firmware, and that firmware is installed directly onto the device. The official getting started guide describes the system as having a device-side part and a computer-side or builder-side part, which explains why the package is both a CLI tool and an ecosystem around device definitions.

### Adoption history

ESPHome adoption tracks the Home Assistant ecosystem. The 1.7.0 changelog reports a sixfold growth in GitHub clones after Home Assistant coverage, and later documentation frames the ESPHome Device Builder as an easy Home Assistant app for creating, editing, installing, and updating device configurations.

By 2023 the project was extending beyond basic sensors and switches into voice assistant work for Home Assistant Assist, and its release notes announced a dedicated Voice Assistant component. In 2024, Nabu Casa donated ESPHome to the Open Home Foundation, aligning it formally with Home Assistant governance while keeping day-to-day development supported by Nabu Casa.

### How it is used

Users normally create one or more YAML files per device, validate and compile them with the ESPHome tooling or Device Builder, install the generated firmware over USB or serial for first setup, then perform later updates over the air when supported by the device configuration.

The package matters in day-to-day home automation because hardware declared in the YAML configuration, such as sensors, switches, lights, and binary sensors, automatically appears in Home Assistant after the device is installed and connected.

### Why package nerds care

ESPHome is a packaging sweet spot: it turns embedded firmware generation into a host-side CLI package, while also pulling together PlatformIO, microcontroller SDKs, YAML validation, generated C++ code, OTA updates, and Home Assistant discovery into one repeatable workflow.

### Timeline

- 2018: Version 1.7.0 changelog describes esphomelib growth after Home Assistant coverage.
- 2023: Voice Assistant component added for Home Assistant Assist workflows.
- 2024: Nabu Casa donates ESPHome to the Open Home Foundation.

### Related projects

- Home Assistant is the central integration target; ESPHome also sits alongside firmware projects such as Tasmota and Espurna because its documentation includes migration guides from both.

### Sources

- <https://github.com/esphome/esphome>
- <https://esphome.io/guides/getting_started_hassio/>
- <https://esphome.io/changelog/v1.7.0/>
- <https://esphome.io/changelog/2023.4.0/>
- <https://esphome.io/changelog/2024.6.0/>


## Security Notes

No matching local secret-handling manifest was found for esphome. 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: <config-directory>/*.yaml
## Source Database Details

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

## Other Package-Manager Records

- Nix - esphome: normalized package name match | nixpkgs package indexes: pkgs/by-name/es/esphome/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - esphome - 2026.4.5-1: normalized package name match | Arch Linux sync databases: esphome from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Solution for your ESP8266/ESP32 projects with Home Assistant | https://github.com/esphome/ESPHome


## Related links

- [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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service 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.
- [wb32-dfu-updater_cli](https://www.automicvault.com/pkg/brew/wb32-dfu-updater-cli/) - Shares av.db curated category or tags: cli, developer-tools, firmware.
- [wolfmqtt](https://www.automicvault.com/pkg/brew/wolfmqtt/) - Shares av.db curated category or tags: cli, developer-tools, iot.
- [esptool](https://www.automicvault.com/pkg/brew/esptool/) - Shares av.db curated category or tags: cli, developer-tools, esp32, esp8266.
- [mklittlefs](https://www.automicvault.com/pkg/brew/mklittlefs/) - Shares av.db curated category or tags: cli, developer-tools, esp32, esp8266.
- [action-validator](https://www.automicvault.com/pkg/brew/action-validator/) - Shares av.db curated category or tags: cli, developer-tools, yaml.
- [ahoy](https://www.automicvault.com/pkg/brew/ahoy/) - Shares av.db curated category or tags: cli, developer-tools, yaml.
- [butane](https://www.automicvault.com/pkg/brew/butane/) - Shares av.db curated category or tags: cli, developer-tools, yaml.
- [cekit](https://www.automicvault.com/pkg/brew/cekit/) - Shares av.db curated category or tags: cli, developer-tools, yaml.
- [hermes-agent](https://www.automicvault.com/pkg/brew/hermes-agent/) - Both packages touch the same language runtime or ecosystem. Shared terms: automation, certifi, cli, cryptography, developer.
- [gptme](https://www.automicvault.com/pkg/brew/gptme/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, cryptography, developer, developer-tools.

## Combined YAML source

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