{ lib, config, pkgs, flakeRoot, ... }: let username = config.defaultUser or "henrov"; # Path to greeter TOML greeterConfSrc = "${flakeRoot}/assets/traveldroid/conf/greeter.toml"; # Hyprland session binary hyprlandPath = "${pkgs.hyprland}/bin/Hyprland"; in { ############################## # Install tuigreet system-wide ############################## environment.systemPackages = [ pkgs.tuigreet ]; ################################# # System-wide greeter configuration ################################# environment.etc."greeter/greeter.toml".source = greeterConfSrc; ################################# # Greetd service ################################# services.greetd = { enable = true; settings = { # Declare available sessions sessions = { hyprland = { path = hyprlandPath; }; }; # Default session (must match a session above) default_session = { session = "hyprland"; }; # Greeter command (tuigreet) greeter = { command = "${pkgs.tuigreet}/bin/tuigreet --remember --time --time-format '%I:%M %p | %a • %h | %F'"; user = username; }; }; }; ################################# # Optional: Home Manager integration # Ensure user can see session in their environment ################################# _module.args.hmUsers = { ${username} = { # Expose the Hyprland session to the user home.sessionCommands = { hyprland = hyprlandPath; }; }; }; }