{ config, lib, pkgs, ... }: with lib; let dmcfg = config.services.xserver.displayManager; cfg = dmcfg.auto; in { ###### interface options = { services.xserver.displayManager.auto = { enable = mkOption { default = false; description = '' Whether to enable the fake "auto" display manager, which automatically logs in the user specified in the option. This is mostly useful for automated tests. ''; }; user = mkOption { default = "root"; description = "The user account to login automatically."; }; }; }; ###### implementation config = mkIf cfg.enable { services.xserver.displayManager.slim = { enable = true; autoLogin = true; defaultUser = cfg.user; }; }; }