diff options
author | Artturin <Artturin@artturin.com> | 2021-07-25 06:43:59 +0300 |
---|---|---|
committer | Artturin <Artturin@artturin.com> | 2021-11-16 23:30:27 +0200 |
commit | 670f5474b955ae020ee0d794a5a688a2918c6c47 (patch) | |
tree | 078e88008d17a331224a9aa80fd5fd7cdb9282d6 /nixos/modules/services/x11/xserver.nix | |
parent | 19b22191f7de3d172562f2fdcf1e9be21df23fef (diff) | |
download | nixpkgs-670f5474b955ae020ee0d794a5a688a2918c6c47.tar nixpkgs-670f5474b955ae020ee0d794a5a688a2918c6c47.tar.gz nixpkgs-670f5474b955ae020ee0d794a5a688a2918c6c47.tar.bz2 nixpkgs-670f5474b955ae020ee0d794a5a688a2918c6c47.tar.lz nixpkgs-670f5474b955ae020ee0d794a5a688a2918c6c47.tar.xz nixpkgs-670f5474b955ae020ee0d794a5a688a2918c6c47.tar.zst nixpkgs-670f5474b955ae020ee0d794a5a688a2918c6c47.zip |
nixos/{startx,xserver,sx}: make it possible to use both a gui dm
and startx at the same time without using lib.mkForce
Diffstat (limited to 'nixos/modules/services/x11/xserver.nix')
-rw-r--r-- | nixos/modules/services/x11/xserver.nix | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index cb620f10b13..24d92573442 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -588,11 +588,22 @@ in config = mkIf cfg.enable { services.xserver.displayManager.lightdm.enable = - let dmconf = cfg.displayManager; - default = !(dmconf.gdm.enable - || dmconf.sddm.enable - || dmconf.xpra.enable ); - in mkIf (default) true; + let dmConf = cfg.displayManager; + default = !(dmConf.gdm.enable + || dmConf.sddm.enable + || dmConf.xpra.enable + || dmConf.sx.enable + || dmConf.startx.enable); + in mkIf (default) (mkDefault true); + + # so that the service won't be enabled when only startx is used + systemd.services.display-manager.enable = + let dmConf = cfg.displayManager; + noDmUsed = !(dmConf.gdm.enable + || dmConf.sddm.enable + || dmConf.xpra.enable + || dmConf.lightdm.enable); + in mkIf (noDmUsed) (mkDefault false); hardware.opengl.enable = mkDefault true; @@ -702,7 +713,8 @@ in rm -f /tmp/.X0-lock ''; - script = "${cfg.displayManager.job.execCmd}"; + # TODO: move declaring the systemd service to its own mkIf + script = mkIf (config.systemd.services.display-manager.enable == true) "${cfg.displayManager.job.execCmd}"; # Stop restarting if the display manager stops (crashes) 2 times # in one minute. Starting X typically takes 3-4s. |