aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix12
1 files changed, 9 insertions, 3 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix b/infra/libkookie/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
index e3c5adb9737f..f79eb64b5a6a 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
@@ -183,14 +183,20 @@ in
"systemd-udev-settle.service"
];
systemd.services.display-manager.conflicts = [
- "getty@tty${gdm.initialVT}.service"
- # TODO: Add "plymouth-quit.service" so GDM can control when plymouth quits.
- # Currently this breaks switching configurations while using plymouth.
+ "getty@tty${gdm.initialVT}.service"
+ "plymouth-quit.service"
];
systemd.services.display-manager.onFailure = [
"plymouth-quit.service"
];
+ # Prevent nixos-rebuild switch from bringing down the graphical
+ # session. (If multi-user.target wants plymouth-quit.service which
+ # conflicts display-manager.service, then when nixos-rebuild
+ # switch starts multi-user.target, display-manager.service is
+ # stopped so plymouth-quit.service can be started.)
+ systemd.services.plymouth-quit.wantedBy = lib.mkForce [];
+
systemd.services.display-manager.serviceConfig = {
# Restart = "always"; - already defined in xserver.nix
KillMode = "mixed";