59 lines
1.5 KiB
Nix
59 lines
1.5 KiB
Nix
{ 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;
|
|
};
|
|
};
|
|
};
|
|
}
|