1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8let 9 10 dmcfg = config.services.displayManager; 11 ldmcfg = config.services.xserver.displayManager.lightdm; 12 cfg = ldmcfg.greeters.lomiri; 13 14in 15{ 16 meta.maintainers = lib.teams.lomiri.members; 17 18 options = { 19 services.xserver.displayManager.lightdm.greeters.lomiri = { 20 enable = lib.mkEnableOption "lomiri's greeter as the lightdm greeter"; 21 }; 22 }; 23 24 config = lib.mkIf (ldmcfg.enable && cfg.enable) { 25 # Lomiri greeter == Lomiri shell in special mode, need some basics setup at least 26 services.desktopManager.lomiri.basics = true; 27 28 services.xserver.displayManager.lightdm.greeters.gtk.enable = false; 29 30 services.xserver.displayManager.lightdm.greeter = lib.mkDefault { 31 package = pkgs.lomiri.lomiri.greeter; 32 name = "lomiri-greeter"; 33 }; 34 35 # Greeter needs to be run through its wrapper 36 # Greeter doesn't work with our set-session.py script, need to set default user-session 37 services.xserver.displayManager.lightdm.extraSeatDefaults = '' 38 greeter-wrapper = ${lib.getExe' pkgs.lomiri.lomiri "lomiri-greeter-wrapper"} 39 user-session = ${dmcfg.defaultSession} 40 ''; 41 }; 42}