nmstatectl(8)
πΈ NAME πΈ
okay so bestie, welcome to nmstatectl β it's the nmstate command line tool, and it's literally the moment π
β¨ SYNOPSIS β¨
nmstatectl show [INTERFACE_NAME] [--json]
nmstatectl show [-r, --running-config]
nmstatectl set STATE_FILE_PATH [OPTIONS]
nmstatectl apply STATE_FILE_PATH [OPTIONS]
nmstatectl edit [INTERFACE_NAME] [OPTIONS]
nmstatectl gc [STATE_FILE_PATH] [OPTIONS]
nmstatectl rollback [CHECKPOINT_PATH]
nmstatectl commit [CHECKPOINT_PATH]
nmstatectl service [-c, --config <CONFIG_FOLDER>]
nmstatectl statistic STATE_FILE_PATH [-c, --current
<CURRENT_STATE_FILE>]
nmstatectl version
no cap, that's the whole vibe menu π«Ά
π¦ DESCRIPTION π¦
nmstatectl exists for the girlies (and everyone else) who wanna try out nmstate without dragging libnmstate into it. it's giving "just let me poke at my network, please" β¨
π show
Queries the current network state, bestie. YAML is the default output format β that's the standard, no notes π
. If you want JSON instead, pass the --json argument and watch it switch up.
Wanna limit the output to just certain interfaces? Say less β just specify the interface name. BUT β οΈ heads up: global config like DNS will be included anyway. Also, nmstatectl s is an aliased command for nmstatectl show (iykyk, short and cute).
Got multiple interface names? Separate them with commas, periodt. You can also use patterns for interface names:
*β matches everything?β matches any single character[seq]β matches any character inseq[!seq]β matches any character not inseq
For example, to show all interfaces starting with eth:
nmstatectl show eth\*
# The backslash is required to stop shell expanding '*' to
file names.
like, do NOT forget that backslash or your shell will eat your glob alive π
π set
okay so "Set" command is deprecated β please consider using "apply" instead, bestie, it's the glow-up version.
It applies the network state from the specified file in YAML or JSON format. By default, if the network state after the state is applied is not identical to the desired state, nmstatectl rolls back to the state before the set command. Wanna skip the verification? Use the --no-verify argument π
β apply
Applies the network state from the specified file in YAML or JSON format β this is the main character, honestly π. Same deal as above: by default, if the network state after the state is applied is not identical to the desired state, nmstatectl rolls back to the state before the set command. Use --no-verify to skip the verification.
And nmstatectl a is an aliased command for nmstatectl apply β short queen π
π§ edit
nmstatectl will invoke the text editor defined by the environment variable EDITOR so you can edit the network state in YAML format. Once you quit the text editor, nmstatectl will try to apply it using "nmstatectl set".
If there's any syntax error, you'll be asked to edit again (annoying but honestly fair π). Multiple interfaces are supported β check show for the deets.
By default, if the network state after the state is applied is not identical to the desired state, nmstatectl rolls back to the state before the edit command. Use --no-verify to skip the verification.
π«Ά manual transaction control
nmstatectl supports manual transaction control, which lets you decide whether to roll back to the previous (before "nmstatectl set/edit") state. you're in charge, bestie π
π rollback
Rolls back the network state from the specified checkpoint file. If you don't define one as an argument, nmstatectl will just take the latest checkpoint β lazy girl friendly β¨
π gc
Generates configuration files for the specified network state file(s) π. The output will be a dictionary with the plugin name as key and a tuple as value. That tuple holds the configuration file name and the configuration content.
β οΈ real talk: the generated configuration is not saved into the system. Users have to do it by themselves after referring to the network backend. it's giving DIY, not auto-save π
πΈ commit
Commits the current network state. If you don't define a checkpoint as an argument, nmstatectl will take the latest checkpoint.
π¦ version
Displays the nmstate version β¨
π service
Applies all network state files ending with .yml in the specified folder (default: /etc/nmstate). Please refer to manpage nmstate.service(8) for detail, bestie π«Ά
π statistic
Generates statistic for the specified network state files. Multiple desire state files are supported π
. The --current <CURRENT_STATE_FILE> argument could instruct nmstate to read the current network state from the specified file instead of querying the current host β iconic.
π OPTIONS π
--jsonβ changes the output format to JSON β¨-r,--running-configβ shows the running network configuration π-s,--show-secretsβ shows it with the secrets. By default though, nmstate is masking the passwords by<_password_hid_by_nmstate>π«£--no-verifyβ skips the desired network state verification. no thoughts, no checks π--no-commitβ creates a checkpoint which later could be used for rollback or commit. The checkpoint will be the last line ofnmstatectloutput, example:/org/freedesktop/NetworkManager/Checkpoint/1π--memory-onlyβ all the changes done will be non-persistent; they're going to be removed after rebooting. gone, reduced to atoms π--timeout=<TIMEOUT>β the user must commit the changes withintimeout, or they will be automatically rolled back. Default:60seconds β°--override-ifaceβ if defined when applying network state:- For
interfacessection, any defined interface will be configured by the desired state information only; undefined properties of this interface will use the default value instead of merging from the current state. - For other sections, no changes to their original behavior.
- For
For example, if the desired interface has no IPv4 section defined, nmstate will treat it as disabled regardless of the current network status. it's giving "we're doing it MY way" π
--versionβ displays the nmstate version β¨
π LIMITATIONS π
- Maximum supported number of interfaces in a single desire state is
1000. that's the limit, bestie, don't push it π
π₯ BUG REPORTS π₯
Report bugs on nmstate GitHub issues https://github.com/nmstate/nmstate. don't suffer in silence, tell the maintainers π«Ά
π COPYRIGHT π
License Apache-2.0 https://www.apache.org/licenses/LICENSE-2.0 β legal girl summer π
π SEE ALSO π
and that's the whole page! this was nmstatectl from the nmstatectl man page, version 2.2.62, dated October 16, 2026 β go configure something cute, bestie, you got this π¦β¨π
π¦ where this page comes from
- centos-stream 10: nmstate 2.2.62-4.el10 Β· Apache-2.0 AND LGPL-2.1-or-later
- centos-stream 9: nmstate 2.2.62-3.el9 Β· LGPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms