From d2c949d725459d0dc2160f910b28cd2625c1d552 Mon Sep 17 00:00:00 2001 From: Arian van Putten Date: Sun, 18 Jan 2026 22:48:32 +0100 Subject: [PATCH] nixos/dbus: switch default implementation to dbus-broker dbus-broker provides higher performance and reliability compared to the classic dbus-daemon. The prerequisite PR #477800 has been merged, making this switch safe. Note that services.dbus.implementation is a switch inhibitor: changing the D-Bus implementation between generations requires a reboot rather than nixos-rebuild switch, since restarting D-Bus mid-session is unsafe. Fixes #299476 --- nixos/doc/manual/release-notes/rl-2605.section.md | 9 +++++++++ nixos/modules/services/system/dbus.nix | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index f883372fd450..edc589c2193e 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -42,6 +42,15 @@ - The default kernel package has been updated from 6.12 to 6.18. All supported kernels remain available. +- The default D-Bus implementation has been switched from `dbus` to `dbus-broker`. dbus-broker provides + higher performance and reliability while maintaining compatibility with the D-Bus reference implementation. + + Note that changing `services.dbus.implementation` is a **switch inhibitor**: switching between + implementations requires a reboot rather than just `nixos-rebuild switch`, because restarting D-Bus + mid-session is unsafe. + + Users who wish to keep the classic daemon can set: `services.dbus.implementation = "dbus";` + ## New Modules {#sec-release-26.05-new-modules} diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index 8cb03b08c2f6..3e4b4ecd1530 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -68,7 +68,7 @@ in "dbus" "broker" ]; - default = "dbus"; + default = "broker"; description = '' The implementation to use for the message bus defined by the D-Bus specification. Can be either the classic dbus daemon or dbus-broker, which aims to provide high