From 5caa22fe0a908ede1889d32fa773b9aef675a56e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 17 Mar 2018 20:34:10 +0100 Subject: [PATCH] Revert restrictive validation behavior for DM/WM defaults in the X module The original idea behind this change (described in ticket #11064) was to improve the assertions to avoid that users of the X server accidentally forget to configure a DM or WM. However this caused several issues with setups that require X, but no DM or WM. The keymap testcases became instable as well as now disabling DMs needs to be done explicitly. (see https://github.com/NixOS/nixpkgs/pull/31268#issuecomment-347080036) In the end the idea behind the change and #11064 was obviously a mistake, so reverting it completely for now should be fine. --- nixos/doc/manual/release-notes/rl-1803.xml | 9 --------- .../services/x11/desktop-managers/default.nix | 6 +++--- .../services/x11/window-managers/default.nix | 4 +--- nixos/modules/services/x11/xserver.nix | 14 -------------- 4 files changed, 4 insertions(+), 29 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml index 60c17c60413..67e04220681 100644 --- a/nixos/doc/manual/release-notes/rl-1803.xml +++ b/nixos/doc/manual/release-notes/rl-1803.xml @@ -418,15 +418,6 @@ following incompatible changes: have been added to set up static routing. - - - The option is now - none by default. An assertion failure is thrown if WM's - and DM's default are none. - To explicitly run a plain X session without and DM or WM, the newly - introduced option must be set to true. - - The option is now 127.0.0.1 by default. diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 4622c7b760f..f435e85f6b8 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -87,11 +87,11 @@ in default = mkOption { type = types.str; - default = "none"; - example = "plasma5"; + default = ""; + example = "none"; description = "Default desktop manager loaded if none have been chosen."; apply = defaultDM: - if defaultDM == "none" && cfg.session.list != [] then + if defaultDM == "" && cfg.session.list != [] then (head cfg.session.list).name else if any (w: w.name == defaultDM) cfg.session.list then defaultDM diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index bc420831ad8..e617e55a7a5 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -62,9 +62,7 @@ in example = "wmii"; description = "Default window manager loaded if none have been chosen."; apply = defaultWM: - if defaultWM == "none" && cfg.session != [] then - (head cfg.session).name - else if any (w: w.name == defaultWM) cfg.session then + if any (w: w.name == defaultWM) cfg.session then defaultWM else throw "Default window manager (${defaultWM}) not found."; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index f96d3c5afba..e7918cf9d31 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -161,15 +161,6 @@ in ''; }; - plainX = mkOption { - type = types.bool; - default = false; - description = '' - Whether the X11 session can be plain (without DM/WM) and - the Xsession script will be used as fallback or not. - ''; - }; - autorun = mkOption { type = types.bool; default = true; @@ -561,11 +552,6 @@ in + "${toString (length primaryHeads)} heads set to primary: " + concatMapStringsSep ", " (x: x.output) primaryHeads; }) - { assertion = cfg.desktopManager.default == "none" && cfg.windowManager.default == "none" -> cfg.plainX; - message = "Either the desktop manager or the window manager shouldn't be `none`! " - + "To explicitly allow this, you can also set `services.xserver.plainX` to `true`. " - + "The `default` value looks for enabled WMs/DMs and select the first one."; - } ]; environment.etc =