From ed9998cf2a5ebb181ee604d2f0a2b0c64718c082 Mon Sep 17 00:00:00 2001 From: colin Date: Wed, 2 Nov 2022 03:31:52 -0700 Subject: [PATCH] nixos/lightdm: add `greeters.mobile` config option i based this on the neighboring lightdm-greeters/mini.nix module. lightdm-mobile-greeter doesn't have a lot of configuration options. it grabs the default user to login as from lightdm, along with which DE it should launch. so no further configuration should be needed aside from enabling `services.xserver.displayManager.lightdm.enable` and either setting `services.xserver.displayManager.defaultSession` to the appropriate session or explicitly defining a seat like: ```nix services.xserver.displayManager.lightdm.extraSeatDefaults = '' user-session = phosh ''; ``` --- .../lightdm-greeters/mobile.nix | 26 +++++++++++++++++++ .../services/x11/display-managers/lightdm.nix | 1 + 2 files changed, 27 insertions(+) create mode 100644 nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix new file mode 100644 index 000000000000..31cc9b3deaa1 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + dmcfg = config.services.xserver.displayManager; + ldmcfg = dmcfg.lightdm; + cfg = ldmcfg.greeters.mobile; +in +{ + options = { + services.xserver.displayManager.lightdm.greeters.mobile = { + enable = mkEnableOption (lib.mdDoc + "lightdm-mobile-greeter as the lightdm greeter" + ); + }; + }; + + config = mkIf (ldmcfg.enable && cfg.enable) { + services.xserver.displayManager.lightdm.greeters.gtk.enable = false; + + services.xserver.displayManager.lightdm.greeter = mkDefault { + package = pkgs.lightdm-mobile-greeter.xgreeters; + name = "lightdm-mobile-greeter"; + }; + }; +} diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index b0508c3b4f79..f74e8efb8f64 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -83,6 +83,7 @@ in ./lightdm-greeters/pantheon.nix ./lightdm-greeters/tiny.nix ./lightdm-greeters/slick.nix + ./lightdm-greeters/mobile.nix (mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] [ "services" "xserver"