From 7658c90f216f923ebad675f90836370e31de1097 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 2 May 2019 16:19:59 +0000 Subject: nixos/xserver: improve DM error message when X off Previously, if you, for example, set services.xserver.displayManager.sddm.enable, but forgot to set services.xserver.enable, you would get an error message that looked like this: error: attribute 'display-manager' missing Which was not particularly helpful. Using assertions, we can make this message much better. --- nixos/modules/services/x11/display-managers/lightdm.nix | 5 +++++ nixos/modules/services/x11/display-managers/sddm.nix | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 3ab4f26399f3..afa0cebbc527 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -189,6 +189,11 @@ in config = mkIf cfg.enable { assertions = [ + { assertion = xcfg.enable; + message = '' + LightDM requires services.xserver.enable to be true + ''; + } { assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null; message = '' LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 05830e325d51..d1ed345ac579 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -195,6 +195,11 @@ in config = mkIf cfg.enable { assertions = [ + { assertion = xcfg.enable; + message = '' + SDDM requires services.xserver.enable to be true + ''; + } { assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null; message = '' SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set @@ -264,8 +269,8 @@ in }; environment.etc."sddm.conf".source = cfgFile; - environment.pathsToLink = [ - "/share/sddm" + environment.pathsToLink = [ + "/share/sddm" ]; users.groups.sddm.gid = config.ids.gids.sddm; -- cgit 1.4.1