Overview
The nm package provides a Dart client for connecting to NetworkManager, a system service that manages network connections on Linux. It enables Flutter applications running on Linux to programmatically query and control network interfaces, Wi-Fi networks, and connection settings. This package is particularly useful for desktop Linux apps requiring network configuration capabilities. It leverages the D-Bus interface used by NetworkManager, offering a clean, Dart-friendly API for developers. The package is maintained by Canonical and is designed specifically for Linux platforms.
Use cases
- Managing Wi-Fi connections in Linux desktop apps
- Programmatically configuring network interfaces
- Monitoring network status and connectivity
- Integrating network controls into system utilities
- Automating network setup workflows
Key features
- D-Bus integration with NetworkManager
- Type-safe Dart API for network operations
- Linux-specific platform support
- Real-time network state monitoring
- Support for Wi-Fi and wired connection management
Suitable for
- Linux desktop application developers
- System-level network tools
- Apps requiring direct NetworkManager access
- Developers building network configuration UIs
- Canonical ecosystem projects
Considerations
- Limited to Linux platforms only
- Requires NetworkManager service to be running
- Needs proper D-Bus permissions
- May require elevated privileges for certain operations
- Dependent on NetworkManager's D-Bus API stability