summary refs log tree commit diff
diff options
context:
space:
mode:
authorWORLDofPEACE <worldofpeace@protonmail.ch>2021-02-21 11:03:18 -0500
committerGitHub <noreply@github.com>2021-02-21 11:03:18 -0500
commit4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5 (patch)
tree95fc04e99df32a552f22025139c0f8c26beb5475
parentaed173ff9707387b238c1c7e143152ca9d8878e9 (diff)
parentda5401e02203b83a20d016b5d873c7bf54e7e84b (diff)
downloadnixpkgs-4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5.tar
nixpkgs-4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5.tar.gz
nixpkgs-4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5.tar.bz2
nixpkgs-4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5.tar.lz
nixpkgs-4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5.tar.xz
nixpkgs-4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5.tar.zst
nixpkgs-4287f5adfa8cc4be5031d1dcef1ac0cde47a7ae5.zip
Merge pull request #100569 from andersk/gdm-plymouth
nixos/gdm: Conflict plymouth-quit, but more carefully
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix12
1 files changed, 9 insertions, 3 deletions
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index e3c5adb9737..f79eb64b5a6 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/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";