diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-05-02 16:19:59 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-05-02 16:19:59 +0000 |
commit | 7658c90f216f923ebad675f90836370e31de1097 (patch) | |
tree | 1f6d43900d24d206b729f651d7d7f54d7dd46f7b /nixos/modules/services | |
parent | 753e1e0babd1d22677f08ae59c9322cd63de24d5 (diff) | |
download | nixpkgs-7658c90f216f923ebad675f90836370e31de1097.tar nixpkgs-7658c90f216f923ebad675f90836370e31de1097.tar.gz nixpkgs-7658c90f216f923ebad675f90836370e31de1097.tar.bz2 nixpkgs-7658c90f216f923ebad675f90836370e31de1097.tar.lz nixpkgs-7658c90f216f923ebad675f90836370e31de1097.tar.xz nixpkgs-7658c90f216f923ebad675f90836370e31de1097.tar.zst nixpkgs-7658c90f216f923ebad675f90836370e31de1097.zip |
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.
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/x11/display-managers/lightdm.nix | 5 | ||||
-rw-r--r-- | nixos/modules/services/x11/display-managers/sddm.nix | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 3ab4f26399f..afa0cebbc52 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 05830e325d5..d1ed345ac57 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; |