nixos/lightdm: improve systemd service
These improvements come from shopping around
at what other downstreams have done with their
systemd units and recent changes like [0] to gdm.
Note there's no requries or after on dbus.socket because
settings BusName will set this up automaticallly and
give it a type of dbus.
[0]: 2d57f45962
This commit is contained in:
parent
7e7a155a9c
commit
67ac11e072
@ -220,6 +220,42 @@ in
|
|||||||
exec ${lightdm}/sbin/lightdm
|
exec ${lightdm}/sbin/lightdm
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Replaces getty and plymouth quit since it quits plymouth on it's own.
|
||||||
|
systemd.services.display-manager.conflicts = [
|
||||||
|
"getty@tty7.service"
|
||||||
|
"plymouth-quit.service"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Pull in dependencies of services we replace.
|
||||||
|
systemd.services.display-manager.after = [
|
||||||
|
"rc-local.service"
|
||||||
|
"systemd-machined.service"
|
||||||
|
"systemd-user-sessions.service"
|
||||||
|
"getty@tty7.service"
|
||||||
|
"user.slice"
|
||||||
|
];
|
||||||
|
|
||||||
|
# user.slice needs to be present
|
||||||
|
systemd.services.display-manager.requires = [
|
||||||
|
"user.slice"
|
||||||
|
];
|
||||||
|
|
||||||
|
# lightdm stops plymouth so when it fails make sure plymouth stops.
|
||||||
|
systemd.services.display-manager.onFailure = [
|
||||||
|
"plymouth-quit.service"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.display-manager.serviceConfig = {
|
||||||
|
BusName = "org.freedesktop.DisplayManager";
|
||||||
|
IgnoreSIGPIPE = "no";
|
||||||
|
# This allows lightdm to pass the LUKS password through to PAM.
|
||||||
|
# login keyring is unlocked automatic when autologin is used.
|
||||||
|
KeyringMode = "shared";
|
||||||
|
KillMode = "mixed";
|
||||||
|
StandardError = "inherit";
|
||||||
|
StandardOutput = "syslog";
|
||||||
|
};
|
||||||
|
|
||||||
environment.etc."lightdm/lightdm.conf".source = lightdmConf;
|
environment.etc."lightdm/lightdm.conf".source = lightdmConf;
|
||||||
environment.etc."lightdm/users.conf".source = usersConf;
|
environment.etc."lightdm/users.conf".source = usersConf;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user