Skip to content

SubZ69/nmlinkd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nmlinkd

License: MIT Release AUR

NetworkManager D-Bus bridge for netlink-based network stacks.

Overview

nmlinkd exposes the NetworkManager D-Bus API by reading network state directly from the Linux kernel via netlink. This allows desktop environments to display network status without requiring NetworkManager itself. Works with any network configuration (systemd-networkd, dhcpcd, iwd, manual, etc).

Why nmlinkd?

Many desktop environments rely on NetworkManager's D-Bus API to display network status. If you prefer a different network manager (systemd-networkd, dhcpcd, iwd) or manual configuration, you lose UI integration.

nmlinkd solves this by acting as a read-only NetworkManager API server, reading state from the kernel and presenting it in a format desktop environments expect.

Screenshot

Features

Should work with desktop environments that use the NetworkManager D-Bus API (GNOME, KDE Plasma, Cinnamon, Budgie, MATE, COSMIC).

  • Network status indicator icon in GNOME Shell / KDE
  • Enable/disable interfaces
  • Connection details
  • WireGuard interfaces (toggle on/off)
  • Hotplug interfaces support
  • D-Bus activated (starts automatically when needed)

Installation

Arch Linux (AUR)

yay -S nmlinkd

Pre-built binaries

See Releases for pre-built tarballs.

Requirements

  • Linux kernel with netlink support (any modern kernel)
  • D-Bus system bus
  • Root privileges (required for netlink socket and D-Bus system bus)

Conflicts with:

  • NetworkManager (cannot run simultaneously)

How it works

Linux Kernel → netlink → D-Bus → Desktop Environment

nmlinkd subscribes to kernel netlink events:

  • RTMGRP_LINK - interface up/down, flags
  • RTMGRP_IPV4_IFADDR / RTMGRP_IPV6_IFADDR - IP address changes
  • RTMGRP_IPV4_ROUTE / RTMGRP_IPV6_ROUTE - routing table changes

It translates these into NetworkManager D-Bus API signals and properties that desktop environments expect.

Limitations

  • Read-only: Cannot create or edit connections from Settings (network config lives in files/tools)
  • Wi-Fi shown as wired: Wi-Fi interfaces (e.g. managed by iwd) are visible but appear as ethernet devices. Wi-Fi-specific features (SSID, signal strength, access point scanning) are not implemented.

License

Copyright (C) 2026 subz69
Licensed under MIT

About

NetworkManager D-Bus bridge for netlink-based network stacks.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages