Merge pull request #45107 from mnacamura/lightdm-accountsservice

lightdm: enable the accounts daemon to find dbus interface

Changed files
+13 -4
nixos
modules
services
desktops
x11
display-managers
+8 -2
nixos/modules/services/desktops/accountsservice.nix
···
environment.systemPackages = [ pkgs.accountsservice ];
+
# Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice
+
environment.pathsToLink = [ "/share/accountsservice" ];
+
services.dbus.packages = [ pkgs.accountsservice ];
systemd.packages = [ pkgs.accountsservice ];
-
systemd.services.accounts-daemon= {
+
systemd.services.accounts-daemon = {
wantedBy = [ "graphical.target" ];
-
} // (mkIf (!config.users.mutableUsers) {
+
# Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice
+
environment.XDG_DATA_DIRS = "${config.system.path}/share";
+
+
} // (optionalAttrs (!config.users.mutableUsers) {
environment.NIXOS_USERS_PURE = "true";
});
};
+5 -2
nixos/modules/services/x11/display-managers/lightdm.nix
···
inherit (pkgs) lightdm writeScript writeText;
-
# lightdm runs with clearenv(), but we need a few things in the enviornment for X to startup
+
# lightdm runs with clearenv(), but we need a few things in the environment for X to startup
xserverWrapper = writeScript "xserver-wrapper"
''
#! ${pkgs.bash}/bin/bash
···
services.dbus.enable = true;
services.dbus.packages = [ lightdm ];
-
# lightdm uses the accounts daemon to rember language/window-manager per user
+
# lightdm uses the accounts daemon to remember language/window-manager per user
services.accounts-daemon.enable = true;
+
+
# Enable the accounts daemon to find lightdm's dbus interface
+
environment.systemPackages = [ lightdm ];
security.pam.services.lightdm = {
allowNullPassword = true;