diff --git a/modules/programs/default.nix b/modules/programs/default.nix index 8ca54f03..2ead9426 100644 --- a/modules/programs/default.nix +++ b/modules/programs/default.nix @@ -223,6 +223,13 @@ let acts as noop for root-enabled packages. see `sane.users..services` for options; ''; + apply = lib.mapAttrs (svcName: svcCfg: + # make every service whose program wants a dbus session actually depend on the dbus service, + # to ensure ordering + svcCfg // lib.optionalAttrs (svcName != "dbus" && builtins.elem "user" config.sandbox.whitelistDbus) { + depends = [ "dbus" ]; + } + ); }; buildCost = mkOption { type = types.enum [ 0 1 2 3 ];