{ config, lib, pkgs, ... }: let cfg = config.os.core.greet; in { options.os.core.greet.enable = lib.mkEnableOption "enables greetd daemon with tuigreet"; config = lib.mkIf cfg.enable { services.greetd = { enable = true; settings = { default_session = { user = "greeter"; command = '' ${pkgs.tuigreet}/bin/tuigreet \ --sessions ${config.services.displayManager.sessionData.desktops}/share/xsessions:${config.services.displayManager.sessionData.desktops}/share/wayland-sessions \ --remember \ --remember-user-session \ --asterisks \ --greeting 'Welcome to NixOS!' \ --time ''; }; }; }; security.pam.services.greetd.enableGnomeKeyring = true; environment.systemPackages = with pkgs; [ tuigreet ]; }; }