# Install nmstatectl with Homebrew

Command-line tool that manages host networking settings in a declarative manner. Version 2.2.61 via Homebrew; verified 2026-07-13.

## Install

```sh
sudo av install brew:nmstatectl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install nmstatectl
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:nmstatectl
- **Package manager:** Homebrew
- **Version:** 2.2.61
- **Source summary:** Command-line tool that manages host networking settings in a declarative manner
- **Homepage:** <https://nmstate.io/>
- **Repository:** <https://github.com/nmstate/nmstate>
- **Last updated:** 2026-07-13T12:48:17Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- nmstatectl (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.2.61
## Project history and usage

nmstatectl is the command-line front end to Nmstate, a declarative API and library for describing and applying Linux host network state.

### Project history

Nmstate grew around the idea that host networking should be described as desired state rather than a series of imperative commands. The official project describes a predefined schema where both current state and desired state conform to the same model, with NetworkManager as the main southbound provider.

The nmstatectl tool exists for users who want to try or operate Nmstate without writing directly against libnmstate. It exposes show, edit, apply, rollback, and commit workflows using YAML or JSON state files.

### Adoption history

Nmstate's adoption story is strongest in enterprise Linux. Red Hat documents it in RHEL networking guides as a declarative network manager API with atomic and transactional operations, partial editing, and plugin support. Fedora documentation and articles also present it as an Infrastructure-as-Code-friendly approach to host networking.

The ecosystem extends beyond the CLI. The upstream README lists Rust, Python, Go, and C bindings, and the nmstate organization also maintains Kubernetes-oriented declarative node-networking work. That makes nmstatectl both a standalone admin command and a diagnostic/manual entry point into a larger network-state stack.

### How it is used

Practical nmstatectl use starts with nmstatectl show to inspect YAML state, then nmstatectl apply state.yaml to converge the system toward a desired configuration. Operators use it for Ethernet, bonds, bridges, VLANs, routes, DNS, and similar host-network declarations where a checked-in YAML file is clearer than a sequence of nmcli commands.

The rollback behavior is a major package-nerd detail: by default, if the applied state does not verify against the desired state, nmstatectl rolls back. For risky remote-network changes, the manual transaction flow with apply --no-commit, commit, and rollback gives administrators a guardrail against locking themselves out.

### Why package nerds care

nmstatectl is significant because it turns Linux host networking into data. That makes it fit config management, CI validation, RHEL system roles, and Kubernetes-node workflows better than one-off command transcripts.

### Timeline

- {'event': "The upstream README installation note names Fedora 29+ as a supported package target, anchoring Nmstate's early Linux distribution integration.", 'year': '2018'}
- {'date': '2021-08-09', 'event': 'Fedora Magazine published a practical introduction to Nmstate as a declarative networking configuration tool.'}

### Related projects

- NetworkManager
- libnmstate
- RHEL network system role
- kubernetes-nmstate

### Sources

- <https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/assembly_introduction-to-nmstate_configuring-and-managing-networking>
- <https://fedoramagazine.org/nmstate-a-declarative-networking-config-tool/>
- <https://github.com/nmstate/kubernetes-nmstate>
- <https://github.com/nmstate/nmstate>
- <https://nmstate.io/>
- <https://nmstate.io/cli_guide.html>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
